Grafen för en algoritm är en riktad graf som består av hörn som motsvarar algoritmens operationer och riktade bågar som motsvarar överföringen av data (resultaten av vissa operationer skickas som argument till andra operationer ) mellan dem. Det ska inte förväxlas med programmets kontrollgraf , och ännu mer med dess flödesschema .
Det används aktivt i studier av dold parallellism i algoritmer skrivna på traditionella seriella programmeringsspråk .
Funktionerna i algoritmgrafen är:
I vissa fall (se t.ex. den linjära klassen av program) är det möjligt att bli av med den överdrivna lexikografiska ordningen och erhålla från programmets text, till exempel i Fortran , grafen för algoritmen, med hjälp av en rent formell teknik som kan implementeras i mjukvarusystem. Efter det kan du använda den för att förbereda en parallell implementering av den här algoritmen genom att utforska dess egenskaper, såsom svep eller tiered-parallella former . Denna parallelliseringsmetodik har utvecklats sedan början av 1980-talet. och beskrivs i verk av VV Voevodin och hans team av anhängare. Baserat på det har några system för att studera parallella strukturer i program utvecklats , den mest kända av dem är V-Ray , utvecklad vid forsknings- och utvecklingscentret vid Moscow State University .
En liknande typ av graf finns i TensorFlow under konceptet en "beräkningsgraf", där operationer representeras som hörn och tensorer som kanter . [ett]