Siste versjon | 2,7 (12. november 2018) |
---|---|
Skrevet i | C , C ++ og Fortran |
Operativsystem | Multiplatform |
Miljø | Kryssplattform |
Type | API |
Nettsted | www.openacc.org |
OpenACC (for O pen Acc elerators) er en programmeringsstandard for parallell databehandling utviklet av Cray , CAPS, Nvidia og PGI (en) . Denne standarden er designet for å tillate parallell databehandling på heterogene CPU / GPU-systemer .
Akkurat som OpenMP er det mulig å legge til kommandoer i kildekoden C , C ++ og Fortran for å identifisere deler som kan dra nytte av akselerasjon, ved å bruke direktiver til kompilatoren. Som i OpenMP 4.0 og nyere, kan koden kjøres på CPU og GPU.
OpenACC-utviklerne har også jobbet med OpenMP-standarden for å lage en felles spesifikasjon for å utvide OpenMP for å støtte nye typer akseleratorer i fremtidige OpenMP-utgivelser. Dette arbeidet resulterte i en teknisk rapport med kommentarer og diskusjoner for diskusjon under den årlige Supercomputing-konferansen i Salt Lake City inovember 2012, for å adressere støtte for ikke-Nvidia-akseleratorer av maskinvareprodusenter som deltar i OpenMP.
Under ISC'12 ble det holdt OpenACC-demonstrasjoner på Nvidia , AMD og Intel- maskinvare , men uten å gi ytelsesdata.
De 12. november 2012, under SC12 ble et utkast til OpenACC 2.0-spesifikasjonen presentert. Nytt i denne utgivelsen inkluderer nye funksjoner innen dataoverføring (for eksempel en måte å behandle ustrukturerte data og ikke-sammenhengende data i minnet), og støtte for eksplisitte funksjonsanrop, samt muligheten for separat kompilering (tillater oppretting og bruk av akselerert kodebiblioteker).