【发布时间】:2011-10-06 10:50:55
【问题描述】:
我正在尝试跨两个 gpus 运行 pycuda 程序。我读过 Talonmies 的一篇很棒的文章,解释了你如何使用线程库来做这件事,文章还提到 mpi4py 可以做到这一点。
当我用 pycuda 运行 mpi4py 时,程序给出了错误: self.ctx = driver.Device(gpuid).max_context pycuda._driver.logicError: cuDeviceGet failed: not initialized
这可能是因为我试图同时初始化两个 gpu 设备。有没有人有一个非常简短的例子来说明我们如何让 2 gpus 与 mpi4py 一起工作?
【问题讨论】:
-
“同时初始化两个gpu设备”是什么意思?使用 mpi4py,多 GPU 模型非常简单:让通信器中的每个等级选择一个唯一的 GPU 并在该卡上建立一个上下文。您可以让一个等级确定通信器的每个成员的 GPU 并广播,或者只从进程等级中获取 GPU ID。你能发布失败的代码吗?
-
+1 - 请问有人对此有什么建议吗!?
-
maldun.lima-city.de/introduction_to_python/… - 除了代码不成功...
标签: python cuda mpi gpu pycuda