1

我有一个令人尴尬的并行应用程序。是否可以启动多个 CPU 线程以便一个线程管理一个 GPU?如果可以,我应该在 CPU 端使用什么线程库?OpenMP?Pthreads?

4

1 回答 1

3

这是可能的,但自从 Cuda 4.0 发布以来,就没有必要了。Cuda API 现在是线程安全的,因此您可以使用单个主机线程异步管理多个设备。

如果您真的想使用多个主机线程,几乎任何主机库都可以。我已经在 Linux 和 OS X 上成功使用了 pthreads、boost::thread 和 Apple 与 Cuda 的大型中央调度。

于 2012-08-06T16:09:55.443 回答