Nvidia Rapids cuGraph: att Göra diagram analys överallt

0
77

Hur Nvidia ser data vetenskap som nästa stora marknad
Nvidia VD Jensen Huang satsar på att data vetenskap kommer ut datacenter med high-performance computing. Här är varför det är vettigt.

Ett nytt bibliotek med öppen källkod från Nvidia kan vara den hemliga ingrediensen för att främja analytics och göra diagram databaser snabbare. Nyckeln: parallell bearbetning på Nvidia GPUs.

Nvidia har för länge sedan slutat att vara “bara” en hårdvaruleverantör. Dess hårdvara är vad mycket av den beräkna stödja explosion i AI kör på, Nvidia har tagit på sig uppgiften att bereda den sista kilometern till programvaran. Nvidia gör detta genom att utveckla och frigöra bibliotek som utvecklare av programvara och data som forskare kan använda för att integrera GPU-kraft i deras arbete.
 
Premissen är enkel: Inte alla som är specialist i parallellitet eller vill vara en. Parallell programmering är svårt. Ändå är detta vad som krävs för att dra nytta av GPU kapacitet och öka prestanda i program-och analytics. Så, Nvidia ger biblioteken människor kan använda för att bygga sin programvara, utan att känna till alla genomförandet och hårdvara detaljer.

Nvidia har gjort detta med CUDA sedan 2007. Sedan dess har Nvidia släppt mer än 40 Nvidia CUDA-X-biblioteken, med den allra senaste Forsar, ett open-source data vetenskap plattform som är det paraply under vilket flera initiativ som Dask eller XGBoost för data vetenskap har utvecklats.
 
Nvidia släpper nu Forsar cuGraph 0.9, ett bibliotek vars mål är att göra diagram analys allestädes närvarande. Detta kan vara grunden för stora förändringar i grafen analytics och grafdatabaser. Grafen är ett område vi har varit noga, men vi är inte längre den enda, och det är inte den enda anledningen till varför vi anser att detta är stor.

Diagram analytics på steroider

Detta korta utdrag tas ut av Gartners analys om varför grafen kommer att styra världen i 2020-talet:

“Tillämpningen av grafen bearbetning och diagram databaser kommer att växa på 100 procent per år till och med 2022 att ständigt accelerera data förbereda och möjliggöra mer komplexa och adaptiva data vetenskap.”

Brad Rees, men har gjort det långt innan det var coolt.
 
Rees började arbeta med diagram programmering och analys, data vetenskap, och AI på 1980-talet. Under flera år och projekt, Rees fann sin väg till Nvidia 2017, i vad som då var en begynnande satsning inom Nvidia. Idag, Brad Rees är AI infrastrukturförvaltaren i Nvidia, med uppgift att föra diagram analytics och algoritmer för världen.
 
Rees blev intresserad av GPU-programmering runt den tid CUDA 2.0 kom ut. Som andra också har påpekat, de maskor som används i grafik behandling är typ av en fysisk match för graf behandling: Varje nod representerar ett koncept, varje kant utgör en relation.

cugraphviz.jpg

Grafer och diagram-som drivs algoritmer och analytics kommer att vara en viktig teknik för 2020-talet

Så, det faktum att Gpu kan snabba upp grafen behandling inte gå obemärkt förbi. När Rees gick Nvidia, det var redan implementationer för ett par diagram algoritmer på Grafikprocessorer. Som Rees förklarade, dessa var dock inte mycket systematisk, eller mycket väl integrerade i Nvidia ekosystem. Eftersom algoritmen samling växte, och grafen var få ånga, cuGraph var född, och Rees blev projektledare.
 
CuGraph är en samling av grafen algoritmer som implementerats över Nvidia GPUs. Det kanske inte låter som mycket, om du inte är i grafen algoritmer, så att sätta in det i ett sammanhang, låt oss säga att PageRank, den berömda algoritm som Google byggt sitt imperium på, är en graf algoritm, också.
 
Det finns många diagram algoritmer runt, och varje algoritm kan ge insikter för olika data analys av olika scenarier. När cuGraph första officiella utgåvan, 0.6, kom ut i slutet av Mars, är det redan finns många algoritmer, inklusive PageRank. Som första utgåvan fokuserade på att ge en grund och ingår flera algoritmer optimerad för singel-GPU analytics.

I och med version 0.9, Nvidia cuGraph kommer ett steg närmare till 1.0. Som Rees förklarade, målet är inte bara att fortsätta att lägga till algoritmer för att cuGraph, men att få dem att fungera över flera Grafikprocessorer, också. Detta har nu gjorts för PageRank. Även i version 0.6, men cuGraph var redan upp till 2000 gånger snabbare än NetworkX.
 
NetworkX är en graf analytics ramen för Python som cuGraph var modellerad på, att göra allt NetworkX inte på Grafikprocessorer. NetworkX valdes eftersom det är den mest populära graf ram som används av data forskare. NetworkX på steroider redan skulle vara ganska en prestation, men den vision som går långt bortom det, och konsekvenserna är ganska intressant.

Visionen för Nvidia cuGraph

