看来我不了解 CUDA 的一些基本内容。我正在使用 C++ GUI 应用程序在双 GPU 卡上启动一些内核。当我启动主机进程时,没有列出任何进程nvidia-smi
。这是意料之中的,因为主机进程一直等到我单击按钮才使用 CUDA 并启动内核。如果我按下按钮,两个内核在两个 GPU 上运行良好,退出并返回预期结果。然后主机进程被 列出两次nvidia-smi
,每个 GPU 一次。nvidia-smi
在我退出主机进程之前,这两个进程都是可见的。
我有点困惑,因为没有cudaOpen()
orcudaClose()
函数(或类似的函数对)之类的东西。
哪个 CUDA API 调用导致进程被列出nvidia-smi
?哪个 CUDA API 调用会导致进程从列表中删除?