【问题标题】:cuGraph on Multi-GPU多 GPU 上的 cuGraph
【发布时间】:2021-05-27 15:56:55
【问题描述】:

最近在看cuGraph的代码。我注意到有人提到 Louvain 和 Katz 算法支持多 GPU。但是,当我阅读Louvain 的C++ 代码时,我找不到与多GPU 相关的代码。具体来说,根据之前的post,调用cudaSetDevice可以实现多GPU。但是,我在 Louvain 的代码中找不到这个函数。我错过了什么吗?

【问题讨论】:

  • cuGraph 目前正在开发更好的多 GPU C++ API。这应该会在几个月后发布(22.02 或 22.04 版本)。在那之前,看看连接组件的多 GPU 测试,您可以轻松地将调用的函数的名称更改为 Louvain。 github.com/rapidsai/cugraph/blob/branch-21.12/cpp/tests/…

标签: cuda multi-gpu rapids


【解决方案1】:

cuGraph 利用 Dask 支持多 GPU。我鼓励您阅读 Dask cuGraph documentation,其中显示了使用 PageRank 的示例。

对于 Louvain 示例,我建议查看 cugraph.dask.louvain 函数的文档字符串。

为了完整起见,cuGraph 使用 RAFT 来管理底层 NCCL 和 UCX 通信。

【讨论】:

  • 看来 Dask 是在 Python 中的。但是我提供的链接中的代码是 C++ 的。
  • 既然您已经在查看 cuGraph 代码库,我鼓励您查看 python 命名空间中的 dask 组件。您将看到 Dask 最终将通信委托给 RAFT,由其处理。
猜你喜欢
  • 2022-09-28
  • 1970-01-01
  • 2021-02-10
  • 2013-01-22
  • 1970-01-01
  • 2018-11-30
  • 1970-01-01
  • 1970-01-01
  • 2017-08-30
相关资源
最近更新 更多