A A A


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


  • wspierane systemy operacyjne:
    • 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)

  • inne:


Szczegółowe informacje dostępne są pod adresem: PGI Release Notes.