Aktualności:

Czy uczestniczysz w Projekcie miesiąca?

Menu główne

CUDA - nie działa na Ubuntu Server

Zaczęty przez Rysiu, 29 Kwiecień 2011, 17:27

Rysiu

Zainstalowałem na komputerze Ubuntu 10.10 Server.

Mam kartę graficzną GeForce 9800 GT i zainstalowałem oficjalne sterowniki od nVidii.

Mam testową aplikację deviceQuery, która wypisuje informacje o dostępnych kartach graficznych.

Problem jednak polega na tym, że zwraca Ona:

CUDA Device Query (Runtime API) version (CUDART static linking)
There is no device supporting CUDA

Test PASSED

Press ENTER to exit...


System nie wykrywa żadnej karty graficznej...

Sam kompilator działa bezproblemowo i kompiluje kod. Gdy jednak próbuję wykonać coś na CUDA to kernele niczego nie wykonują (brak karty graficznej).

Z tego co wiem to sterownik jest ok. Karta graficzna jako karta jest widoczna - nie jest widoczna tylko jako urządzenie wspierające CUDA.

Od znajomego, który swojego czasu to naprawił dostałem informację, że: "Brakowało w bibliotekach systemowych wskazania na biblioteki CUDA i urządzeń."

Ktoś wie jak dodać te wskazania i co można zrobić aby wszystko zaczęło grać?

Grzes

Uporałeś się z tym? Pewnie pojutrze dostanę gt240 512MB DDR5 i wyląduje w maszynie pod kontrolą ubuntu server 10.10... skoro mówisz, że są z tym pewne problemy to napiszę jak to uruchomiłem (zakładam optymistycznie że zadziała  ;) ).

krzyszp

Jak będziesz miał problemy (manager nie będzie wykrywał CUDA), to po starcie środowiska zatrzymaj i uruchom znowu usługę boinc.
U mnie pomogło...

Fajne zegarki :)
Należę do drużyny BOINC@Poland
 Moja wizytówka

Rysiu

Tyle, że ja na samym BOINCu nie sprawdzałem. Chodzi mi o kompilacje i uruchamianie własnych programów. Chociaż zapewne i BOINC by nie zatrybił bo "CUDA not found".

Prosiłbym o informacje jak rozwiązać problem  :attack:

buninek


Grzes

Liczyłem po cichu, że kartę dziś dopadnę ale oczekują na dostawę, także najpóźniej jutro bo proline nie nawala.
buninek dzięki za tego linka, to mi życie ułatwi. X-ów nie mam zamiaru tam stawiać jak mnie życie nie zmusi.

Rysiu a pisałeś już cokolwiek na cuda? też m.in. z tego powodu zaopatruje się w tę kartę. Boinc przy okazji tak by się nie nudziła :)

Zastanawiam się tylko co zrobię z dodatkowymi 70W ciepła w obudowie... w pomiesczeniu 21st.. core 2 duo e4500, 4x hdd i mam w budzie 29st. Wentylator w zasilaczu 12cm, z tyłu obudowy 8cm. Z przodu zasysający powietrze 12cm z innego starego zasilacza. Do tego w środku wentylator kierujący powietrze przez dyski...



w lato będzie wesoło...

ps. wolałbym bydę trzymać zamkniętą ze względu na dyski, z zamkniętej przewietrzanej (dobrze) obudowie mają niższe temperatury, będę kombinował...

Rysiu

Cytat: Grzes w 04 Maj 2011, 12:07
Rysiu a pisałeś już cokolwiek na cuda? też m.in. z tego powodu zaopatruje się w tę kartę. Boinc przy okazji tak by się nie nudziła :)
PIsałem całkiem sporo. W garażu mam jeszcze PC z czterema kartami graficznymi TESLA T10.

Grzes

Poszło prawie idealnie. Zacząłem od tego:
http://samiux.blogspot.com/2011/04/howto-nvidia-cuda-40-rc-on-ubuntu.html

