-2

我在具有四个内核的 cpu 的机器上运行 cuda 程序,如何更改 cuda c 程序以使用所有四个内核和所有可用的 gpu?

我的意思是我的程序在 gpus 上计算之前也在主机端做一些事情......

谢谢!

4

3 回答 3

7

CUDA 不打算这样做。CUDA 的目的是提供对GPU的访问以进行并行处理。它不会使用您的 CPU 内核。

来自什么是 CUDA?页:

CUDA 是 NVIDIA 的并行计算架构,可通过利用 GPU(图形处理单元)的强大功能显着提高计算性能。

这应该通过更传统的多线程技术来处理。

于 2010-02-12T21:16:12.117 回答
2

cuda 代码仅在 GPU 上运行。因此,如果您想要 CPU 内核上的并行性,则需要使用 Pthreads 或 OpenMP 等线程。

于 2010-02-14T18:12:00.370 回答
1

将您的程序转换为 OpenCL :-)

于 2010-02-15T19:29:01.840 回答