图分析Rapids cuGraph

英伟达(Nvidia)建立的新的开源库可能是推进分析和使图形数据库更快的秘密要素。

在Nvidia GPU上进行并行处理。

Nvidia很久以前就不再只是“仅仅”一家硬件公司。由于其硬件是支持AI火爆的大部分计算运行的要素,因此Nvidia承担了为软件铺路的最后一步。Nvidia通过开发和发布库来实现这一点,软件开发人员和数据科学家可以使用这些库将GPU功能集成到他们的工作中。

 

前提很简单:不是每个人都是并行性方面的专家或想成为一个并行性专家。并行编程很难。但是,这是利用GPU功能并提高软件和分析性能的要求。因此,Nvidia提供了人们可以用来构建软件的库,而无需了解所有实现和硬件细节。

自2007年以来,英伟达一直在CUDA上进行此操作。自那时以来,英伟达已经发布了40多个 Nvidia CUDA-X 库,最近的一个是 Rapids,这是一个开放源数据科学平台,在该平台下,诸如Dask之类的多项调度都在其中或XGBoost用于数据科学已经发展。 

 

Nvidia现在发布了Rapids cuGraph 0.9,该库的目标是使图形分析无处不在。这可能是图分析和图数据库重大发展的基础。Graph是一直密切关注的领域,但不再是唯一的领域,这也不是认为这很重要的唯一原因。

Striods类固醇的图形分析

简短的摘录摘自 Gartner关于为什么图形将在2020年代统治世界的分析

“到2022年,图形处理和图形数据库的应用将以每年100%的速度增长,以不断加速数据准备并实现更复杂和适应性更强的数据科学。”

但是,Brad Rees一直在做很久之前就已经做好了。

Rees在1980年代开始从事图形编程和分析,数据科学和AI的研究。历经数年和专案,里斯(Rees)于2017年加入英伟达(Nvidia),这是英伟达(Nvidia)内部的新生。如今,布拉德·里斯(Brad Rees)是Nvidia的AI基础架构经理,负责将图形分析和算法推向世界。

Rees在CUDA 2.0发布时就对GPU编程产生了兴趣。正如其他人也指出的那样,图形处理中使用的网格是图形处理的自然匹配:每个节点代表一个概念,每个边缘代表一个关系

图形和图形驱动的算法和分析将成为2020年代的关键技术

因此,GPU可以加速图形处理的事实并没有引起人们的注意。当Rees加入Nvidia时,已经有一些GPU上的图形算法实现。但是,正如Rees所解释的那样,这些功能不是非常系统化,也没有很好地集成到Nvidia生态系统中。随着算法融合的增长以及图的发展,cuGraph诞生了,Rees成为项目负责人。

 

CuGraph是在Nvidia GPU上实现的图形算法的集合。如果不熟悉图算法,这听起来可能并不多,因此,将其放到上下文中,可以说Google建立其帝国的著名算法PageRank也是图算法。 

周围有很多图形算法,每种算法都可以为不同的数据分析方案提供见解。cuGraph的第一个正式版本0.6发布,已经包含许多算法,包括PageRank。该初始版本侧重于提供基础,并包括针对单GPU分析进行了优化的几种算法。

也可以看看

随着0.9版的发布,Nvidia cuGraph向1.0迈进了一步。正如Rees解释的那样,目标不仅是继续向cuGraph添加算法,而且还使它们能够在多个GPU上工作。现在已经为PageRank实现了。但是,即使在0.6版中,cuGraph也已经比NetworkX快2000倍。 

NetworkX是cuGraph建模的Python图形分析框架,可完成NetworkX在GPU上所做的所有工作。选择NetworkX,它是数据科学家使用的最受欢迎的图形框架。在类固醇上使用NetworkX已经是一项壮举,但愿景远不止于此,其含义也很有趣。

NVIDIA CUGRAPH的愿景

5G数据中心基础架构的5个关键考虑因素

