K-INFO
HU
EN
Belépés

Párhuzamos programozás laboratórium

Parallel Programming Laboratory
A tantárgyleírás hatályossága
Hatályosság kezdete:
2026. March 21.
Hatályosság vége:
Tantárgy neve (magyarul, angolul)
Párhuzamos programozás laboratórium
Parallel Programming Laboratory
Tantárgykód BMEVIIIMB02
Tantárgyjelleg
Képzési szint
Kurzustípusok és óraszámok (heti/féléves)
Kurzustípus elmélet gyakorlat laboratóriumi gyakorlat
óraszám (heti) 0 0 3
jelleg (kapcsolt/önálló) önálló
Tanulmányi teljesítmény/értékelés típusa félévközi érdemjegy
Tantárgy kreditértéke 4
Tantárgyfelelős
Dr. Tóth Balázs György
elérhetőség: tbalazs@iit.bme.hu
Tantárgyat gondozó oktatási szervezeti egység
Irányítástechnika és Informatika Tanszék
Kar Villamosmérnöki és Informatikai Kar
Tantárgy weboldala http://cg.iit.bme.hu/portal/oktatott-targyak/parhuzamos-programozas-laboratorium
Tantárgy elsődleges mintatantervi jellege
Közvetlen előkövetelmények – Erős előkövetelmény nincs
Közvetlen előkövetelmények – Gyenge előkövetelmény nincs
Közvetlen előkövetelmények – Párhuzamos előkövetelmény nincs
Közvetlen előkövetelmények – Mérföldkő előkövetelmény nincs
Közvetlen előkövetelmények – Kizáró feltétel nincs

Célkitűzés

Tantárgyprogram
1. Bevezetés, fejlesztő környezet megismerése.

A labor célja a párhuzamos algoritmusokban gyakran alkalmazott paraméter scan megismerése és az erre épülő alkalmazások párhuzamosítása. A feladat megoldása során lehetőség nyílik egy konkrét hosszútávú ütemező megismerésére.

 

2. Check-point elosztott környezetben.

 A labor célja az előző alkalommal elkészített program kibővítése egyszerű check-point kialakításával. A check-point hatásának mérése a futási idők szempontjából. SpeedUp becslése.

 

3. Párhuzamos programok szálakkal UNIX környezetben.

A labor célja a POSIX szálak kezelésének átismétlése. Egyszerű párhuzamos program készítése POSIX szálakkal. Futási idők mérése. SpeedUp becslése.


4. Párhuzamos program készítése OpenMP környezetben.

A labor célja az OpenMP eszközkészletének átismétlése. Előző órai feladat elkészítése OpenMP környzetben. Futási idők mérése és összehasonlítása az előző laboron készített implementációkkal.


5. Párhuzamos programok MPI környezetben.

A labor célja az MPI eszközkészletének átismétlése. A labor során lehetőség nyílik egyszerű kommunikációs sémák kipróbálására, az eltérő sémák hatása a futási időre.


6. Matematikai könyvtárak (MKL, LAPACK, BLAS) megismerése.

A labor célja egy számításigényes feladat megvalósítása BLAS könyvtárral GPGPU kártyán. A labor során az elkészült implementációt skálázhatóság és teljesítmény szempontjából is megvizsgáljuk.


7. Egy egyszerű feladat IaaS felhőbe migrálása.

A labor célja a cloud alapú távoli erőforrások és a lokális alkalmazások összekapcsolásának megismerése. A labor során bemutatjuk a felhőmenedzsment eszközöket és a felhő alapú szolgáltatások létrehozását.
 
8. Egyszerű CUDA programok készítése.
A labor célja a grafikus hardveren futó párhuzamos alkalmazások megismerése. A labor során bemutatjuk a CUDA környezetben elérhető Thrust konténer könyvtárat, és néhány ráépülő alkalmazást. Amennyiben a hardver környezet engedi, lehetőség lesz több GPGPU kártyán futó CUDA program készítésére.


