Seminarium: Systemy Rozproszone
15 listopada 2012, godzina 12:15, sala 4070
Michał Pecio


Programowanie procesorów masywnie równoległych



Zaprezentuję architekturę dwóch nowoczesnych (wprowadzanych aktualnie na rynek) procesorów GPGPU: Intel Xeon Phi 5110P oraz NVIDIA Tesla K20.

Opowiem o dostarczanych przez producentów narzędziach do programowania wspomnianych urządzeń. Skupię się głównie na kompilatorach Intela oraz środowisku linuksowym procesorów Xeon Phi, które są stosunkowo nowe i zapewne mniej znane uczestnikom niż CUDA. Przypomnę prezentowany niedawno na seminarium standard OpenACC, mający na celu dostarczenie jednolitego języka do programowania różnego rodzaju koprocesorów.

Następnie przedstawię system StarPU, służący do wykonywania programów równoległych (tym razem w sensie "task-parallel") na maszynach heterogenicznych, wypsażonych w zwykłe procesory oraz różnorodne koprocesory/akceleratory służace do szybszego wykonywania niektórych specyficznych zadań. W systemie StarPU uruchamia się programy, które mogą dynamicznie alokować bloki danych oraz generować zależne od siebie zadania do wykonania na tych danych, dostarczając przy tym kod implementujący te zadania na różnych (być może wielu, niekoniecznie wszystkich) rodzajach procesorów istniejących w systemie. StarPU automatycznie planuje wykonanie zleconych zadań na dostępnych procesorach, uwzględniając dostępność implementacji danego zadania na dany procesor, podane zależności danych między zadaniami oraz konieczne transfery danych między procesorami.

Na końcu przedstawię moje pomysły na ułatwienie zrównoleglania istniejącego kodu narzędziami takimi jak OpenACC czy StarPU.

Serdecznie zapraszam!
Michał Pecio


Bibliografia: