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