Lygiagretaus programavimo įvadas – tai LECAD laboratorijos kursas Liublianos universitete, kuris yra PRACE (Europos pažangiosios kompiuterijos partnerystės) dalis. LECAD laboratorijoje daug dėmesio skiriama lygiagrečiojo programavimo mokymui kartu su pirmaujančiais Europos HPC (didelio našumo skaičiavimų) centrais.
Kursai idealiai tinka žmonėms, jau turintiems tam tikrų IT ir programavimo žinių, tačiau ypač tinka jauniesiems programuotojams, tik pradedantiems dirbti. Norintiems mokytis praverstų tam tikros C, C++, Fortran, Python ar panašių programavimo kalbų žinios. Kursas trunka 5 savaites. Jam turėsite skirti apie 4 valandas per savaitę. Galite pradėti bet kada ir mokytis savo tempu.
Šio kurso temos
Lygiagretusis programavimas naudojamas apibūdinti procesą, kai viena didelė problema suskaidoma į keletą mažų ir aiškiai apibrėžtų žingsnių ir veiksmų. Instrukcijos perduodamos keliems procesoriams, kurie lygiagrečiai atlieka reikiamus skaičiavimus - iš čia ir kilo pavadinimas.
Kurso metu iš karto nagrinėjami pagrindiniai lygiagrečiojo programavimo pagrindai, naudojant šias kalbas: C, C++, Python, Fortran, Cuda / OpenCL ir kt. Kursas apima lygiagrečiojo programavimo pagrindus, OpenMP (Open Multi-Processing) ir MPI (Message Passing Interface). Kurso pabaigoje besimokantieji turės galimybę pasitikrinti savo žinias atlikdami praktines ir interaktyvias užduotis. Jie taip pat susipažins su hibridinėmis ir pagreitintomis paradigmomis ir supras, kaip valdyti skirtingus dviejų procesų ar programų aspektus.
Ko išmoksite?
- Sužinosite, kaip įdiegti atvirąjį MP vieno daugiabranduolinio procesoriaus bendrosios atminties paradigmoje ir naudoti MPI ryšiui tarp dviejų procesų ar programos funkcijų valdyti.
- Susipažinsite su OpenMPI bibliotekos projektu, kuriuo naudojasi TOP 500 superkompiuterių ir kuriuo siekiama sukurti vieną pasaulinio lygio atvirojo kodo MPI realizaciją, pagrįstą geriausia praktika.
- Sužinosite, kaip išreikšti skaitinius uždavinius lygiagrečiojo programavimo paradigmose, suprasite galimus projektavimo ir našumo trikdžius heterogeninėse architektūrose Susipažinsite su hibridinėmis ir spartinimo paradigmomis ("Cuda", "OpenCL").