【问题标题】:Getting Pycuda to work with Mpi4py on 2 gpus [closed]让 Pycuda 在 2 gpus 上使用 Mpi4py [关闭]
【发布时间】: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 - 请问有人对此有什么建议吗!?

标签: python cuda mpi gpu pycuda


【解决方案1】:

对于遇到这个问题的任何人,here 是一个有效的 mpi4py+pycuda 示例。

【讨论】:

    猜你喜欢
    • 2016-09-19
    • 2013-12-04
    • 1970-01-01
    • 1970-01-01
    • 2014-10-27
    • 1970-01-01
    • 2013-02-04
    • 2021-09-21
    • 2019-10-04
    相关资源
    最近更新 更多