cuGraph - RAPIDS GPU 图形分析
项目描述
RAPIDS cuGraph 是一个单仓,代表了一组聚焦于GPU加速图形分析的软件包,包括对属性图、远程(图形作为服务)操作和图神经网络(GNN)的支持。cuGraph 支持创建和操作图,随后执行可扩展的快速图形算法。
获取 cuGraph * 图形算法 * 图形服务 * 属性图 * GNN 支持
新闻
新功能! nx-cugraph,一个NetworkX后端,通过零代码更改提供对NetworkX的GPU加速。
> pip install nx-cugraph-cu11 --extra-index-url https://pypi.nvidia.com
> export NETWORKX_AUTOMATIC_BACKENDS=cugraph
这就完成了。现在,NetworkX 利用 cuGraph 来加速图形算法。
目录
- 安装
- 通用
- 软件包
- API文档
- 参考资料
RAPIDS cuGraph是一组GPU加速的图算法和服务。在Python层,cuGraph在GPU DataFrames上运行,从而允许在cuDF中的ETL任务和cuML中的机器学习任务之间无缝传递数据。熟悉Python的数据科学家可以快速掌握cuGraph如何与cuDF类似Pandas的API集成。同样,熟悉NetworkX的用户会迅速识别cuGraph中提供的类似NetworkX的API,目标是为了允许以最小的努力将现有代码移植到RAPIDS中。为了简化集成,cuGraph还支持Pandas DataFrame、NetworkX图对象和其他几种格式中的数据。
虽然高层次的cugraph python API为数据科学家提供了一个易于使用且熟悉的界面,与他们在RAPIDS库中的工作流程保持一致,但某些用例需要访问更底层的图论概念。对于这些用户,我们提供了一个额外的Python API,名为pylibcugraph,它旨在用于需要与cuGraph在Python层更紧密集成的应用程序,具有更少的依赖。熟悉C/C++/CUDA和图结构的用户可以访问libcugraph和libcugraph_c,在Python之外进行低级别集成。
注意:对于最新稳定的README.md,请确保您在最新分支上。
以下Python代码示例加载图数据并计算PageRank
import cudf
import cugraph
# read data into a cuDF DataFrame using read_csv
gdf = cudf.read_csv("graph_data.csv", names=["src", "dst"], dtype=["int32", "int32"])
# We now have data as edge pairs
# create a Graph using the source (src) and destination (dst) vertex pairs
G = cugraph.Graph()
G.from_cudf_edgelist(gdf, source='src', destination='dst')
# Let's now get the PageRank score of each vertex by calling cugraph.pagerank
df_page = cugraph.pagerank(G)
# Let's look at the top 10 PageRank Score
df_page.sort_values('pagerank', ascending=False).head(10)
使用cuGraph的项目
(按字母顺序排列)
- ArangoDB - 一个免费和开源的本地多模型数据库系统 - https://www.arangodb.com/
- CuPy - “与NumPy/SciPy兼容的用于GPU加速计算的Python数组库” - https://cupy.dev/
- Memgraph - 内存图数据库 - https://memgraph.com/
- NetworkX(通过nx-cugraph后端) - 一个非常受欢迎的、免费和开源的软件包,用于创建、操作和研究复杂网络的结构、动态和功能 - https://networkx.org/
- PyGraphistry - 免费的GPU图ETL、AI和可视化,包括原生的RAPIDS和cuGraph支持 - http://github.com/graphistry/pygraphistry
- ScanPy - 一个用于分析单细胞基因表达数据的可扩展工具包 - https://scanpy.readthedocs.io/en/stable/
(如果您想将项目添加到这个列表中,请提交一个问题)
开源GPU数据科学
RAPIDS开源软件库系列旨在使整个数据科学和数据分析管道在GPU上执行成为可能。它依赖于NVIDIA® CUDA®原语进行低级计算优化,并通过用户友好的Python接口公开GPU并行性和高带宽内存速度。
有关更多项目详细信息,请参阅rapids.ai。
GPU上的Apache Arrow
Apache Arrow的GPU版本是一个通用的API,它允许在GPU上运行的进程之间高效地交换表格数据。在GPU上进行的端到端计算避免了在GPU上不必要的复制和转换数据,从而减少了高性能分析的计算时间和成本,这在人工智能工作负载中很常见。正如其名所示,cuDF在GPU上使用Apache Arrow列式数据格式。目前,Apache Arrow功能的一个子集得到了支持。
项目详情
cugraph_cu11-24.8.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5999da49f33a7b6fc736fbca2372f5fdc573bdde9984bf08a3275ce807b3fe11 |
|
MD5 | 35ffec7c9d67824d769abea787106697 |
|
BLAKE2b-256 | 0098f041ac019e63d9c2fa65e708b5de27d0a9f0d57e4a8b084a8d181ac46e7f |