Graficul unui algoritm este un grafic dirijat format din vârfuri corespunzătoare operațiilor algoritmului și arce direcționate corespunzătoare transferului de date (rezultatele unor operații sunt transmise ca argumente altor operații ) între ele. Nu trebuie confundat cu graficul de control al programului și cu atât mai mult cu diagrama de flux .
Este utilizat în mod activ în studiile de paralelism ascuns în algoritmi scrisi în limbaje tradiționale de programare în serie .
Caracteristicile graficului algoritm sunt:
În unele cazuri (a se vedea, de exemplu, clasa liniară de programe), este posibil să scăpați de ordinea lexicografică excesivă și să obțineți din textul programului, de exemplu, în Fortran , graficul algoritmului, folosind un tehnică pur formală care poate fi implementată în sistemele software. După aceea, îl puteți folosi pentru a pregăti o implementare paralelă a acestui algoritm, explorând caracteristicile acestuia, cum ar fi măturarea sau formele paralele pe niveluri . Această metodologie de paralelizare a fost dezvoltată încă de la începutul anilor 1980. și descris în lucrările lui VV Voevodin și a echipei sale de adepți. Pe baza acestuia, au fost dezvoltate unele sisteme pentru studierea structurilor paralele în programe , cel mai faimos dintre ele este V-Ray , dezvoltat la Centrul de Cercetare și Dezvoltare al Universității de Stat din Moscova .
Un tip similar de grafic se găsește în TensorFlow sub conceptul de „graf de calcul”, unde operațiile sunt reprezentate ca vârfuri și tensorii ca muchii . [unu]