pylibcugraph - Python绑定libcugraph cuGraph C/C++/CUDA库
项目描述
RAPIDS cuGraph是一个单代码库,代表了一组关注GPU加速图分析的软件包,包括对属性图、远程(图作为服务)操作和图神经网络(GNN)的支持。cuGraph支持创建和操作图,然后执行可扩展的快速图算法。
新闻
新功能! nx-cugraph,一个提供零代码更改的GPU加速的NetworkX后端。
> 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 图对象和其他几种格式中的数据。
虽然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加速计算数组库" - 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功能的一部分得到支持。
项目详情
pylibcugraph_cu12-24.8.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bce7d814a11aa989b1539b0d3684b65cd98b3de27ea1b4c3245c2d0f246faed3 |
|
MD5 | 3b9c8b9dd6d7b0f4cc9fc71a72c04440 |
|
BLAKE2b-256 | 2e5bdb75ec84eb0d422d8d112dc1db795c72c8f7570e0f7a4f2c0166acb8d793 |