如何在给定的GPU上执行CUDA内核?

时间:2014-11-10 18:17:57

标签: cuda

我的机器上有两张NVIDIA显卡。我想在其中一个上执行CUDA内核(例如,在第二个上)。唉,在教程中我没有找到内存分配和内核执行的设备选择,就像OpenCL一样。

难道你不能告诉我,我如何选择视频设备执行内核并分配内存?

1 个答案:

答案 0 :(得分:1)

这可能就是你要找的东西:

cudaError_t cudaSetDevice (int device)  

链接到NVIDIA API文档:

http://developer.download.nvidia.com/compute/cuda/4_1/rel/toolkit/docs/online/group__CUDART__DEVICE_g418c299b069c4803bfb7cab4943da383.html

从以上链接引用:

  

随后使用cudaMalloc(),cudaMallocPitch()或cudaMallocArray()从此主机线程分配的任何设备内存将物理驻留在设备上。使用cudaMallocHost()或cudaHostAlloc()或cudaHostRegister()从此主机线程分配的任何主机内存都将使其生命周期与设备相关联。从此主机线程创建的任何流或事件都将与设备关联。使用<<<>>>从此主机线程启动的任何内核operator或cudaLaunch()将在设备上执行。