Graf algoritmu je orientovaný graf sestávající z vrcholů odpovídajících operacím algoritmu a orientovaných oblouků odpovídajících přenosu dat (výsledky některých operací jsou předávány jako argumenty jiným operacím ) mezi nimi. Neměl by být zaměňován s řídicím grafem programu a ještě více s jeho vývojovým diagramem .
Aktivně se používá při studiích skrytého paralelismu v algoritmech napsaných v tradičních sériových programovacích jazycích .
Vlastnosti grafu algoritmu jsou:
V některých případech (viz např. lineární třída programů) je možné se zbavit nadměrného lexikografického uspořádání a získat z textu programu např. ve Fortranu graf algoritmu pomocí a čistě formální technika, kterou lze implementovat do softwarových systémů. Poté jej můžete použít k přípravě paralelní implementace tohoto algoritmu prozkoumáním jeho charakteristik, jako jsou tažení nebo vrstvené paralelní formy . Tato metodologie paralelizace byla vyvíjena od počátku 80. let. a popsané v dílech VV Voevodina a jeho týmu následovníků. Na jeho základě byly vyvinuty některé systémy pro studium paralelních struktur v programech , nejznámější z nich je V-Ray , vyvinutý ve Výzkumném a vývojovém centru Moskevské státní univerzity .
Podobný typ grafu lze nalézt v TensorFlow pod konceptem „výpočtového grafu“, kde jsou operace reprezentovány jako vrcholy a tenzory jako hrany . [jeden]