【发布时间】:2019-12-29 19:48:15
【问题描述】:
我想在父进程中调用 cudaGetDeviceCount(&N),然后创建 N 子进程,每个 GPU 找到一个,并向每个进程(通过命令行)传递一个唯一的 GPU 编号,这样就可以有效地一个(也是唯一一个)处理每个 GPU 的进程。我计划在每个进程中调用cudaSetDevice(i),并从命令行接收i。
但是,我有一个疑问,例如一个进程中的 GPU #3 可能是另一个进程中的 GPU #4,而后一个进程中的 GPU #3 与前一个进程中的 GPU #1 完全不同,等等。
您知道 GPU 编号在整个系统中是否一致?还是每个进程通常都会收到自己的 GPU 排列?
【问题讨论】:
-
他们在同一台机器上吗?
-
@Oblivion,当然,这些进程在同一台机器上。只是有多个 GPU。这是亚马逊的
p3.16xlarge实例。 -
@RobertCrovella 你介意我编辑你对我的答案的评论,或者你给出一个答案然后我删除我的吗?
-
@RobertCrovella 谢谢。完成
标签: c api cuda multiprocessing gpgpu