Rees noteras att cuGraph utveckling skulle sakta förskjutning mot att förbättra användarvänlighet, samverkan och integration med resten av Nvidias Rapids bibliotek.
 
I ett blogginlägg, Rees fortsatte med att förklara hur cuGraph använder fastigheten diagram paradigm, och hur Data Ramar är nyckeln till samverkan med Forsen. Rees sade att Data Ramar som kan användas för att skapa grafer, köra algoritmer på dessa diagram, och sedan tar de data som dessa algoritmer producera och lägga till dem för att de ursprungliga Uppgifterna Ramar som behövs.
 
CuGraph färdplan innehåller också lägga till dynamiska datastrukturer. Dessa kan komma till hands när man analyserar diagrammet förändras över tid. När data strömmade in, hur strukturen av ett nätverk förändringar kan övervakas och rapporteras.

cugraphvsnetworkx.png

Nvidias cuGraph bibliotek syftar till att påskynda diagram behandling, och det ser ut som det är rätt på märket

Lika viktigt är det att använda en dynamisk struktur i analytics. I många fall är storleken av resultatet som är okända på förhand. Att kunna kollaps, utöka, lägga till, och minska antingen grafen eller resultaten on-the-fly är en kraftfull teknik.
 
Det slutar inte där, dock. Rees noteras att cuGraph skulle vara att lägga till state of the art diagram analytics ramar som GraphBLAS och Hornet och samtidigt hålla ett öga på alla nya saker och att sömlöst integrera dem under cuGraph för utvecklare att använda.
 
Hänvisningen till egendom grafer, däremot, var en utlösande faktor för en mer spekulativ diskussion, som berör inte bara algoritmer, men databaserna, för. Fastigheten grafer är en av de två mer omfattande sätt att modellera grafer. Flera grafdatabaser antog det, och det är en samlingspunkt för W3C: s pågående arbete med att standardisera grafdatabaser.
 
Så, vi undrade vad samspelet mellan cuGraph och grafdatabaser kan vara. Till att börja med bör vi betona skillnaden: cuGraph är ett analytics-ram, optimerad för att läsa in data och köra algoritmer. Databaser, å andra sidan, är också tänkt att lagra data. Även om cuGraph är inte inriktad mot detta, det finns ett par sätt cuGraph kan påverka, och påverkas av, grafdatabaser.

Diagram frågor och grafdatabaser

Vi har sett databaser erbjuder diagram analytics ramar, oavsett om de är grafdatabaser. Du kan ha en relationsdatabaser modellering och lagring av data i tabeller, till exempel, som levereras med en ram som kan söka efter data i ett diagram-fråga språk som Cypher. Så, om de kan göra detta, kan, och bör, cuGraph göra det också?
 
Rees noteras att lägga till stöd för Cypher, till exempel, är möjlig. Om, eller när, detta kan ske är dock en annan historia. Nyttan av att göra detta skulle vara betydande: det är lättare att snabb behandling som en del av en fråga, eventuellt även i en interaktiv miljö, än det är att använda ett API. Den senare behöver kunskaper i programmering, en analytiker kan också göra tidigare.
 
Lika, om inte viktigare, dock, är det tvärtom. Många grafdatabaser har börjat erbjuda graf algoritm implementationer ur lådan. Som att köra diagram algoritmer är en vanlig användning fallet, skulle det inte meningsfullt för dem att integrera med cuGraph för att öka deras prestanda? Det är helt skulle, och de helt kunde.

cugraph.gif

Diagram analytics göra ett par bra med grafdatabaser. Så många databaser i dessa dagar levereras med inkludera diagram algoritmer, cuGraph kan påverka databaser också.

Även om detta är något spekulativ, låt oss notera ett par punkter. För det första finns det grafdatabaser ryktas att antingen redan ha, eller för att arbeta med stöd för Gpu. För det andra, det finns många GPU databaser runt. Eftersom det finns en växande efterfrågan på grafen bearbetning, snart kan vi se en eller flera av dem att lägga den till sin kapacitet.
 
Det är därför cuGraph kan visa sig vara en avgörande faktor som kommer att påverka grafdatabas landskap: lägga till diagram fråga kapacitet skulle stärka både cuGraph och vad query language får stödjas, samtidigt som att lägga till cuGraph till en databas som erbjuder skulle fungera på samma sätt, också.

I de större tingens ordning, cuGraph: s satsning är att göra diagram analys allestädes närvarande. Att göra detta skulle inte bara innebära snabbare analytics, men potentiellt en språngbräda i framtiden av AI, som till stor del går genom grafen. CuGraph är något att hålla ett öga på.

Innovation

Varför 2019 är det bästa året någonsin för att köpa en smartphone: Prisvärd flaggskeppen i överflöd

Vi kan vara på väg in i en ny geologisk epok

Apollo-inspirerade robot hacka ihop verktyg att använda vardagliga föremål

Varför AI får en dålig representant från media? (ZDNet YouTube)

Dessa deepfakes av Bill Hader är helt skrämmande (CNET)

20 skrämmande använder sig av artificiell intelligens (TechRepublic)

Relaterade Ämnen:

Innovation

Digital Omvandling

Robotteknik

Sakernas Internet

Affärssystem

CXO