GPU-k a gravitációs hullám kutatásban Debreczeni Gergely MTA KFKI RMKI (Gergely.Debreczeni@rmki.kfki.hu) e-science Cafè 2011. november 14. Óbudai Egyetem Neumann János Informatikai Kar
Á.R.: Megfigyelhető jelenségek Gravitációs hullámok: Az általános relativitáselmélet által megjósolt jelenség. Hatalmas tömegek mozgásakor fellépő teridő torzulások tovaterjedései. Mindmáig csak közvetett (de nagyon meggyőző) bizonyítékunk van. Ált. Rel. megfigyelt jóslatai: Perihélium elfordulás Gravitációs lencsézés Az idő 'múlásának' változása 2
A Hulse- Taylor pulzár A grav. hull. kutatók Szent Grálja 1974 -ben fedezték fel (Russel Hulse, Joseph Taylor) Valószíűleg 2 neutron csillag 3,1 mm közeledés keringésenként 59 ms-os pulzálás 7,75 orás keringési idő 1993 megoszott Nobel-díj 3
Lehetséges GH források Csillagkettősök összeolvadása Sztochasztikus hullámok Pulzárok, neutron csillagok Szupernovák 4
Miért érdekesek? Az asztrofizikai objektumok teljesen új arcát láthatjuk meg Eddig láthatatlan dolgokat figyelhetünk meg Az emberiség új "érzékszerve" lenne Különböző elméletek tesztelése Wilheim Conrad Roentgen 1845-1923 5
Interferométerek A világ legpontosabb relatív mérése, 10-18 m pontosság! Rengeteg környezeti zaj kiküszöbölését kell megoldani Több izolált detektor kell, hogy koincidenciát tudjunk mérni A beeső gravitációs hullám megváltoztatja a karhosszúságot. Az interferencipontban ezáltal megváltozik a fényintenzitás. A mérés kimenete a két kar hosszúságának különbsége. 6
Bespirálozó kettőcsillagok Hullámformák A lehetséges hullámformákat ki lehet számolni és összehasonlítani a mérési adatokkal A "matched-filtering" módszert használjuk erre Nagyon érzékeny, de nagyon instabil módszer 7
A GPU-k felhasználása A Wiener-filter egy optimális lineáris szűrő módszer ismert jelalakok stacionárius zajban való kereséséhez. Fourier transzformáció Vektorok skaláris szorzása Vektorok összeadása, komplex konjugálása Integrálás (összegzés) A fenti algoritmusok művelet szinten is nagyon jól párhuzamosíthatók, ezen felül még paramétertér és adatszegmensek szintjén és feldarabolható a feladat. A GPU maximális kihasználtsága a cél! 8
A GPU-k felhasználása Ha a probléma visszavezethető az adatfolyam feldolgozás (stream processing) paradigmájára akkor sikeresen gyorsítható GPU-n Rengeteg probléma visszavezethető az Nincs CPU - GPU adat transzfer, a CPU csak vezérel, minden számolás a GPU-n alapvető kernel műveleti osztályok történik valamelyikére: A műveletek aritmetikai sűrűsége Leképezés (map) Összevonás (reduce) Szórás és gyűjtés (scatter and gather) Prefix összeg képzés (prefix sum) Pinned memoria használata Szűrés (filter) Globális és osztott memória használatának Rendezés (sort) Keresés (search) viszonylag kics, ezért egy kernel több adatdarabon is végrehajtja ugyanazt az operációt. Loop unrolling lehetségessé válik. optimalizálása 9
Pl.: Variancia számítás A variancia számítás például így végezhetö el GPU -n: Szorzatfüggvény: leképezés (map) művelet Templatekre kötegelt módon Minden adatelemre külön szál? Összegzés speciális redukálási művelet, az eredmény 1 elemű Az asszociatív műveletek hatékony párhuzamosításának elmélete már régóta létezik 10
Eredmények Miért jó ez a kísérletnek? Elért sebességnövekedés: CPU Quad Core AMD 3 GHz Gyorsabb, olcsóbb GPU: Tesla c2ö50 Az új detektorok érzékenyebbek lesznek, Mintavételezési frekvencia: 4096 Hz Adatcsonk mérete 2048 sec: 2 sokkal hoszabb jeleket képesek detektálni Szegmensek mérete 128 sec 500 template 23 amelyek feldolgozásához nagyságrendekkel többet kell számolni. minta További releváns több paraméterrel rendelkező releváns asztrofizikai modell tesztelése, vizsgálata is lehetővé válik. Régi CPU kód: 44 perc GPU kód: 17 másodperc! Az optikai és részecskefizikai teleszkópok riasztásai után minimális időkésedelemmel fel tudjuk dolgozni az adatokat. Több mint 2 nagyságrend az elért gyorsulás! 11
Összehasonlítás 5 GPU val kb 500 CPU számítási teljesítményét helyettesíthetjük: 3 Mft problémafüggő. Más 2.5 KW jellegű számítási vagy adatfeldolgozási feladatok más optimális megoldásokat igényelnek. 500 CPU-s klaszter (125 4 magos gép) összehasonlítás erősen 5 GPU + befogadó gépek 10-15 Mft 20-25 kw 107 Mft 37 kw A GPU kártyák (még) nem teljesen általános processzorok. HPC (pl: SGI Altrix ICE) Természetesen ez az Célprogramozás, régi kódok futtatás nem olyan egyszerű 12
Az RMKI Virgo csoport http://virgo.rmki.kfki.hu 13