我在具有四个内核的 cpu 的机器上运行 cuda 程序,如何更改 cuda c 程序以使用所有四个内核和所有可用的 gpu?
我的意思是我的程序在 gpus 上计算之前也在主机端做一些事情......
谢谢!
我在具有四个内核的 cpu 的机器上运行 cuda 程序,如何更改 cuda c 程序以使用所有四个内核和所有可用的 gpu?
我的意思是我的程序在 gpus 上计算之前也在主机端做一些事情......
谢谢!
CUDA 不打算这样做。CUDA 的目的是提供对GPU的访问以进行并行处理。它不会使用您的 CPU 内核。
来自什么是 CUDA?页:
CUDA 是 NVIDIA 的并行计算架构,可通过利用 GPU(图形处理单元)的强大功能显着提高计算性能。
这应该通过更传统的多线程技术来处理。
cuda 代码仅在 GPU 上运行。因此,如果您想要 CPU 内核上的并行性,则需要使用 Pthreads 或 OpenMP 等线程。
将您的程序转换为 OpenCL :-)