Tantárgy neve: Párhuzamos algoritmusok |
Tantárgy Neptun kódja: Nappali: GEMAK132M Tárgyfelelős intézet: MAT - Matematikai Intézet |
Tantárgyelem: S_V1 2 tárgy választandó | |
Tárgyfelelős: - | |
Közreműködő oktató(k): | |
Javasolt félév: 3 | Előfeltétel: |
Óraszám/hét: Előadás (nappali): 2 Gyakorlat (nappali): 2 | Számonkérés módja: kollokvium |
Kreditpont: 4 | Munkarend: Nappali |
Tantárgy feladata és célja: A programozási alapok elméleti kiterjesztése a párhuzamosság bevezetésével. Olyan párhuzamos algoritmusok fejlesztése, használata, melyek valóban jobb lépésszámot és hatékonyságot hozhatnak a programozás során. Soros programok párhuzamosítási lehetőségei. Tudás: Az angol nyelvtudása eléri a képzéshez, az angol nyelvű szakirodalom megismeréséhez, a szakszöveg megértéshez, feldolgozásához, és a szakképzettséggel ellátható szakmai feladatokhoz elvégzéséhez szükséges, valamint a folyamatos szakmai önképzéshez szükséges szintet. Ismeri a műszaki informatikai rendszerek fejlesztéshez szükséges, széles körben alkalmazható problémamegoldó technikákat. Érti az informatikai alkalmazások fejlesztéshez szükséges természettudományos és mérnöki módszerek elvét. Az informatikai szakmán belül, a specializációtól függően mélyebb elméleti és gyakorlati ismeretekkel rendelkezik az alábbiak közül egy vagy néhány területen: szoftvertervezés, rendszerszimuláció és -modellezés, kommunikációs hálózatok, mobil- és erőforrás-korlátos alkalmazások, számítógépes grafika és képfeldolgozás, kritikus és beágyazott rendszerek, médiainformatika, IT-biztonság, párhuzamos rendszerek, intelligens rendszerek, számításelmélet, adatbázisok. Képesség: Képes törvényszerűségeket, összefüggéseket feltárni és megérteni. A megszerzett tudást képes alkalmazni és a gyakorlatban hasznosítani. Képes problémamegoldó technikákat használni a szoftver- és alkalmazásfejlesztés során. A specializációjának megfelelő területen elemzési, tervezési és megvalósítási készséggel rendelkezik. Képes az informatikához kapcsolódó tudományokban a megszerzett szakmai tapasztalat ismereti határairól származó információk, felmerülő új problémák, új jelenségek feldolgozására. Képes helytálló szakmai bírálatot vagy véleményt megfogalmazni informatikai és mérnöki területeken. Attitűd: Szakmailag magas szinten, tervezetten és a minőségi szempontokat figyelembe véve hajtja végre fejlesztési feladatait, a létrejövő rendszerek hibamentességéről meggyőződik. Nyitott és elkötelezett az önművelésre, önfejlesztésre, az egyéni tudás, ismeret elmélyítésére, bővítésére a természettudományok, a mérnöki és informatikai tudományok területén. Kezdeményező a problémamegoldásban, képes megalapozott döntéseket hozni, nem tér ki a személyes felelősségvállalás elől. Fontosnak tartja az informatikai szakma közvetítését és saját tudásának átadását. Munkája során vizsgálja a kutatási, fejlesztési és innovációs célok kitűzésének lehetőségét és törekszik azok megvalósítására. Autonomia és felelősség: Felelősséget érez a határidők betartására és betartatására. | |
Tárgy tematikus leírása: Párhuzamos architektúrák, párhuzamos programnyelvek. Adatpárhuzamosítás. Mátrixalgoritmusok, rendezések. Processz kommunikáció. Pipeline párhuzamosítás, lineáris egyenletrendszerek megoldási módszerei. Adatmegosztás. Szinkronizált párhuzamosság. Relaxációs módszerek, multifelbontás algoritmusok. Multicomputer architekturák, üzenet-átadó programok. Párhuzamos numerikus algoritmusok. PVM és MPI típusú programok. Java alapú cluszter. | |
Félévközi számonkérés módja és az aláírás megszerzésének feltétele (Nappali): 2db zárthelyi. 6-6 pontos zárthelyik. Aláírás megszerzése: mindkét zárthelyi legalább 3 pontos megírása (minden feladat tökéletes megoldása 1 pontot ér). | |
Félévközi számonkérés módja és az aláírás megszerzésének feltétele (Levelező): | |
Gyakorlati jegy / kollokvium teljesítésének módja, értékelése (Nappali): A vizsga írásbeli. A vizsga 90 perces és 8 pontot lehet maximálisan megszerezni (azaz összesen 8 feladat beugró nélkül és minden feladat tökéletes megoldása 1 pontot ér). A vizsga során számonkérésre kerülnek pl. az alapalgoritmusok, melyek beugrónak számítanak a vizsgán, azaz ezek teljesítése kötelező a legalább elégséges jegy megszerzéséhez. A jegyek kiosztása a következő: 0-3p elégtelen(1); 4p elégséges(2); 5p (közepes); 6p (jó); 7-8p jeles(5) az eredmény. | |
Gyakorlati jegy / kollokvium teljesítésének módja, értékelése (Levelező): | |
Kötelező irodalom: 1. Kacsuk P., Ferenczi Sz.: Párhuzamos és konkurrens programozás soktranszputeres rendszeren, BME Mérnöktovábbképző Intézet, 1993. | |
Ajánlott irodalom: 1. Giancarlo Zaccone: Python Parallel Programming Cookbook, Packt Publishing - ebooks Account, 2015. |