api - 如何将 Npp8u * 转换为 CUdeviceptr

标签 api cuda driver npp

我是cuda驱动Api接口(interface)的新手,但我认为CUdeviceptr看起来像一个句柄参数。所以我对CUdeviceptr和npp8u *之间的转换感到困惑。

Npp8u * src;
......
unsigned char temp;
temp = src;
CUdeviceptr devPtr;
.......
devPtr = (CUdeviceptr)temp;

我尝试像上面那样编写转换,对吗!

最佳答案

cuDevicePtr 实际上是一个原始指针,而不是句柄。你可以看CUDA驱动和驱动API的原始架构师讨论这个here (并在此过程中对我进行教育)。因此,如果您有现有的“类型化”设备指针,则可以安全地将其强制转换为 cuDevicePtr,反之亦然,例如:

cuDevicePtr m;
cuMemAlloc(&m, size);

Npp8U* p = (Npp8U*)(m);
// Pass p to NPP library functions...

是合法的并且应该有效。

关于api - 如何将 Npp8u * 转换为 CUdeviceptr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23813275/

相关文章:

c - 为 Pro Micro 编写 Windows 驱动程序

driver - 我可以在不禁用驱动程序签名的情况下安装带有测试证书的 x64 驱动程序吗?

Linux PCIe 驱动程序 : What to use for private data structure?

image - CUDA 图像旋转

cuda - CUDA 的 __syncthreads() 和 blockIdx.x 的 OpenCL 模拟是什么?

cuda - 在cuda Thrust中排序

java - https ://graph. facebook.com/v2.10/me/photos?access_token=xxxxxx 返回错误

api - 如何使用YouTube数据API

security - 有计费系统经验

java - 如何应用过滤器从 data.gov.in api 获取指定数据?