Kratki kurs: Uvod u MPI programiranje

Opis kratkog kursa

Message Passing Interface (MPI) je moćan standard za paralelno programiranje, omogućavajući programerima da pišu skalabilne i efikasne aplikacije za sisteme distribuirane memorije. Ovaj dvodnevni kurs je osmišljen da polaznike upozna sa osnovama MPI programiranja, opremivši ih znanjem i praktičnim vještinama potrebnim za razvoj paralelnih aplikacija. Kroz interaktivne sesije, praktične vježbe i primjere iz stvarnog svijeta, učesnici će steći čvrstu osnovu u MPI konceptima, sintaksi i tehnikama implementacije. Bilo da ste novi u paralelnom programiranju ili želite da poboljšate svoje vještine, ovaj kurs će vam pružiti osnovne alate za iskorištavanje moći MPI-a za računanje visokih performansi.

Uvod u MPI programiranje

Sadržaj kursa

Dan 1: Osnove MPI programiranja

  • Sesija 1: Uvod u paralelno računanje i osnove MPI
    • Pregled paralelnog računarstva
    • Uvod u MPI i njegovu arhitekturu
  • Sesija 2: Komunikacija od tačke do tačke
    • Razumijevanje prosljeđivanja poruka
    • MPI operacije slanja i primanja
    • Praktični primjeri komunikacije od tačke do tačke
  • Sesija 3: Kolektivne komunikacijske operacije
    • Uvod u kolektivnu komunikaciju
    • Emitujte, raspršite, skupite i smanjite operacije
    • Praktične vježbe sa kolektivnom komunikacijom
  • Sesija 4: Otklanjanje grešaka i profilisanje MPI programa
    • Uobičajene tehnike otklanjanja grešaka za MPI programe
    • Alati za profilisanje i analizu performansi

Dan 2: Napredni koncepti i aplikacije

  • Sesija 1: Napredne komunikacijske tehnike
    • Neblokirajuća komunikacija (MPI_Isend, MPI_Irecv)
    • Sinhronizacija i barijere u MPI
  • Sesija 2: Topologije procesa i virtuelizacija
    • Kartezijanske i grafske topologije u MPI
    • Efikasno preslikavanje procesa na hardver
  • Sesija 3: Razvoj paralelnih aplikacija sa MPI
    • Dizajniranje paralelnih algoritama koristeći MPI
    • Studije slučaja aplikacija u stvarnom svijetu
  • Sesija 4: Najbolje prakse i budući pravci u MPI programiranju
    • Optimizacija performansi u MPI programima
    • Budući trendovi u paralelnom programiranju

Ishodi učenja

Do kraja ovog kursa polaznici će moći da:

  • Razumeju osnovne koncepte paralelnog računanja i ulogu MPI-a u sistemima distribuirane memorije.
  • Pišu osnovne MPI programe koristeći operacije od tačke do tačke i kolektivne komunikacije.
  • Otklanjaju grešaka, profilisanje i optimizacija MPI aplikacija za poboljšane performanse.
  • Projektuju i razvijaju skalabilne paralelne aplikacije koristeći najbolje prakse u MPI programiranju.