nvGraph-NVIDIA图形库
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文档。
nvGraph-NVIDIA图形库的更多相关文章
- (转)深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0
深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0 发表于2016年07月15号由52nlp 接上文<深度学习主机攒机小记>,这台GTX10 ...
- 开源图形库 c语言-图形图像库 集合[转]
开源图形库 c语言-图形图像库 集合[转] Google三维API O3D O3D 是一个开源的 Web API 用来在浏览器上创建界面丰富的交互式的 3D 应用程序.这是一种基于网页的可控3D标准. ...
- 解决Ubuntu Kylin 1610安装ANSYS17.2的NVIDIA显卡驱动问题
Ubuntu Kylin 1610在安装完毕后,会自动安装显卡驱动,对于一般的图形图像使用来说自然不会有太大的问题,但是对于ANSYS17.2的一些模块,还是会出现问题.一个比较常见的问题就是Open ...
- Fedora 21 安装 Nvidia 驱动以及失败后的补救方法
在 Linux 桌面系统下玩了这么久,大部分时间都是使用 Ubuntu,偶尔使用一下 Fedora.我的电脑中安装有多个 Linux 发行版,见这里<在同一个硬盘上安装多个Linux发行版及Fe ...
- C语言图形库简单对比及EGE库的安装小手册
近期在琢磨C语言的图形库,发现主要有如下几种选择: Turbo C 的graphics库 SDL EasyX EGE 1. 普遍认为Graphics库太老了,而且TurboC本身使用比较麻烦,网上一边 ...
- 笔记:xubuntu下如何让系统默认使用nvidia显卡,而不是intel集显
经反复折腾,得到如下的解决方法: prime-select nvidia 简单吧,但关系是如果让它开机自动执行一次. 反复折腾了xinitrc ,~/.xinitrc , /etc/rc.local ...
- 【转】[Intel/Nvidia]Ubuntu 16.04 LTS Intel/Nvidia双显卡切换
1.在Unity中搜索 "Additional Drivers" 2.打开并选择以下选项 3.打开终端并输入 sudo apt-get install nvidia-361 4.安 ...
- ubuntu14.04+nvidia driver+cuda8+cudnn5+tensorflow0.12
文章在简书里面编辑的,复制过来貌似不太好看,还是到简书的页面看吧: http://www.jianshu.com/p/c89b97d052b7 1.安装环境简介: 硬件: cpu:i7 6700k g ...
- 使用Python中PIL图形库进行截屏
目的:通过使用Python的一个图形库PIL(Python Image Library)对屏幕进行截图 步骤: 1.下载PIL(路径)并安装 2.新建文件“截屏.py”,右键Edit with IDL ...
随机推荐
- 《机器学习Python实现_10_09_集成学习_bagging_stacking原理及实现》
介绍 前面对模型的组合主要用了两种方式: (1)一种是平均/投票: (2)另外一种是加权平均/投票: 所以,我们有时就会陷入纠结,是平均的好,还是加权的好,那如果是加权,权重又该如何分配的好?如果我们 ...
- 对c语言回调函数的理解
对于回调函数,可以简单的理解为一种特别的函数调用方法,我们可以对比一下回调函数与普通函数在调用方法上的区别. 1. 普通函数调用 一般为实现方在其函数体执行过程中直接调用. 代码示例: #includ ...
- LA3602DNA序列
题意: 给你一个一些DNA序列(只有ACGT)然后让你构造一个序列,使得所有的序列到他的Hamming距离最小,所有的序列包括构造的序列长度都是N,Hamming表示两个序列的不同字符位置个 ...
- The 2014 ACM-ICPC Asia Mudanjiang Regional First Round A
网选A,水题: 这个是水题,只要枚举一遍,看有多少a[i-1]<a[i]>a[i+1],不解释了.
- 哈希爆破神器Hashcat的用法
目录 HashCat HshCat的使用 使用Hashcat生成字典 使用Hashcat破解NTLMv2 HashCat HashCat系列软件在硬件上支持使用CPU.NVIDIA GPU.ATI G ...
- Windows核心编程 第十七章 -内存映射文件(上)
第1 7章 内存映射文件 对文件进行操作几乎是所有应用程序都必须进行的,并且这常常是人们争论的一个问题.应用程序究竟是应该打开文件,读取文件并关闭文件,还是打开文件,然后使用一种缓冲算法,从文件的各个 ...
- Windows PE 第一章开发环境和基本工具使用
第一章 Windows PE 基本工具 1.1开发语言MASM32 1.1.1设置开发环境 这个不细说了,我在整理Intel汇编的时候详细的说了环境搭建以及细节.地址是:http://blog.csd ...
- ajax提交session超时跳转页面使用全局的方法来处理
来自:http://www.jb51.net/article/43770.htm 如果是ajax提交,超时时从服务器发出的跳转命令就不会起作用,所以如果是session超时,而且是在ajax请求,就在 ...
- Qt链接MySQL发布后Drive not loadedDrive not loaded怎么办
缺少动态链接库!把MySQL文件夹下面带dll.lib的全复制进去就行了
- 【原创】JVM如何运行Java程序的?
[Deerhang] 我们知道Java程序的运行是依赖于JVM虚拟机的,JVM类语言经过编译生成class字节码文件,字节码又经JVM进一步的编译生成机器码,最终运行在硬件上.那么JVM存在的意义是什 ...