我有以下问题:
我有一个使用纹理的 CUDA 代码,例如:
texture<unsigned char, 2, cudaReadModeElementType> text;
unsigned char a = tex2D(text, cx + lx, cy);
所以当我使用 DPCT 时,我有这个输出:
/*
DPCT1059:12: SYCL only supports 4-channel image format. Adjust the code.
*/
dpct::image_wrapper<unsigned char, 2> text;
所以,我用这个改变了声明:
dpct::image_wrapper<sycl::uchar4, 2> text;
我的问题是我不知道如何在阅读时创建等价物。我有这个:
sycl::uchar4 a = text.read(cx + lx, cy);
但我不知道如何在我的 DPC 代码中从 CUDA 获取相同的无符号字符。我必须修改读取的索引吗?我真的迷路了。
非常感谢您!