cuGraph - RAPIDS GPU 图分析
项目描述
RAPIDS cuGraph是一个单仓库,代表了一组专注于GPU加速图分析的软件包,包括对属性图、远程(图即服务)操作和图神经网络(GNN)的支持。cuGraph支持图的创建和操作,然后执行可扩展的快速图算法。
新闻
新功能! nx-cugraph,一个为NetworkX提供零代码更改GPU加速的后端。
> pip install nx-cugraph-cu11 --extra-index-url https://pypi.nvidia.com
> export NETWORKX_AUTOMATIC_BACKENDS=cugraph
这就是全部。现在NetworkX利用cuGraph进行加速图算法。
目录
- 安装
- 通用
- 软件包
- API文档
- Python
- C++
- 参考
RAPIDS cuGraph 是一套GPU加速的图算法和服务集合。在Python层,cuGraph在GPU DataFrames上运行,从而允许在cuDF中的ETL任务和cuML中的机器学习任务之间无缝传递数据。熟悉Python的数据科学家可以快速掌握cuGraph如何与cuDF类似Pandas的API集成。同样,熟悉NetworkX的用户可以迅速识别cuGraph中提供的类似NetworkX的API,旨在使现有代码以最小的努力移植到RAPIDS中。为了简化集成,cuGraph还支持在Pandas DataFrame、NetworkX Graph Objects和其他几种格式中找到的数据。
虽然cugraph Python API为数据科学家提供了一个易于使用且熟悉的接口,与其他RAPIDS库在他们的工作流程中保持一致,但某些用例需要访问底层图论概念。对于这些用户,我们提供了一个额外的Python API,称为pylibcugraph,旨在用于需要与cuGraph在Python层紧密集成的应用程序,具有更少的依赖。熟悉C/C++/CUDA和图结构的用户可以通过libcugraph和libcugraph_c访问低级集成。
注意:要确保您位于最新的分支,请查看最新的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。
Apache Arrow on GPU
Apache Arrow的GPU版本是一个公共API,它使得在GPU上运行的过程之间高效交换表格数据。在GPU上进行的端到端计算避免了将数据从GPU上复制和转换的必要性,减少了人工智能工作负载中常见的高性能分析的计算时间和成本。正如其名所示,cuDF在GPU上使用Apache Arrow列式数据格式。目前,支持Apache Arrow的某些功能。
项目详情
cugraph_cu12-24.8.0.tar.gz的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 8f33183eca22882923bbb76a8867b12590865584eb59cee056316f317bca3893 |
|
MD5 | a2c8223c24ff828aec71822c10dc162b |
|
BLAKE2b-256 | ebafa7bc010ee2debcec62356efed9bd3aabc87fd8f0a513bdef6bbd9e554946 |