nvGraph-NVIDIA图形库
数据分析是高性能计算的不断增长的应用。许多高级数据分析问题可以称为图形问题。反过来,当今许多常见的图形问题也可以称为稀疏线性代数。这是nvGraph的动机,它利用GPU的线性代数功能来处理大型图形分析。
https://github.com/rapidsai/nvgraph
该存储库包含NVIDIA CUDA Toolkit中的旧版nvGraph。目的是为CUDA Toolkit停止发布nvGraph的用户提供一种继续使用nvGraph的方法。尽管仍然接受错误报告,但并未积极开发该产品。如果发现并可以重现nvGRAPH中的错误,请在GitHub上报告问题。
最近,NVIDIA开始开发cuGraph,它是图形分析的集合,可处理在GPU数据框中找到的作为RAPIDS一部分的数据。现在,大多数nvGraph算法也已成为cuGraph的一部分。此外,cuGraph的目标是提供数据科学家熟悉的类似于NetworkX的API,因此现在可以更轻松地构建GPU加速的工作流程。有关更多项目详细信息,请参见Rapids.ai。
获取nvGrpah
先决条件
编译器要求:
- gcc 版本5.4+
- nvcc 版本9.2
- cmake 版本3.12
CUDA要求:
- CUDA 9.2+
- NVIDIA驱动程序396.44+
- Pascal架构或更高
可以从https://developer.nvidia.com/cuda-downloads获得CUDA 。编译器要求:
使用脚本
从源代码安装nvGraph很容易。为方便起见,build.sh提供了一个脚本。运行如下所示的脚本以下载源代码,构建并安装该库。请注意,该库将安装在中设置的位置$CUDA_ROOT(例如export CUDA_ROOT=/usr/local/cuda)。这些说明已在Ubuntu 18.04上进行了测试。
git clone https://github.com/rapidsai/nvgraph.git
cd nvgraph
export CUDA_ROOT=/usr/local/cuda
./build.sh # build the nvGraph library and install it to $CUDA_ROOT (you may need to add the sudo prefix)
从源手动构建
以下说明适用于nvGraph开发的开发人员和贡献者。这些说明已在Linux Ubuntu 18.04上进行了测试。使用这些说明从源代码构建nvGraph并为它的发展做出贡献。其它操作系统可能兼容,但目前尚未测试。
nvGraph软件包是一个C / C ++ CUDA库。需要安装才能使nvGraph正常运行。
以下说明在Linux系统上测试。
生成并安装C / C ++ CUDA组件
要从源代码安装nvGraph,确保满足依赖性并遵循以下步骤:
1.克隆存储库和子模块
# Set the localtion to nvGraph in an environment variable NVGRAPH_HOME
export NVGRAPH_HOME=$(pwd)/nvgraph
# Download the nvGraph repo
git clone https://github.com/rapidsai/nvgraph.git $NVGRAPH_HOME
# Next load all the submodules
cd $NVGRAPH_HOME
git submodule update --init –recursive
2. 生成并安装libnvgraph_rapids.so。CMake依赖nvcc可执行文件的路径中,或在中定义$CUDACXX。
该项目使用cmake构建C / C ++库。要配置cmake,运行:
cd $NVGRAPH_HOME
cd cpp # enter nvgraph's cpp directory
mkdir build # create build directory
cd build # enter the build directory
cmake .. -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX
# now build the code
make -j # "-j" starts multiple threads
make install # install the libraries
The default installation locations are $CMAKE_INSTALL_PREFIX/lib
and $CMAKE_INSTALL_PREFIX/include/nvgraph
respectively.
C ++独立测试
# Run the tests
cd $NVGRAPH_HOME
cd cpp/build
gtests/NVGRAPH_TEST # this is an executable file#这是一个可执行文件
这些测试验证了库是否正确构建,以及图形结构是否按预期工作。目前不维护算法测试套件。大多数图形分析功能都是在cuGraph中开发和测试的。
文献资料
可以在CUDA工具包文档中找到C API文档。