tak było prościej skoro link dostałem :)
Schodki zaczęły się jak miałem stworzyć plik /etc/init.d/nvidia_cuda... wpadłem na pomysł czy aby stery sie zainstalowały. W konsoli 'modprobe nvidia" i error... dalej już nie było sensu iść bo i tak by to nic nie dało. Ze strony nvidii pobrałem sterowniki:
http://www.nvidia.pl/Download/index.aspx?lang=pl
Wybierz kartę i kliknij szukaj, następnie pobierz.   Na następnej stronie zoabczcie button "zgadzam się - pobierz", skopujcie adres odnośnika i w konsoli:

wget link

dla gts450 i systemu 64-bit pobranie wygląda tak:
wget http://pl.download.nvidia.com/XFree86/Linux-x86_64/270.41.06/NVIDIA-Linux-x86_64-270.41.06.run

następnie nadajemy prawa wykonywalności:
chmod +x http://pl.download.nvidia.com/XFree86/Linux-x86_64/270.41.06/NVIDIA-Linux-x86_64-270.41.06.run

i uruchamiamy isntalator:
./NVIDIA-Linux-x86_64-270.41.06.run

Wszystko oczywiście z prawami roota ;)
Istalator bodajże zada trzy pytania w stylu tak/nie... poza pierwszy czy akceptujemy licencje, gdzie strzałką w lewo należy wybrać "tak", na pytania można odpowiadać 'enterem'.

Po zainstalowaniu możemy sprawdzić czy wsyzstko poszło ok, w konsoli:
modprobe nvidia

jeśli nie zobaczymy błędu to wracamy do poradnika z pierwszego linku. Tworzymy plik /etc/init.d/nvidia_cuda, dodajemy go do skryptów startowych.
Jednak na koniec zamiast restartować systerm wystarczy wydać komendę:
/etc/init.d/nvidia_cuda

Po zrestartowaniu boinca otrzymujemy:
czw, 5 maj 2011, 16:45:18 Starting BOINC client version 6.10.58 for x86_64-pc-linux-gnu
czw, 5 maj 2011, 16:45:18 Config: GUI RPC allowed from:
czw, 5 maj 2011, 16:45:18 Config:   192.168.2.3
czw, 5 maj 2011, 16:45:18 Config:   10.92.64.3
czw, 5 maj 2011, 16:45:18 Config:   X.X.X.X
czw, 5 maj 2011, 16:45:18 log flags: file_xfer, sched_ops, task
czw, 5 maj 2011, 16:45:18 Libraries: libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18
czw, 5 maj 2011, 16:45:18 Data directory: /var/lib/boinc-client
czw, 5 maj 2011, 16:45:18 Processor: 2 GenuineIntel Intel(R) Core(TM)2 Duo CPU     E4500  @ 2.20GHz [Family 6 Model 15 Stepping 13]
czw, 5 maj 2011, 16:45:18 Processor: 2.00 MB cache
czw, 5 maj 2011, 16:45:18 Processor features: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 x
czw, 5 maj 2011, 16:45:18 OS: Linux: 2.6.35-28-server
czw, 5 maj 2011, 16:45:18 Memory: 1.96 GB physical, 9.66 GB virtual
czw, 5 maj 2011, 16:45:18 Disk: 18.33 GB total, 14.01 GB free
czw, 5 maj 2011, 16:45:18 Local time is UTC +2 hours
czw, 5 maj 2011, 16:45:19 NVIDIA GPU 0: GeForce GTS 450 (driver version unknown, CUDA version 4000, compute capability 2.1, 511MB, 401 GFLOPS peak)


Miłego liczenia :)

Grzes

Panowie mała aktualizacja instrukcji. Miałem dziś niemiłą przygodę z maszynką po braku prądu. Po pierwsze jeden z dysków w raid0 wyzionął ducha (i po danych na tej macierzy  :deadman: ) a na dysku systemowym wcieło gdzieś dużą gromadkę plików... odzyskiwanie ich z ext3 jak ktoś próbował to wie że to nie ma sensu jak dane nie były krytyczne, przeinstalowałem system.

