HTML

Az élet kódjai

Csináld maga. Senki nem csinálja meg helyetted.

Friss topikok

  • sdani: Sajnos nekem is hasonló érzéseim vannak az R kiszorulásával kapcsolatban. Remélem jobban fogja tar... (2024.04.29. 10:48) R meetup
  • sdani: Nagyon jók ezek a bejegyzések! Feszültséggel teli, fordulatos, mint egy jobb krimi. :D Abba ne hag... (2024.04.29. 10:35) Wgel CTF
  • sdani: @Travis.CG: Egy kis szerencse sosem árt. :D (2024.03.01. 13:19) A bioinformatika helyzete 2024-ben
  • Travis.CG: Szóval az akadémiai szféra mazochistává tett, amit a Pinephone-al élek ki? Hmm, érdekes összefüggé... (2023.10.05. 18:23) Új barátom az Informatikai titkárságról
  • Travis.CG: Túl nagy a hype körülötte, ezért túlzó elvárások vannak vele szembe. Ha a korábbi chatbotokhoz kép... (2023.02.28. 06:28) chatGPT, a bioinformatikus

CUDA (1. rész)

2011.01.09. 10:00 Travis.CG

Nem minden nap esik meg az emberrel, hogy a munkája és a hobbija keresztezi egymást. Legalábbis két olyan távoli terület esetében, mint a demoscene és a biológia. Most viszont bekövetkezett a lehetetlen, GPU gyorsított bioinformatikai algoritmusokat kell készítenem. A feladatot értelemszerűen nem fogom bemutatni, de néhány általános érvényű, hasznos tudást megpróbálok megosztani az olvasókkal. Az itt megszerzett tudást remélem nem csak a munkám során, de a demók készítésénél is felhasználhatom.

A CUDA programozást én GNU/Linux (Slackware 13 64bit) rendszer alatt fogom végezni, ami valószínűleg több fejfájást fog okozni, mintha ugyan ezt Microsoft Windows alatt tenném. A videókártya egy Geforce 8500 GT. A cikk írásának idején sem volt a legújabb. Az elvek megismeréséhez viszont elég lesz.

Kezdjük is mindjárt a telepítéssel. Telepítettem a 260.19.26 jelű 64 bites NVidia meghajtóprogramot, abból is a "devdriver" jelűt. Aki használt már Linuxot és a fenti gyártó meghajtóprogramját, annak nem lesz nehézsége a telepítéssel. Aki még nem csinált ilyet, annak gyorsan leírom, mit kell tennie: Kilépni az X-ből, futási jogot adni a letöltött fájlnak, majd elindítani. Ha valaki nem Slackware-t használ, szüksége lehet a kernel fejlécállományokra.

A második lépést a programozói környezet (SDK) telepítése. Ez a CUDA Toolkit 3.2.16 64 bites verzió. Mivel a Slackware nem támogatott, ezért a Fedorás csomagot töltöttem le. Gyakorlatilag csak kibont egy tömörített állományt a megadott könyvtárba, esetemben az /usr/local/cuda-ba. Be kell állítani az elérési útba az /usr/local/cuda/bin-t (én az /etc/profiles.d/cuda.sh fájlt hoztam létre, beleírtam, hogy PATH="$PATH:/usr/local/cuda/bin"). Ha nem akarjuk újraindítani a gépet, akkor futtassuk a következő módon a cuda.sh-t:: . cuda.sh. A pont után hagyjunk szünetet! Ez a soruce-olás, amire nem tudok megfelelő magyar szót.

A programozói könyvtárak használatához pedig szerkeszteni kell az /etc/ld.so.conf állományt. Felvettem az /usr/local/cuda/lib64 sort, majd szerkesztés után rendszergazdai jogokkal futtassuk az ldconfig-t.

Az /usr/local/cuda/doc könyvtár rengeteg hasznos dokumentációt tartalmaz PDF formátumban. Egy kezdő programozónak viszont példaprogramokra van szüksége. Szerencsére ezeket is be lehet szerezni az NVidia oldaláról. Ez a korábbiakban megismert módon telepíthető. A felhasználó könyvtárába kitömöríti az állomány tartalmát.

Fordítsuk le a példákat! Lépjünk be a példák könyvtárának C alkönyvtárába és adjuk ki a make parancsot. Egy kis ideig eltart, mire a példák lefordulnak. Ha a fenti lépések hibátlanok, akkor a fordítás során csak figyelmeztetések tömkelegét kapjuk. Nézegessük a példákat, én is ezt fogom tenni.

Kiegészítés:

Mivel technikailag ide illik, ezért leírom, hogy a fenti folyamatot Fedora 14 alatt is végigjátszottam. Mint is mondjak? Nagyon más a telepítés menete. Először is, a Fedora tartalmaz egy nouveau kernel modult, ami megfigyeléseim szerint egy igen alacsony szintű képernyő meghajtó. Gyakorlatilag az initrd betöltése óta ott figyel a memóriában és minden képernyő kezeléssel kapcsolatos feladatot átvesz. Még a framebuffer vezérléséből is kiveszi a részét.

Ezért a telepítési lépéseket úgy kell kezdeni, hogy átírjuk a grub.conf-ot a /boot/grub könyvtárban. A kernel sor végére a következőt kell írni: rdblacklist=nouveau nouveau.modeset=0. Ez megakadályozza a kernel modul betöltését. A másik lépés, hogy az /etc/inittab fájlba a legutolsó sort (id:5:initdefault:) az 5-öst 3-asra átírjuk. Ennek célja, hogy megakadályozzuk a Fedorát, hogy elindítsa az X kiszolgálót. Indítsuk újra a rendszert. Csodáljuk meg a puritán bejelentkező képernyőt, majd lépjünk be root-ként és hajtsuk végre a fent leírtakat. Miután végeztünk, ne felejtsük el az /etc/inittab-ot 5-re visszaírni.

Szólj hozzá!

Címkék: programozás

A bejegyzés trackback címe:

https://cybernetic.blog.hu/api/trackback/id/tr752571170

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása