[MEGOLDVA] Arch linux + BOINC es libcudart.so

Fórumok

A tema eleg felkapott neten, neztem is jopar megoldast, de egyik se mukodott.

Lenyeg a lenyeg, adott egy Nvidia prop. hajtotta kartya, minden mukodik. aur/cuda -t felraktam (2.2 -es, on-the-fly atirtam a PKGBUILD-ot). A boinc 6_4_5 -os valtozat, kezzel forgattam (nincs manager, de mast nem piszkaltam (GCC optimalizalason kivul)).

A gond: Hiaba pakolom be a leirasok altal leirt helyekre a /usr/lib/libcuda.so -t , nem ismeri fel boinc. (screen-el fut, a ~/.boinc/ mappabol inditva, s onnan is iranyitom boinc_cmd -vel.)

[---] Can't load library libcudart

Barmi otlet esetleg?

Hozzászólások

Ha kézzel forgattad (és mindent alapértelmezetten hagytál), akkor az /usr/lib/ helyett az /usr/local/lib/ könyvtárban keres a boinc. Érdemes lehet még egy 'ldd libcuda.so' parancsot is kiadni, hátha még hiányzik valami.

--prefix=/usr -el forgattam.

$ ldd /usr/lib/libcuda.so
linux-vdso.so.1 => (0x00007fffb37ff000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f07aaf72000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007f07aad5d000)
libdl.so.2 => /lib/libdl.so.2 (0x00007f07aab59000)
libm.so.6 => /lib/libm.so.6 (0x00007f07aa8d6000)
libc.so.6 => /lib/libc.so.6 (0x00007f07aa581000)
/lib/ld-linux-x86-64.so.2 (0x00007f07ab64a000)

ldd /usr/lib/libcudart.so.2
linux-vdso.so.1 => (0x00007fffe0dfe000)
libdl.so.2 => /lib/libdl.so.2 (0x00007f2ed8897000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f2ed867b000)
librt.so.1 => /lib/librt.so.1 (0x00007f2ed8473000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f2ed8163000)
libm.so.6 => /lib/libm.so.6 (0x00007f2ed7ee1000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f2ed7ccb000)
libc.so.6 => /lib/libc.so.6 (0x00007f2ed7975000)
/lib/ld-linux-x86-64.so.2 (0x00007f2ed8cf6000)

Nincs selinux (se semmi hasonlo). Ha van tipp hogy mi lehet, tipp hogy mit kene megneznem, en azonnal valaszolok/megcsinalom.

Azert toroltem, mert volt..persze hogy volt. De nem ismeri fel. Egy howto -ban pedig a .so.2-re hivatkozott, pusztan ennyi. Elotte meg egy olyant lattam ahol a "libcuda.so"-t kellet "libcudart.so" neven bemasolni a /usr/lib/boinc-client/ mappaba. Az a gond hogy jopar kort vegigfutottam mar az ugyben, s egyik se hozott semmi eredmenyt sem.

Nemcsak a driver kell, hanem a CUDA toolkit is, ez tartalmazza a libcudart.so fájlt. Nem tudom ki milyen másolásra hivatkozik, a CUDA 1.1-nél volt libcuda.so, de azzal nem megy a boinc. Nekem minden azonnal működött, bár az nVidia binárisokat tettem fel. Érdemes lehet az SDK-val is eljátszani (van Makfile), ha a példák nem mennek, a boinc se fog.

Eloszor az aur/cuda -t raktam fel, amit modositottam. Utana lattam hogy van cuda-toolkit, s ugyanaz. Lekaptam cuda-t, majd fel cuda-toolkit-et, de semmi nem valtozott (persze hiszen ugyanaz a csomag volt amit en mar kezzel osszepakolasztam). A boinc 6.4.5+ nem fordul sehogy sem. Se kulon GCC flagekkel, se opciokkal (leszedtem server,manager flageket), probalgatok forgatni de nem jon ossze. Most mar nekiestem kezzel atirogatni par forrasfajlt, talan par nap alatt kitudom javitani a hibas reszeket es leforgatni. (Itt-ott gcc hibak vannak, azokba akadok el, de egesz jol haladok)

Egy hülye kérdés: a videókártyád támogatja a CUDA-t?

--
Elméletileg nincs különbség elmélet és gyakorlat között. Gyakorlatilag van.

Megoldva. Szerencses hogy mindenhol mashol nezi / mas boinc telepszik.. de megvan hogy az alap 'keresesi utvonal' micsoda.

Igy nez ki:

Ez alapjan csinaltam (jopar kor google):
http://boinc.berkeley.edu/trac/attachment/ticket/863/boinc-cuda.patch

(S vegul a parancs. Ha nem leteznek a mappak, ertelemszeruen hozzuk letre oket.)
sudo ln -s /usr/lib/libcudart.so /usr/local/cuda/lib/libcudart.so

"30-May-2009 14:35:45 [---] CUDA devices found
30-May-2009 14:35:45 [---] Coprocessor: GeForce 8600 GTS (1)
"
:)

Üdv!

Én is eltöltöttem egy órát mire sikerült működésre bírnom, gondoltam beírom ide, mi volt nálam a gond, hátha másnak is segít.
Szóval, feltelepítettem a cuda-toolkitet, meg előtte a legfrissebb nvidia drivert, de a boinc továbbra is azt "mondta", hogy: "No cuda devices found"
Egy fórumon találtam meg a megoldást:


1. As mentioned in the previous post, put a link to libcudart.so in the BOINC client's data area - for me this is /var/lib/boinc-client
2. See what group the video card is in: ls -l /dev/nvidia*. For me this was owner=root, group=video
3. Add the group of the video device to the user boinc: sudo usermod -G video boinc
4. Restart BOINC: sudo /etc/init.d/boinc-client stop then sudo /etc/init.d/boinc-client start
As metioned check the messages in the manager window - you should hopefully see CUDA Devices Found