PGI 2017 wersja 17.9:
Wersja PGI 2017 używa nowego formatu klucza licencyjnego. Aby używać tej wersji konieczne jest uzyskanie i instalacja zaktualizowanych kluczy. Nowy format licencji pozwala na łączenie kluczy z wielu licencji sieciowych do jednego pliku. Ponadto wspiera on wcześniejsze wersje oprogramowania.
- kompilatory PGI Accelerator
- wsparcie dla akceleratorów GPU NVidia Tesla V100 GPU w PGI OpenACC oraz CUDA Fortran. Aby wygenerować kod dla akceleratora NVidia Tesla V100 należy użyć pod-opcji cc70 z opcjami kompilacji i linkowania -ta=tesla lub -Mcuda. Do współpracy z kartami graficznymi generacji Volta wymagane jest użycie CUDA 9
- zintegrowane wsparcie dla zestawu narzędzi CUDA Toolkit 9.0 Release Candidate (RC). Użycie CUDA 7.5 pozostaje domyślną opcją używaną przez kompilatory. Aby użyć CUDA 9 z kompilatorami oraz profilerem PGI 17.9 należy:
- instalacja wersji early access zestawu narzędzi CUDA 9
- dodanie linii CUDAROOT=/opt/cuda-9.0 podczas kompilacji, linkowania oraz wywoływania profilera
- użycie pod-opcji cuda9.0 z opcjami linkowania i kompilacji -ta=tesla lub -Mcuda
- wsparcie dla technologii CUDA Unified Memory, dzięki której nie jest wymagane jawne przenoszenie danych pomiędzy pamięcią systemową a pamięcią GPU. W celu uruchomienia tej funkcjonalności należy użyć opcji kompilatora -ta=tesla:managed
- alokator puli pamięci pozwalający na zminimalizowanie liczby wywołań cudaMallocManaged(). Alokator jest wywoływany poprzez zastosowanie opcji -ta=tesla:managed lub -ta=tesla:pinned
- wsparcie dla automatycznej głębokiej kopii typów pochodnych języka Fortran. Zastosowanie tej opcji pozwala na kopiowanie całych struktur danych, wraz z wskaźnikami i alokowanymi tabelami, pomiędzy hostem a urządzeniem docelowym. Do uruchomienia tej funkcjonalności należy użyć pod-opcji deepcopy w opcji -ta=tesla. Uwaga: typy polimorficzne nie są wspierane. Obecność nakładających się na siebie wskaźników może powodować błędy typu runtime
- generator kodu LLVM oraz runtime OpenMP dla kompilatorów PGI Linux/x86-64
- wsparcie dla składni oraz funkcjonalności OpenMP 4.5. Pętle typu parallel oraz distributive są wykonywane na wszystkich wątkach OpenMP równolegle
- kompilator PGI C++:
- usprawniono wydajność w benchmarku LCALS średnio o 20%, jak również wyeliminowano narzut związany z funkcją labmda opisującą te pętle
- współpraca z GNU 6.3
- inkrementalne wsparcie C++17 (zgodnie z Edison Design Group 4.13)
- nowe zasady automatycznej dedukcji z listy inicjalizacyjnej
- atrybuty dla przestrzeni nazw i enumeratorów
- kodowanie u8 dla literałów char
- definicje zagnieżdżonych przestrzeni nazw
- usunięcie niewspieranego słowa-klucz register
- usunięcie niewspieranego operatora++ (boolean)
- atrybut [[fallthrough]]
- atrybut [[modiscard]]
- atrybut [[maybe_unused]]
- heksadecymalne literały floating
- wsparcie dla kompilatorów PGI C++ jako host drivera CUDA 9 NVCC
- kompilator PGI Fortran:
- generacja informacji dla debuggerów
- profiler PGPROF:
Uwaga-poniższe funkcjonalności profilera dotyczą wyłącznie wywołania profilera z CUDA 9. Aby użyć CUDA 9 wraz z PGI 17.9, należy uruchomić profiler z opcją CUDAROOT ustawioną jako lokalizacji instalacji CUDA 9. Przykładowo, jeżeli CUDA 9 jest zainstalowane w /opt/cuda-9.0 należy podczas uruchomiania profilera dodać linię CUDAROOT=/opt/cuda-9.0.- poprawione profilowanie ujednoliconej pamięci:
- dodano powiązanie pomiędzy wydarzeniami ujednoliconej pamięci/błędami stronnicowania oraz źródłem alokacji pamięci
- wsparcie dla przełączania pomiędzy osią czasu pamięci segmentowanej i niesegmentowanej
- filtrowanie wydarzeń na podstawie adresów wirtualnych, powodów migracji danych oraz błędów stronnicowania
- dodano wsparcie dla profilowania współpracujących jąder CUDA
- tabela zawierająca detale dotyczące OpenACC podsumowująca każdy z zarejestrowanych zdarzeń
- umieszczono zdarzenia NVLink na osi czasu
- dodano przepustowość pamięci na diagramie topologii NVlink
- zwiększono ilość dostępnych opcji profilowania zdalnego w połączeniach typu multi-hop
- dodano wsparcie dla profilowania OpenACC na platformach wielordzeniowych
- Linux
- CentOS 5 lub nowsze, włącznie z CentOS 7
- Fedora 6 lub nowsze, włącznie z Fedora 25
- OpenSUSE 11 lub nowsze, włącznie z OpenSUSE Leap 42.2
- Red Hat Enterprise Linux 5 lub nowsze, włącznie z RHEL 7.3
- SUSE Linux Enterprise Server 11 lub nowsze, włącznie z SLES 12 SP2
- Ubuntu 12.04, włącznie z Ubuntu 16.10
- Windows
- Windows Server 2008 R2
- Windows 7
- Windows 8
- Windows 8.1
- Windows 10
- Windows Server 2012
- Windows Server 2016
- macOS wersje od 10.9 (Mavericks) do 10.12 (Sierra)
- wycofanie dokumentacji w plikach .pdf, została ona przeniesiona na: http://www.pgroup.com/resources/docs.htm.
Szczegółowe informacje dostępne są pod adresem: PGI Release Notes.