Ultima versiune | 2,7 (12 noiembrie 2018) |
---|---|
Scris in | C , C ++ și Fortran |
Sistem de operare | Multiplatform |
Mediu inconjurator | Cross-platform |
Tip | API |
Site-ul web | www.openacc.org |
OpenACC (pentru eleratorii O pen Acc ) este un standard de programare pentru calcul paralel dezvoltat de Cray , CAPS, Nvidia și PGI (en) . Acest standard este conceput pentru a permite calculul paralel pe sisteme eterogene de CPU / GPU .
La fel ca OpenMP , este posibil să adăugați comenzi în codul sursă C , C ++ și Fortran pentru a identifica porțiuni care ar putea beneficia de accelerație, utilizând directive către compilator. La fel ca în OpenMP 4.0 și versiunile ulterioare, codul poate fi executat pe CPU și GPU.
Dezvoltatorii OpenACC au lucrat, de asemenea, la standardul OpenMP pentru a crea o specificație comună pentru a extinde OpenMP pentru a suporta noi tipuri de acceleratoare în viitoarele versiuni OpenMP. Această lucrare a avut ca rezultat un raport tehnic care include comentarii și discuții pentru discuții în cadrul Conferinței anuale de supercomputere din Salt Lake City dinnoiembrie 2012, pentru a aborda asistența pentru acceleratorii non-Nvidia de către producătorii de hardware care participă la OpenMP.
În timpul ISC'12, au avut loc demonstrații OpenACC pe hardware Nvidia , AMD și Intel , dar fără a furniza date de performanță.
12 noiembrie 2012, în timpul SC12, a fost prezentat un proiect al specificației OpenACC 2.0. Nou în această versiune includ noi capacități în transferul de date (cum ar fi o modalitate de a procesa date nestructurate și date necontigue în memorie) și suport pentru apeluri funcționale explicite, precum și posibilitatea compilării separate (permițând crearea și utilizarea de biblioteci de coduri).