A A A

PGI CUDA Fortran Compiler


Graficzne procesory GPU ewoluowały w programowalnych, wysoko równoległych jednostkach obliczeniowych posiadających pamięci bardzo wysokiej przepustowości. Projekty GPU są optymalizowane pod kątem obliczeń wykorzystywanych do prezentacji grafiki, ale są generalnie użyteczne w wielu równoległych, wymagających dużych mocy obliczeniowych programach w tym High Performance Computing (HPC).

CUDA to architektura procesorów graficznych NVIDIA. Dotychczas środowisko programowania CUDA składało się z kompilatora C i szeregu narzędzi znanych jako CUDA C. CUDA C pozwala na bezpośrednie programowanie GPU z języka wysokiego poziomu.

PGI i NVIDIA postanowiły rozpocząć współpracę nad rozwojem CUDA Fortran. CUDA Fortran zawiera kompilator Fortran 2003 i szereg narzędzi do programowania procesorów graficznych NVIDIA używając właśnie języka Fortran. W najnowszych wersjach kompilatorów tego producenta tj. od wydania PGI 2010 zawarte jest wsparcie CUDA Fortran dla systemów Linux, Mac OS X i Windows.

Informacje instalacyjne i konfiguracyjne zawarte są w pobieranych pakietach wraz z dokumentacją CUDA Fortran Programming Guide and Reference



CUDA wspiera cztery kluczowe abstrakcje:
  • współpracę wątków zorganizowanych w grupach wątku
  • pamięć współdzieloną
  • synchronizację bariery w grupach wątku
  • koordynację niezależnych grup wątku zorganizowanych w gridzie

Programista CUDA jest zobowiązany do podziału programu na gruboziarniste bloki (coarse graing blocks), które mogą być wykonywane równolegle. Każdy blok jest podzielony na drobnoziarniste wątki, które mogą współpracować przy użyciu pamięci współdzielonej i synchronizacji bariery. Dobrze zaprojektowany program CUDA będzie działał na jakimkolwiek procesorze graficznym GPU z aktywną architekturą CUDA niezależnie od liczby dostępnych rdzeni procesora.



Więcej informacji na stronie www.pgroup.com


PGI CUDA - x86

Kompilator PGI CUDA C/C++ dla platform x86_64 oraz OpenPOWER pozwala programistom wykorzystującym technologie CUDA kompilować i optymalizować ich aplikacje CUDA w celu uruchomienia ich na opartych o architekturę x86 i OpenPower stacjach komputerowych, serwerach i klastrach z akceleratorem graficznym NVIDIA lub bez tego akceleratora.

PGI CUDA C/C++ zawuera:
  • wbudowane funkcje jądra urządzeń
  • tłumaczenie składni chevron do równoległych/wektorowych pętli
  • korzystanie z wielu rdzeni i instrukcji SSE/AVX

Więcej informacji na stronie www.pgroup.com