Aquest article o secció no cita les fonts o necessita més referències per a la seva verificabilitat. |
Compilador PGI | |
---|---|
Versió inicial | 1991 |
Llenguatges | Fortran, C i C++ |
Sistema operatiu | Windows, Linux i macOS |
Desenvolupador | The Portland Group |
Propietari | NVIDIA |
Extensions
compatibles |
OpenMP i OpenACC |
Tipus | Conjunt de compiladors |
Els compiladors PGI són un conjunt de compiladors de C, C++ i Fortran que són aptes per a sistemes d'alt rendiment.
Els compiladors de PGI permeten desenvolupar aplicacions per a diferents tipus de processadors i targetes gràfiques d'NVIDIA. S'utilitzen tant en estacions de treball comunes com en els computadors més ràpids del món, inclòs el supercomputador del Top500 #1 Summit Supercomputer,[1] on s'executen aplicacions orientades a la química quàntica, al clima, a la dinàmica molecular i a l'astrofísica.
Els compiladors PGI van ser desenvolupats per l'empresa The Portland Group (PGI), fundada l'any 1989. Dos anys després van publicar la primera versió de compiladors per als llenguatges Fortran i C, que van ser dissenyats per al processador Intel i860. Aquests compiladors van ser utilitzats per supercomputadors com l'iPSC/860, el Touchstone Delta i el Paragon.
A principis dels anys noranta PGI es va involucrar al desenvolupament de High Performance Fortran (HPF), una extensió del llenguatge de dades paral·leles anomenat Fortran 90.
L'any 2000 The Portland Group va ser comprada per l'empresa STMicroelectronics per produir compiladors basats en la High Performance Computing (HPC) en Linux, Windows i MacOS.
El 2013 NVIDIA va adquirir The Portland Group de STMicroelectronics per continuar desenvolupant els mateixos compiladors sota la marca “PGI Compilers and Tools”.[2][3]
Més tard, va aparèixer un nou compilador anomenat CUDA Fortran,[4] pensat per funcionar en programes orientats al còmput d'altes prestacions mitjançant l'ús de les targetes gràfiques d'NVIDIA i que inclou directives de programació.[5][6]
Els compiladors de l'edició PGI Community Edition[7] per a Linux/x86-64 es poden usar com a imatge d'un contenidor al núvol d'NVIDIA anomenat NVIDIA GPU Cloud (NGC) i al mercat Amazon Web Services (AWS). Aquestes imatges són compatibles amb els processadors multicore i amb les targetes gràfiques d'NVIDIA (inclosa la família Volta V100)[8] més recents i inclouen compiladors Fortran, C i C++ habilitats per OpenACC.
CUDA Fortran[4] s'inclou a tots els compiladors PGI Fortran i la versió de lliure accés està disponible a l'edició PGI Community Edition.
Afegint directives del compilador que ofereix OpenACC es poden accelerar les aplicacions.
Els compiladors PGI OpenACC estan orientats a tots els acceleradors de targetes gràfiques de NVIDIA Tesla[9] amb capacitat de còmput 2.0 o superior a Linux i Windows.
Amb la versió de PGI 15.10 també es poden usar processadors multinucli 64-bit x86 usant Linux, Windows i macOS.
PGI Compiler Assisted Software Testing (PCAST)[10] és un conjunt de capacitats destinades a testejar com de correcte és un programa i a determinar els punts de divergència entre les versions de codi del processador i la targeta gràfica, i també entre el mateix codi executant-se en arquitectures diferents del processador.
PGI té un analitzador estadístic[11] de programes paral·lels escrits amb directives OpenMP o OpenACC o accelerades mitjançant CUDA. Serveix per visualitzar el rendiment de tot allò que compon el programa i també proveeix ajudes per entendre per què algunes parts del programa tenen un temps d'execució més elevat. Amb aquesta informació es pot maximitzar la vectorització i el rendiment en un sol nucli del processador.
Aquest perfilador de rendiment és compatible amb codis font escrits en Fortran, C i C++, siguin o no compilats amb PGI.
Utilitzant el Common Compiler Feedback Format (CCFF) PGI desa la informació sobre com ha estat optimitzat el programa (el perquè s'ha fet o s'ha descartat una optimització concreta). Aleshores, el PGI Profiler s'encarrega d'extreure aquesta informació i associar-la amb el codi font i altres dades de rendiment per permetre veure-les totes simultàniament.
El PGI Debugger[12] va ser eliminat a partir de la versió 20.1 de PGI (6 de febrer de 2020).
El depurador de PGI és compatible amb Linux x86, macOS i Windows i és capaç de depurar programes en sèrie i en paral·lel i aplicacions amb MPI i/o OpenMP en estacions de treball SMP, en servidors, en clústers de memòria distribuïda i en clústers híbrids on cada node conté diversos processadors multinucli de 64 bits.
El compilador PGI inclou:
També és compatible amb les extensions del llenguatge paral·lel OpenACC i OpenMP.
Els compiladors PGI són admesos per una gran varietat de sistemes operatius de Linux, macOS i Windows que funcionin en processadors compatibles amb una arquitectura de 64-bit x86, i en Linux sobre processadors OpenPOWER. (Actualment, el depurador PGI només funciona en x86-64/x64.)
A continuació, es mostren els requisits del sistema:
Actualment, la versió estable de PGI és la 20.1, que va ser publicada el 6 de febrer de 2020.
L'ús del programari PGI depèn de l'acceptació de l'acord de llicència de l'usuari final.[15]
Les llicències dels usuaris amb PGI Professional poden gestionar permanentment les claus de la llicència després de la compra.
Les publicacions de la PGI Community Edition inclouen una clau de llicència específica per a aquesta versió.