本文整理汇总了C++中cl::CommandQueue::enqueueCopyBuffer方法的典型用法代码示例。如果您正苦于以下问题:C++ CommandQueue::enqueueCopyBuffer方法的具体用法?C++ CommandQueue::enqueueCopyBuffer怎么用?C++ CommandQueue::enqueueCopyBuffer使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cl::CommandQueue
的用法示例。
在下文中一共展示了CommandQueue::enqueueCopyBuffer方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: sizeof
template <typename F> void GpuFFTPlanCl<F>::doExecute (const cl::CommandQueue& queue, const cl::Buffer& input, csize_t inputOffset, const cl::Buffer& output, csize_t outputOffset, bool doForward) const {
if (supportNonZeroOffsets) {
if (inputOffset != 0 || outputOffset != 0) {
queue.enqueueCopyBuffer (input, tmp.getDataWritable (), (inputOffset * sizeof (std::complex<F>)) (), 0, (csize_t (sizeof (std::complex<F>)) * this->batchSize ()).value ());
doExecute (queue, tmp.getDataWritable (), 0, tmp.getDataWritable (), 0, doForward);
queue.enqueueCopyBuffer (tmp.getData (), output, 0, (outputOffset * sizeof (std::complex<F>)) (), (csize_t (sizeof (std::complex<F>)) * this->batchSize ()).value ());
return;
}
} else {
ASSERT_MSG (inputOffset == 0, "not implemented");
ASSERT_MSG (outputOffset == 0, "not implemented");
}
if (this->size () == 0)
return;
if (this->size () == 1) {
if (input () != output ())
queue.enqueueCopyBuffer (input, output, 0, 0, (csize_t (sizeof (std::complex<F>)) * this->batchCount ()).value ());
return;
}
cl::detail::errHandler (VAL(ExecuteInterleaved) (queue (), static_cast<TY(Plan)> (plan), Core::checked_cast<int> (this->batchCount ()), doForward ? VAL(Forward) : VAL(Inverse), input (), output (), 0, NULL, NULL), VAL(ExecuteInterleavedStr));
}