Programujemy superkomputer
Superkomputery stają się istotnym elementem pracy naukowej, coraz częściej wykorzystywane są także w zastosowaniach praktycznych – na przykład do składowania i analizy danych z sieci społecznościowych, czy jako ważne narzędzie projektowania nowych urządzeń zarówno tych dużych jak samoloty czy samochody, jak też tych mniejszych. Współczesne komputery, także te wykorzystywane w zastosowaniach domowych, wykorzystują wiele procesorów, każdy z procesorów składa się z wielu rdzeni obliczeniowych. Programowanie takich komputerów wymusza stosowanie nowych technik programowania oraz nowych narzędzi i algorytmów. Kluczowym problemem jest jednoczesne wykorzystanie wielu procesorów (rdzeni obliczeniowych) do rozwiązania danego problemu.
Na warsztatach przybliżymy uczestnikom, na czym polega programowanie równoległe – programowanie wykorzystujące wiele procesorów. Na prostych przykładach pokażemy, jak stworzyć algorytm równoległy i z jakimi problemami się to wiąże. Przykłady zostaną zilustrowane poprzez wykonanie przez uczestników równoległych aplikacji. W dalszej kolejności pokażemy, jak algorytmy równoległe zapisać w postaci programu i uruchomić na superkomputerze.
Opowiemy o najważniejszych narzędziach wykorzystywanych do programowania równoległego oraz przedstawimy, dlaczego nie jest to takie proste.