5G将对的数据基础架构产生越来越多的新需求,因此现在是规划部署的时候了。

由Vertiv赞助 

Rees指出cuGraph的开发将缓慢地朝着提高易用性,互操作性以及与Nvidia的Rapids库的其余部分集成的方向发展。

Rees在博客中继续解释了cuGraph如何利用属性图范例,以及数据框如何成为与Rapids互操作性的关键。里斯说,数据可用于构建图形,在这些图形上运行算法,然后获取这些算法产生的数据,并根据需要将其添加到原始数据中。 

CuGraph的路线图还包括添加动态数据结构。这些在分析图形随时间变化时会派上用场。随着数据的流进,可以监视和报告网络结构的变化。

Nvidia的cuGraph库旨在加快图形处理速度,看起来就象标记一样

同样重要的是在分析中使用动态结构。在许多情况下,结果集的大小是先验未知的。能够即时折叠,扩展,添加和减少图形或结果是一项强大的技术。

Rees指出cuGraph将添加最新的图形分析框架,例如GraphBLAS和Hornet,同时关注所有新开发并将其无缝集成在cuGraph下供开发人员使用。

对属性图的引用引发了更多投机性讨论,该讨论不仅涉及算法,还涉及数据库。属性图是对图进行建模的两种更广泛的方法之一。几个图形数据库都采用了它,这是它的重点W3C正在进行的标准化图形数据库的工作

想知道cuGraph和图数据库之间的相互作用是什么。首先,应该强调两者之间的区别:cuGraph是一个分析框架,已针对加载数据和运行算法进行了优化。另一方面,数据库也应该存储数据。尽管cuGraph并不适合于此,但cuGraph可以通过几种方式影响图形数据库并受其影响。

图查询和图数据库

一直在看到提供图分析框架的数据库,无论它们是否是图数据库。例如,可能具有关系数据库建模并将数据存储在表中,该数据库与框架捆绑在一起,该框架允许以图形查询语言(例如Cypher)查询数据。因此,如果可以做到,cuGraph是否也应该这样做?

Rees指出,例如增加对Cypher的支持是可行的。然而,是否或何时完成这是一个不同的故事。这样做的实用性很重要:与使用API​​相比,甚至在交互式环境中,将处理表示为查询的一部分也很容易(甚至在交互环境中也是如此)。后者需要编程技巧;分析人员也可以做到前者。

许多图形数据库已经开始提供现成的图形算法实现。由于运行图算法是一种常见的用例,将它们与cuGraph集成以提高其性能是否有意义?完全可以。

图分析Rapids cuGraph的更多相关文章

  1. 火焰图分析openresty性能瓶颈

    注:本文操作基于CentOS 系统 准备工作 用wget从https://sourceware.org/systemtap/ftp/releases/下载最新版的systemtap.tar.gz压缩包 ...

  2. 《BI那点儿事》SSRS图表和仪表——雷达图分析三国超一流谋士、统帅数据(图文并茂)

    雷达图分析三国超一流谋士.统帅数据,献给广大的三国爱好者们,希望喜欢三国的朋友一起讨论,加深对传奇三国时代的了解 建立数据环境: -- 抽取三国超一流谋士TOP 10数据 DECLARE @t1 TA ...

  3. 也许游戏 它P/N图分析

    关于游戏的问题,更多的时候是使用P/N图分析              p n p n p n p n   n  n n n n n n n   p n p n p n p n   n  n n n  ...

  4. 用 CPI 火焰图分析 Linux 性能问题

    https://yq.aliyun.com/articles/465499 用 CPI 火焰图分析 Linux 性能问题   yangoliver 2018-02-11 16:05:53 浏览1076 ...

  5. SpaceSyntax【空间句法】之DepthMapX学习:第四篇 凸多边形图分析[未完]

    这一篇正式讲解分析类型中的第一个,凸多边形分析,流程图参照上一篇的. 博客园/B站/知乎/CSDN @秋意正寒(我觉得这一篇肯定很多盗图的,那么我在版头加个本篇地址吧) https://www.cnb ...

  6. NLP(十二)依存句法分析的可视化及图分析

      依存句法分析的效果虽然没有像分词.NER的效果来的好,但也有其使用价值,在日常的工作中,我们免不了要和其打交道.笔者这几天一直在想如何分析依存句法分析的结果,一个重要的方面便是其可视化和它的图分析 ...

  7. 火焰图分析CPU性能问题

    1.找出应用程序或内核消耗CPU的PID 2.执行perf record 命令,记录该PID的行为 perf record -a -g -p 14851 -- sleep 30 --30秒后退出 3. ...

  8. 关于图算法 & 图分析的基础知识概览

    网址:https://learning.oreilly.com/library/view/graph-algorithms-/9781492060116/ 你肯定没有读过这本书,因为这本书的发布日期是 ...

  9. G6:AntV 的图可视化与图分析

    导读 G6 是 AntV 旗下的一款专业级图可视化引擎,它在高定制能力的基础上,提供简单.易用的接口以及一系列设计优雅的图可视化解决方案,是阿里经济体图可视化与图分析的基础设施.今年 AntV 11. ...

随机推荐

  1. 【Nginx(一)】Centos下 Nginx环境搭建

    Nginx环境搭建 系统环境: 腾讯云 Linux Centos7 1.下载nginx压缩包 ,上传到腾讯云服务器 http://nginx.org/en/download.html 或者使用dock ...

  2. animation几个比较好玩的属性(alternate,及animation-fill-mode)

    <!DOCTYPE html> <html> <head> <style> div { width:100px; height:100px; backg ...

  3. 缓冲区溢出分析第06课:W32Dasm缓冲区溢出分析

    漏洞报告分析 学习过破解的朋友一定听说过W32Dasm这款逆向分析工具.它是一个静态反汇编工具,在IDA Pro流行之前,是破解界人士必然要学会使用的工具之一,它也被比作破解界的"屠龙刀&q ...

  4. Android系统加载Apk文件的时机和流程分析(1)--Android 4.4.4 r1的源码

    本文博客地址:https://blog.csdn.net/QQ1084283172/article/details/80982869 Android系统在启动时安装应用程序的过程,这些应用程序安装好之 ...

  5. hdu4046 不错的线段树单点更新

    题意:       给一个字符串,两种操作 0 a b 询问a,b之间有多少个wbw, 1 a c 就是把第a个改成c. 思路:       这个题目我们可以用线段树的点更新来做,一开始写了个好长好长 ...

  6. POJ2118基础矩阵快速幂

    题意:        an=Σ1<=i<=kan-ibi mod 10 000 for n >= k,题意看了好久才懂,有点蛋疼啊, 这个题目要是能看懂题意就简单了,先给你k,然后给 ...

  7. HTTP参数污染(HPP)漏洞

    HPP(HTTP参数污染) HPP是HTTP Parameter Pollution的缩写,意为HTTP参数污染.原理:浏览器在跟服务器进行交互的过程中,浏览器往往会在GET/POST请求里面带上参数 ...

  8. 【maven】mvn不是内部命令 也不是可运行的程序

    按解压.配置环境变量,重启cmd,还是出现这个问题 使用java -version确定是不是安装了jdk.因为maven是java开发,需要依赖jdk 将系统变量中Path的%MAVEM_HOME%\ ...

  9. SpringBoot简明教程

    一.SpringBoot简介 1.什么是SpringBoot SpringBoot用来简化spring应用开发,约定大于配置,去繁从简,是J2EE一站式解决方案 2.SpringBoot的优点 快速创 ...

  10. 使用小记:Zookeeper中动态改变节点的功能

    Zookeeper 3.5+提供了reconfig功能实现动态配置节点,官方的说明是,"你再也不需要进行全部节点重启"就可以应用所有的修改: http://zookeeper.ap ...