Tym razem zainstalowałem to po mojemu... co najważniejsze szybciej! po pierwsze:
sudo apt-get install build-essential bin86 kernel-package libqt3-headers libqt3-mt-dev wget libncurses5 libncurses5-dev
ktoś znowu zapyta czy to wszystko potrzebne... znowu odpowiem, że nie wiem. Nie chce mi się czytać dokumentacji do sterowników nvidii. To tylko 50M bibliotek, jako że przydają się wszystkie do kompilacji kernela to je po prostu instaluje.

Jak w poprzednim poście ze strony nvidii pobieramy sterowniki i wykonujemy:
wget http://us.download.nvidia.com/XFree86/Linux-x86_64/270.41.19/NVIDIA-Linux-x86_64-270.41.19.run
chmod +x NVIDIA-Linux-x86_64-270.41.19.run
./NVIDIA-Linux-x86_64-270.41.19.run


To przykład dla na tą chwilę najnowszych sterowników pod system 64bit.
Instalator zapyta o kilka spraw, odpowiadamy twierdząco poza dwoma przypadkami. Zapyta czy instalować bilbioteki 32bit opengl w celach zachowania kompatybilności oraz na koniec czy konfigurację x-ów przygotować - w obu przypadkach wybieramy 'no' czyli nie :)

Po tym /etc/init.d/boinc-client restart i cieszymy się wykrytą grafiką :)
Powtierdzenie prawidłowej instalacji otrzymamy także wydając komendę:
nvidia-smi -a

Otrzymamy następujący komunikat. Może on się różnić w zależności od posiadanej karty gaficznej oraz stopnia jej obsługiwania, czyli pokaże nam więcej lub mniej informacji o niej. Tak czy owak powinna być ona wykazana a konkretnie jej nazwa:

Cytat
==============NVSMI LOG==============

Timestamp                       : Tue May 24 22:18:42 2011

Driver Version                  : 270.41.19

Attached GPUs                   : 1

GPU 0:2:0
    Product Name                : GeForce GTS 450
    Display Mode                : N/A
    Persistence Mode            : Disabled
    Driver Model
        Current                 : N/A
        Pending                 : N/A
    Serial Number               : N/A
    GPU UUID                    : N/A
    Inforom Version
        OEM Object              : N/A
        ECC Object              : N/A
        Power Management Object : N/A
    PCI
        Bus                     : 2
        Device                  : 0
        Domain                  : 0
        Device Id               : DC410DE
        Bus Id                  : 0:2:0
    Fan Speed                   : 33 %
    Memory Usage
        Total                   : 511 Mb
        Used                    : 32 Mb
        Free                    : 478 Mb
    Compute Mode                : Default
    Utilization
        Gpu                     : N/A
        Memory                  : N/A
    Ecc Mode
        Current                 : N/A
        Pending                 : N/A
    ECC Errors
        Volatile
            Single Bit           
                Device Memory   : N/A
                Register File   : N/A
                L1 Cache        : N/A
                L2 Cache        : N/A
                Total           : N/A
            Double Bit           
                Device Memory   : N/A
                Register File   : N/A
                L1 Cache        : N/A
                L2 Cache        : N/A
                Total           : N/A
        Aggregate
            Single Bit           
                Device Memory   : N/A
                Register File   : N/A
                L1 Cache        : N/A
                L2 Cache        : N/A
                Total           : N/A
            Double Bit           
                Device Memory   : N/A
                Register File   : N/A
                L1 Cache        : N/A
                L2 Cache        : N/A
                Total           : N/A
    Temperature
        Gpu                     : 70 C
    Power Readings
        Power State             : N/A
        Power Management        : N/A
        Power Draw              : N/A
        Power Limit             : N/A
    Clocks
        Graphics                : N/A
        SM                      : N/A
        Memory                  : N/A

Wykryło gts 450. W moim przypakdu pokazuje tylko wykorzystanie pamięci, prędkość wentylatora oraz temperaturę. Z tego ta ostatnia informacja zawsze najbardziej mnie interesuje, szczególnie że lm-sensors nie potrafią odczytać temperatury z tej grafiki (a przynajmniej nie udało mi sie ich zmusić do jej obsługi).

Miłego liczenia kamraci  :attack:

Troll81

 :respect: zrób z tego tutorial i na wiki :D