Adatbányász algoritmusok tanulmányozása grafikus vezérlő kártyákon történő alkalmazásukhoz

2016-2017 tavasz

Nincs megadva

Téma leírása

Napjainkban egyre több területen (pl.: telekommunikáció, pénzügy, orvostudomány, autóipar, katonai alkalmazások) egyre gyakrabban van szükség adatbányász algoritmusok használatára (data-mining), amelyek segítségével nagy mennyiségű adathalmazból új ismeretet, összefüggést lehet kinyerni. Mivel ezen algoritmusoknak gyakran óriási adathalmazon, nagy komplexitású számításokat kell végezniük, így a feladat elvégzése jelentős mennyiségű időt is igényelhet. Az időbeli teljesítmény fokozására ígéretes megoldást kínálnak a párhuzamosított algoritmusok alkalmazásai, amelyhez megfelelő hardver is szükséges. A grafikus vezérlők az architektúrális felépítésükből adódóan kiválóan alkalmazhatóak párhuzamos számítások elvégzésére. A számítási időigény mellett más egyéb kihívásokkal is szembe kell nézni, mint a hatékony memória használat.

Számtalan adatbányász algoritmus már régóta elérhető, éppen ezért a hallgató első feladata ezen algoritmusokat felkutatása és tanulmányozása. Ennek során azt is meg kell vizsgálnia, hogy ezen algoritmusok milyen mértékben képesek kihasználni a párhuzamosított környezet nyújtotta előnyöket. Az irodalmi munkát követően, a szerzett eredmények demonstrálása, szabadon választott algoritmusok implementálásával történik. A mérésekhez a bemeneti adathalmazt a valós életből vesszük. A hallgató feladata, hogy az elméleti és a gyakorlati tevékenység után további javaslatokat tegyen a párhuzamosított adatbányász algoritmusok gyorsítási lehetőségeire.

Az implementáció során a használt eszközök jelentős mértékben befolyásolják a hatékonyságot. Ugyan számtalan lehetőség van a grafikus vezérlők kezelésére, a munka során elsősorban az OpenCL keretrendszer nyújtotta lehetőségeket próbáljuk vizsgálni, kihasználni. Az OpenCL a legszélesebb körben használt keretrendszer, amely egyidejűleg számtalan grafikus vezérlő használatát is támogatja (NVIDIA, AMD, Intel). Szintén a hatékonyság véget elsősorban alacsony szintű, C és C++ nyelveket használunk a megvalósításra az OpenCL keretrendszerre építkezve.

A téma tovább is vihető TDK témaként, ill. diplomaként is: ebben az esetben a hallgatónak lehetősége van a szerzett ismeret alapján saját algoritmus kutatására, optimalizálására és végül a hatékonyság elméleti is tapasztalati úton történő bizonyítására szintén a valós életből vett feladatok felhasználásával.

Feltételek

  • angol nyelv, C++ ismeretek

Maximális létszám: 3 fő