9. MPI és CUDA könyvtárra épülő alkalmazás kialakítása.
A labor során bemutatjuk az eltérő párhuzamosítási stratégiák egy rendszeren belüli integrálásának lehetőségeit. A masszívan párhuzamos és elosztott rendszerek összekapcsolásával ötvözhetőek a kedvező tulajdonságaik és részben kiküszöbölhetőek az egyes sémák hátrányai.

A hallgatók a gyakorlatban megismerkedhetnek a felhő alapú rendszerek és a hozzá kapcsolódó fejlesztő- és teszteszközök használatával, valamint konkrét feladatokon keresztül elsajátíthatják a párhuzamos programozás lépéseit, módszereit. Megismerhetik továbbá a hagyományos informatikai alkalmazások felhőbe történő migrálásának kritériumait és lépéseit. A hallgatók a laborfeladatok nagy részét a CIRCLE rendszer segítségével biztosított felhő környezetben oldják meg.

Tanulmányi eredmények

Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:

Tudás

Nincsenek rögzített tanulási eredmények.

Képességek

Nincsenek rögzített tanulási eredmények.

Attitűd

Nincsenek rögzített tanulási eredmények.

Autonómia és felelősség

Nincsenek rögzített tanulási eredmények.

Oktatási módszertan

A tantárgy laborjain a hallgatók a feladatok nagy részét a CIRCLE rendszer segítségével biztosított felhő környezetben oldják meg, és egyéni házi feladatot kapnak. Az értékelés alapja az egyes méréseken kapott osztályzatok és a házi feladatra kapott osztályzat átlaga.

Tanulástámogató anyagok

Nincs megadva.

A tantárgy teljesítéséhez ajánlott előzetes ismeretek

Tudás típusú kompetenciák
(azon előzetes ismeretek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
Programozás, adat szerkezetek, algoritmusok, matematika.
Képesség típusú kompetenciák
(azon előzetes képességek és készségek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
nincs
Ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák
(azon ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák összessége, amelyek jelentősen hozzájárulnak a tantárgy eredményes teljesítéséhez)
Programozás, adat szerkezetek, algoritmusok, matematika.
Általános szabályok
Követelmények: Laborok TVSZ-nek megfelelő látogatása  és a félév végén házi feladat elkészítése. A félév végi érdemjegy a teljesített laborok (50%) és a házi feladat eredményéből (50%) áll össze. Pótlási lehetőségek: A házi feladat bemutatható a pótlási hét végéig.
Teljesítményértékelési módszerek
Szorgalmi időszakban végzett teljesítményértékelések részletes leírása

Nincs megadva részletes értékelés.

Szorgalmi időszakban végzett teljesítményértékelések részaránya

Nincs megadva részarány.

Vizsgaidőszakban végzett teljesítményértékelések részletes leírása

Nincs megadva részletes értékelés.

Vizsgarészek részaránya

Nincs megadva részarány.

Érdemjegy megállapítása

Nincs megadva érdemjegy határ.

Jelenléti és részvételi követelmények

Nincs megadva jelenléti követelmény.

Javítás, ismétlés és pótlás különös szabályai

Nincs megadva.

Rövid leírás

Nincs megadva.

Részletes leírás

Nincs megadva.

Ajánlott tantárgyak
A C++ programozási nyelv ismerete. - BMEVIIIMA06 Nagyteljesítményű párhuzamos rendszerek: kredit megszerzése. - BMEVIIIMB01 GPGPU alkalmazások: kredit megszerzése vagy párhuzamos felvétel.
A tantárgy elvégzéséhez szükséges tanulmányi munka

Nincs megadva munkaidő bontás.

Tantárgykövetelmények hatályossága
Tantárgykövetelmények hatályosságának kezdete:
Tantárgykövetelmények hatályosságának vége:
Tantervi elhelyezés

Nincsenek rögzített tantervi elhelyezések ehhez a tárgyverzióhoz.