Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    Heterogén számítási rendszerek

    A tantárgy angol neve: Heterogeneous Computing Systems

    Adatlap utolsó módosítása: 2021. május 27.

    Budapesti Műszaki és Gazdaságtudományi Egyetem
    Villamosmérnöki és Informatikai Kar

    Villamosmérnöki szak, MSc képzés

    Programozható logikai áramkörök alkalmazástechnikája mellékspecializáció

    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIMIMA15 2 2/1/0/v 4  
    3. A tantárgyfelelős személy és tanszék Szántó Péter,
    A tantárgy tanszéki weboldala http://www.mit.bme.hu/oktatas/targyak/VIMIMA15
    4. A tantárgy előadója

    Szántó Péter

    mesteroktató

    MIT

    5. A tantárgy az alábbi témakörök ismeretére épít Digitális technika
    6. Előtanulmányi rend
    Kötelező:
    NEM ( TárgyEredmény( "BMEVIMIM364" , "jegy" , _ ) >= 2
    VAGY
    TárgyEredmény("BMEVIMIM364", "FELVETEL", AktualisFelev()) > 0
    VAGY
    TárgyEredmény( "BMEVIMIMA25", "jegy" , _ ) >= 2
    VAGY
    TárgyEredmény("BMEVIMIMA25", "FELVETEL", AktualisFelev()) > 0)

    A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

    A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

    Ajánlott:
    Nincs
    7. A tantárgy célkitűzése A tantárgy a modern SRAM technológiájú FPGA eszközök nagyteljesítményű számítási alkalmazásait ismerteti, lefedve mind a jelfolyam alapú valósidejű digitális jel/kép/video feldolgozási, mind az általános célú számítástechnikai alkalmazásokat. Ismerteti a feladatok hardveres megoldásainak előnyeit, a nagysebességű párhuzamos és pipeline műveletvégzők tervezési kérdéseit, a komponens és modell alapú tervezési módszereket. Bemutatja az újrakonfigurálható társprocesszor alapú rendszermegvalósítások előnyeit a speciális tulajdonságok kiaknázásának lehetőségeit. Ismerteti a statikus és dinamikus újrakonfigurálás technológiáját, az általános célú és konfigurálható processzorok használatával kialakítható nagyteljesítményű rendszerek számítási és adatmozgatási teljesítményoptimalizálásának kérdéseit a tipikus alkalmazási területek követelményei alapján. Az általános célú heterogén nagyteljesítményű beágyazott rendszerek multicore CPU, GPGPU és FPGA típusú feldolgozó egységeinek együttes használatai módszereinek bemutatása, szoftverfejlesztési technológiák: CUDA, OpenCL.
    8. A tantárgy részletes tematikája

    Oktatási hét

    Tematika

    1.    hét

    A nagyteljesítményű számítástechnikai terület hagyományos megoldásai: párhuzamos szuperszámítógépek, számítógép clusterek, grid megoldások. Fontosabb felhasználók köre: Kutatások, pénzügyi adatfeldolgozás, geofizikai számítások, bioinformatika, védelmi kutatások

    2.    hét

    Problémák: költség, megbízhatóság, teljesítményigény, elhelyezés, hűtés. Alternatív megoldások: Multi core CPU, grafikus CPU, Cell processzor, ClearSpeed rendszer, FPGA alapú rendszer, automata processzor

    3.    hét

    Alternatív programozási modellek keresése: a szoftver megoldás flexibilitásának kombinálása a hardver nagy teljesítőképességével az FPGA-ra alapuló számítási hálózatok alkalmazásával.

    4.    hét

    Általános párhuzamosítási lehetőségek: végrehajtási idő, feldolgozási képesség, hatékonyság, granularitás.

    5.    hét

    Az Amdahl törvény. A párhuzamos és multi-core programozási paradigma. Feladat partícionálás, működés közbeni terhelés elosztás

    6.    hét

    Szerver architektúrák, kommunikációs interfészek. Párhuzamosítás CPU használatával: vektorizáció, többszálú végrehajtás (OpenMP, MPI).

    7.    hét

    Speciális gyorsítóeszközök áttekintése: a GPGPU általános jellemzői, műveletei támogatás, előnyök, hátrányok.

    8.    hét

    GPGPU programozási modell: CUDA és OpenCL.

    9.    hét

    Az FPGA alapú újrakonfigurálható hardver eszközök. Az FPGA, mint társprocesszor. Az FPGA konfigurációja, részleges újrakonfigurálás lehetőségei, előnyei, hátrányai.

    10. hét

    Fejlesztési lépések részleges újrakonfigurálás megvalósításához. A projektszerkezet kialakítása, rekonfigurálható tartományok konfigurációinak elkészítése

    11. hét

    Magas szintű FPGA fejlesztési lehetőségek: C alapú megoldások (Handel-C, Impulse-C, Mitrion-C, Catapult-C, C2H, Vivado HLS). A C alapú hardver szintézis lehetőségei, problémái.

    12. hét

    Xilinx Vivado HLS: párhuzamosítási lehetőségek; memória szintézis; interfész megvalósítási lehetőségek. OpenCL alapú FPGA fejlesztés.

    13. hét

    Nagyteljesítményű gyorsítóegységek rendszerbeillesztési feladatai. A Host és az HW gyorsító közötti kommunikáció kérdései

    14. hét

    A heterogén számítástechnika lehetséges jövőbeni irányai. A speciális gyorsító egységek és integrálásuk felhő alapú rendszerekbe

    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) Előadás és gyakorlat
    10. Követelmények

    Aláírást az kaphat, aki a félévközi követelményt, az előírt tervezési feladatot elfogadható minőségben legkésőbb a pótlási hét végéig teljesíti. Az aláírás megszerzése a vizsgára jelentkezés feltétele. A tárgyból írásbeli vizsgát tartunk, vizsgaidőszakban, 3 alkalommal. A végleges félévi jegyet a vizsgán elért eredmény (75%) és a félévközi tervezési feladatra kapott értékelés (25%) együttesen határozza meg.

    11. Pótlási lehetőségek

    A házi feladat a szorgalmi időszakban vagy a pótlási hét végéig beadható.

    12. Konzultációs lehetőségek Megegyezés szerint.
    13. Jegyzet, tankönyv, felhasználható irodalom

    A tárgyhoz kapcsolódó előadás fóliák elérhetők a tárgy tanszéki honlapján.

    14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
    Kontaktóra42
    Készülés előadásra7
    Készülés gyakorlatra 7
    Házi feladat elkészítése32
    Vizsgafelkészülés32
    Összesen120
    15. A tantárgy tematikáját kidolgozta

    Dr. Fehér Béla

    egyetemi docens

    MIT

    Szántó Péter

    tanársegéd

    MIT

    Egyéb megjegyzések A tárgy neve angolul: Heterogeneous Computing Systems