【发布时间】:2011-01-16 08:14:12
【问题描述】:
我在一台具有四个核心的 cpu 的机器上运行 cuda 程序,如何更改 cuda c 程序以使用所有四个核心和所有可用的 gpu?
我的意思是我的程序在 gpus 上计算之前也在主机端做一些事情......
谢谢!
【问题讨论】:
-
您可能需要重新表述您的问题。这没有多大意义。
标签: c cuda scientific-computing nvidia
我在一台具有四个核心的 cpu 的机器上运行 cuda 程序,如何更改 cuda c 程序以使用所有四个核心和所有可用的 gpu?
我的意思是我的程序在 gpus 上计算之前也在主机端做一些事情......
谢谢!
【问题讨论】:
标签: c cuda scientific-computing nvidia
CUDA 不打算这样做。 CUDA 的目的是提供对 GPU 的访问以进行并行处理。它不会使用您的 CPU 内核。
来自What is CUDA? 页面:
CUDA 是 NVIDIA 的并行计算架构,可通过利用 GPU(图形处理单元)的强大功能显着提高计算性能。
这应该通过更传统的多线程技术来处理。
【讨论】:
cuda 代码仅在 GPU 上运行。 因此,如果您想要 CPU 内核上的并行性,则需要使用 Pthreads 或 OpenMP 等线程。
【讨论】:
将您的程序转换为 OpenCL :-)
【讨论】: