2021
informatika
AMD videókártyák programozása HIP rendszerben
Témavezető:
Dr. Reguly István
Dr. Reguly István
Összefoglaló
Az elmúlt évek során az AMD-s videókártyák nagy fejlődésnek indultak, programozhatóságuk sokat fejlődött, és egyre több ember számára érhetőek el. A kutatások, fejlesztések során is megnőtt az igény a nagy teljesítményű gyorsítók iránt. Ilyen nagy erőforrássokat használ a High Performance Computing (HPC) világában az OPS is. Ez egy olyan C/C++ alapú domain specifikus nyelv, amely strukturált térhálókon való alkalmazások implementálását és futtatását teszi lehetővé különböző architektúrákon, például az NVIDIA-s GPU-kon és sok magos CPU-kon. Segítségével könnyen karbantartható kódot készíthetünk. Ezen nyelv könyvtárában az AMD-re való fordítás nem volt lehetséges. Célkitűzésünk az volt, hogy az AMD GPU-k programozási nyelvét, a HIP-t is beemeljük az OPS könyvtárába, majd ennek teljesítményét, működőképességét több különböző GPU-n is teszteljük.
Dolgozatomban az AMD-s GPU-kat, majd a HIP-t mutatom be. Ezt követően az OPS-sel foglalkozom és bemutatom, hogy milyen módon sikerült az OPS kibővítése. A munka során virtuális gépeken és távoli gépeken linux környezetben végeztem a fejlesztést. Az elkészített könyvtárat több különböző GPU-n, több különböző alkalmazáson futtattam. Az így kapott eredményeket megvizsgáltam, kiértékeltem és hasonló teljesítményű NVIDIA-s videókártyákon mért eredményekkel is összevetettem. Az értékelés során vizsgáltam a futásidőket, több GPU esetén a GPU-k közötti kommunikációs időt is. Vizsgáltam, hogy milyen feladatok elvégzése közben képes hatékonyan működni ez az architektúra.
Az OPS open-source és megtalálható Githubon. Az elkészült könyvtár is felkerült ide, így mostantól bárki számára elérhető.
Dolgozatomban az AMD-s GPU-kat, majd a HIP-t mutatom be. Ezt követően az OPS-sel foglalkozom és bemutatom, hogy milyen módon sikerült az OPS kibővítése. A munka során virtuális gépeken és távoli gépeken linux környezetben végeztem a fejlesztést. Az elkészített könyvtárat több különböző GPU-n, több különböző alkalmazáson futtattam. Az így kapott eredményeket megvizsgáltam, kiértékeltem és hasonló teljesítményű NVIDIA-s videókártyákon mért eredményekkel is összevetettem. Az értékelés során vizsgáltam a futásidőket, több GPU esetén a GPU-k közötti kommunikációs időt is. Vizsgáltam, hogy milyen feladatok elvégzése közben képes hatékonyan működni ez az architektúra.
Az OPS open-source és megtalálható Githubon. Az elkészült könyvtár is felkerült ide, így mostantól bárki számára elérhető.
Dr. Reguly István