nx-cugraph#
nx-cugraph
是一个 NetworkX 后端,为许多常用的 NetworkX 算法提供 GPU 加速。
只需 安装并启用 nx-cugraph,用户就可以在其工作流中获得显著的加速,尤其是在性能受到默认 NetworkX 实现限制的情况下。
用户无需更改他们熟悉且易于使用的 NetworkX 代码,即可获得基于 GPU 的大规模性能。
运行以下代码片段(名为 demo.ipy
,展示了 NetworkX 使用与未使用 nx-cugraph
的对比)的计时结果
import pandas as pd
import networkx as nx
url = "https://data.rapids.ai/cugraph/datasets/cit-Patents.csv"
df = pd.read_csv(url, sep=" ", names=["src", "dst"], dtype="int32")
G = nx.from_pandas_edgelist(df, source="src", target="dst")
%time result = nx.betweenness_centrality(G, k=10)
user@machine:/# ipython demo.ipy
CPU times: user 7min 36s, sys: 5.22 s, total: 7min 41s
Wall time: 7min 41s
user@machine:/# NX_CUGRAPH_AUTOCONFIG=True ipython demo.ipy
CPU times: user 4.14 s, sys: 1.13 s, total: 5.27 s
Wall time: 5.32 s

在 Google Colab 上试试!#
零代码改动加速 只需设置环境变量 |
在 CPU 或 GPU 上运行相同的代码 从 CPU 切换到 GPU 时,没有任何变化,甚至 |
nx-cugraph
现已作为 RAPIDS
包的一部分正式发布 (GA)。请参阅 RAPIDS 快速入门 以开始使用 nx-cugraph
。