OpenACC - nowy standard programowania równoległego
Autor: Zbyszek | 18:49
(6)
Firmy Nvidia, Cray, Portland Group (PGI) i CAPS zapowiedziały wprowadzenie nowego standardu programowania równoległego opartego na dyrektywach - OpenACC. OpenACC to otwarty standard programowania równoległego opracowany, aby umożliwić wykorzystanie w prosty sposób możliwości jakie dają heterogeniczne systemy obliczeniowe oparte na CPU i GPU. OpenACC umożliwia programistom wprowadzanie do kompilatora prostych poleceń zwanych "dyrektywami", które mają przyspieszyć wybrane części kodu bez potrzeby modyfikowania, czy dostosowywania samego kodu przez programistów.
OpenACC ma pomóc programistom pracującym w takich dziedzinach jak m.in. chemia, biologia, fizyka, analiza danych, klimatologia i wielu innych. Standard OpenACC jest w pełni kompatybilny z architekturą programowania równoległego Nvidia CUDA. Istniejące kompilatory firm Cray, PGI i CAPS mają obsługiwać standard OpenACC na początku pierwszego kwartału 2012.
K O M E N T A R Z E
Nvidia wpycha cudaka gdzie się da (autor: Mav | data: 15/11/11 | godz.: 19:08) zamiast popularyzować opencl.
no prosze (autor: Krax | data: 15/11/11 | godz.: 19:30) otwarty system od nV, ktos tam chyba glodem przymiera
@news (autor: Promilus | data: 15/11/11 | godz.: 19:44) To chyba ma działać na tej zasadzie, że zamiast pisać osobno kod wykonywalny dla GPU i CPU piszą jedną aplikację, zaznaczają dyrektywą gdzie się zaczyna część zoptymalizowana pod wykonanie równoległe i tam ten obszar kompiler traktuje wyjątkowo zależnie czy kompilujemy pod GPU czy multiCPU. Nijak to nie zastępuje OpenCL ani z nim nie konkuruje.
hmmmm (autor: pomidor | data: 15/11/11 | godz.: 21:46) "OpenACC umożliwia programistom wprowadzanie do kompilatora prostych poleceń zwanych "dyrektywami", które mają przyspieszyć wybrane części kodu bez potrzeby modyfikowania, czy dostosowywania samego kodu przez programistów."
A czy dodawanie dyrektyw do kodu nie jest jego modyfikacją ? :)
Kolejny standard, chyba konkurencja dla CPP AMP. Skoro AMP jest otwarty, to nie ma sensu wprowadzać nowego gizmo, bo to tylko spowoduje problemy z kompatybilnością.
To jest niestety chore w światku IT (i nie tylko) że każdy chce wprowadzać swoje standardy, bo wydaje mu się że będą najlepsze.
@4 . (autor: Qjanusz | data: 16/11/11 | godz.: 08:05) nie modyfikujesz kodu w sensie nie zmieniasz jego algorytmu. Dodawanie tych dyrektyw wygląda raczej jak dodawanie nazwijmy to komentarzy w określonych miejscach.
Co do kolejnego standardu, to tak niestety działa nVidia (CUDA, Physx, OpenACC). Psują rynek i liczą kasę, którą na tym ugrali.
No to teraz czekamy... (autor: MBR[PL] | data: 16/11/11 | godz.: 08:36) na sponsorowane żywymi $$$ konkursy dla programistów, których warunkiem będzie użycie kolejnego niezbyt chcianego dziecka, jakim jest OpenACC (i tak OpenAL ma trudną drogę przez niechęć Microsoftu - jak zwykle w takich przypadkach. Wystarczy spojrzeć np: ile na dziś konwerterów wideo jest napisanych pod OpenCL, a ile pod silnie sponsorowane przez nV CUDA (to zadanie wybitnie nadające się do paralelizacji, co widać i po praktycznie liniowej skalowalności z jądrami CPU w praktycznie dowolnej obecnie stosowanej ilości).
Moje skromne zdanie - im więcej konkurencyjnych do OpenAL standardów (CUDA, Stream, OpenACC czy implementacji OpenAL działającej tylkon na sprzęcie danego producenta - Intel) tym gorzej dla rynku - wolniejsze przyjmowanie się GPGPU i sytuacja zajadłej kłótni małych przed wylądowaniem w zupie - jak tak dalej pójdzie wszystkich jak zwykle "pogodzi" Microsoft ze swoim zamkniętym DirectCompute, pewnie dostępnym w nowych wersjach tylko pod aktualnie promowane przez MS OSy - pewnie trzeba będzie przymusić czymś userów do przejścia na Windows8, tak jak było z NT 6.x i DX>=10 oraz DXVA HD "dziwnym zbiegiem okoliczności" nigdy niedostępne pod NT 5.x
D O D A J K O M E N T A R Z
Aby dodawać komentarze, należy się wpierw zarejestrować, ewentualnie jeśli posiadasz już swoje konto, należy się zalogować.