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图形库的更多相关文章

  1. (转)深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0

      深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0 发表于2016年07月15号由52nlp 接上文<深度学习主机攒机小记>,这台GTX10 ...

  2. 开源图形库 c语言-图形图像库 集合[转]

    开源图形库 c语言-图形图像库 集合[转] Google三维API O3D O3D 是一个开源的 Web API 用来在浏览器上创建界面丰富的交互式的 3D 应用程序.这是一种基于网页的可控3D标准. ...

  3. 解决Ubuntu Kylin 1610安装ANSYS17.2的NVIDIA显卡驱动问题

    Ubuntu Kylin 1610在安装完毕后,会自动安装显卡驱动,对于一般的图形图像使用来说自然不会有太大的问题,但是对于ANSYS17.2的一些模块,还是会出现问题.一个比较常见的问题就是Open ...

  4. Fedora 21 安装 Nvidia 驱动以及失败后的补救方法

    在 Linux 桌面系统下玩了这么久,大部分时间都是使用 Ubuntu,偶尔使用一下 Fedora.我的电脑中安装有多个 Linux 发行版,见这里<在同一个硬盘上安装多个Linux发行版及Fe ...

  5. C语言图形库简单对比及EGE库的安装小手册

    近期在琢磨C语言的图形库,发现主要有如下几种选择: Turbo C 的graphics库 SDL EasyX EGE 1. 普遍认为Graphics库太老了,而且TurboC本身使用比较麻烦,网上一边 ...

  6. 笔记:xubuntu下如何让系统默认使用nvidia显卡,而不是intel集显

    经反复折腾,得到如下的解决方法: prime-select nvidia 简单吧,但关系是如果让它开机自动执行一次. 反复折腾了xinitrc ,~/.xinitrc , /etc/rc.local ...

  7. 【转】[Intel/Nvidia]Ubuntu 16.04 LTS Intel/Nvidia双显卡切换

    1.在Unity中搜索 "Additional Drivers" 2.打开并选择以下选项 3.打开终端并输入 sudo apt-get install nvidia-361 4.安 ...

  8. ubuntu14.04+nvidia driver+cuda8+cudnn5+tensorflow0.12

    文章在简书里面编辑的,复制过来貌似不太好看,还是到简书的页面看吧: http://www.jianshu.com/p/c89b97d052b7 1.安装环境简介: 硬件: cpu:i7 6700k g ...

  9. 使用Python中PIL图形库进行截屏

    目的:通过使用Python的一个图形库PIL(Python Image Library)对屏幕进行截图 步骤: 1.下载PIL(路径)并安装 2.新建文件“截屏.py”,右键Edit with IDL ...

随机推荐

  1. 【Nginx(四)】Nginx配置集群 负载均衡策略

    1.Nginx常见的负载均衡策略 ip_hash (固定分发) 简介:根据请求按访问ip的hash结果分配,这样每个用户就可以固定访问一个后端服务器 场景:服务器业务分区.业务缓存.Session需要 ...

  2. mysqli_fetch_array()、mysqli_fetch_assoc、mysqli_fetch_row()和mysqli_fetch_object()的区别

    mysqli_fetch_array() 来使用或输出所有查询的数据. mysqli_fetch_array() 函数从结果集中取得一行作为关联数组,或数字数组,或二者兼有 返回根据从结果集取得的行生 ...

  3. SpringCloud之服务网关Gateway,入门+实操

    SpringCloudAlibaba微服务实战教程系列 Spring Cloud 微服务架构学习记录与示例 一. GateWay简介 Spring Cloud GateWay是Spring Cloud ...

  4. androguard安装和体验

    安装步骤按照官方教程https://code.google.com/p/androguard/wiki/Installation,下面记录下无法在ubuntu下apt-get的模块: python模块 ...

  5. SpringBoot+MyBatis练手项目笔记汇总

    以下是我在练习SpringBoot+MyBatis训练时候个人一些笔记汇总(可以点击跳转),献丑了,网上很多大佬的文章都比我写的详细,一些好的文章,我会将贴到各个内容中. 1. 插入数据返回id和内部 ...

  6. HDU - 2091 空心三角形 水题,但是有点坑...

    空心三角形 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  7. InnoDB解决幻读的方案——LBCC&MVCC

    最近要在公司内做一次技术分享,思来想去不知道该分享些什么,最后在朋友的提示下,准备分享一下MySQL的InnoDB引擎下的事务幻读问题与解决方案--LBCC&MVCC.经过好几天的熬夜通宵,终 ...

  8. NetCore3.1及Vue开发通用RBAC前后端通用框架

    目录 框架说明 项目框架图 多租户权限设计表 效果图 后端拉取运行 前端项目请参考 前端系列 发布到docker中 netcore3.1 发布到docker中所遇到的坑及解决 框架说明 该框架是本人学 ...

  9. Unity API笔记

    1. 返回某范围的随机数 Random.Range method. static float Range(float min, float max); returns a float – return ...

  10. Java集合,扑克牌的小项目练习

    Java集合,扑克牌的小项目练习 2小时学完了类与集合,一直二倍加跳过,集合和类的学习我觉得得多实践中去记住,光靠背,永远也背不完,学的时候记一下常用的,特殊的就行了,用的时候再查,多写代码才能会,哈 ...