[Folding@home] Klient GPU2 (NVIDIA) na Ubuntu 8.10

Po wielu dniach liczenia na WindowsXP postanowiłem w końcu przesiąść się na jedyny słuszny dla mnie system jakim jest Linux.

Czytałem kilka artykułów dot. instalacji klienta GPU2 na systemach z rodziny linux. Szczerze mówiąc myślałem że będzie z tym większy problem.

Jako bazy użyłem Ubuntu 8.10 (wersja 32bitowa). Pierwszą instalację wykonałem z wykrzystaniem driveru 180.20 oraz CUDA Toolkit w wersji 2.1 – jednak bez skutku (otrzymywałem błędy podczas inicjalizacji CUDA). Prawdopodobnie przy wersji NV 180.20 i CUDA Toolkit 2.0 będzie wszystko działać…
Procedura instalacji:

  • Jeśli posiadamy w systemie drivery do kart NVIDIA z pakietów Ubuntu to należy je usunąć
  • z http://www.nvidia.com/object/cuda_get.html sciągamy NVIDIA Driver for Linux with CUDA Support (177.73) oraz CUDA Toolkit for Ubuntu 7.10. Korzystając z CUDA2.1 i z drivera 180.22 nie udało mi się uruchomić obliczeń.
    GET_CUDA
  • przełączamy się na konsolę (przykładowo Ctrl+Alt+F1) i zastrzymujemy menedżera logowania:
    sudo /etc/init.d/kdm stop (gdm lub inny, w zależnośći od używanego managera logowania)
  • instalujemy Driver i Toolkit. Na końcu instalacji sterownika do grafiki dodajemy odpowiedni wpis do /etc/X11/xorg.conf (Driver “nvidia” w sekcji “Device”) lub zezwalamy instalatorowi na wykonanie zmiany
    sudo sh NVIDIA-Linux-x86-177.73-pkg1.run
    sudo sh NVIDIA_CUDA_Toolkit_2.0_ubuntu7.10_x86.run
  • instalujemy wine: sudo apt-get install wine
  • dodajemy ścieżki do CUDA:
    sudo sh -c “echo PATH=/usr/local/cuda/bin:$PATH > /etc/profile.d/cuda.sh”
    sudo sh -c “echo /usr/local/cuda/lib > /etc/ld.so.conf.d/cuda.conf”
    sudo ldconfig
  • restartujemy maszyne i sprawdzamy czy wszystko poszło po naszej myśli… Jeśli tryb graficzny uruchomi się poprawnie to jesteśmy na dobrej drodze.
  • wykonujemy podstawowa konfigurację Wine, uruchamiamy winecfg, na zakładce Aplikacje wybieramy Wersję windows: WindowsXP
  • pobieramy i instalujemy zmodyfikowaną wersję cuda.dll ze strony http://www.gpu2.twomurs.com/
    sudo wget http://www.gpu2.twomurs.com/wrapper2ndgen/2.1/cudart.dll.so -O /usr/lib/wine/nvcuda.dll.so
  • zmuszamy wine do korzystania z pobranej dllki:
    ln -s /usr/lib/wine/nvcuda.dll.so ~/.wine/drive_c/windows/system32/nvcuda.dll
  • Pobieramy i instalujemy klienta GPU2 – http://www.stanford.edu/group/pandegroup/folding/release/Folding@home-Win32-GPU-systray-623.msi (można przez dwuklik na pobranym pliku lub przez wine Folding@home-Win32-GPU-systray-623.msi).
  • konfigurujemy klienta, uruchamiamy terminal, wpisujemy cd ~/.wine/drive_c/Program Files/Folding@home/Folding@home-gpu a następnie wine Folding@home-Win32-GPU.exe -forcegpu nvidia_g80 -configonly. Konfiguracja przebiega domyślnie tak jak na systemach windows.
  • Teraz nadszedł czas na włączenie klienta : nice wine Folding@home.exe -verbosity 9 -forcegpu nvidia_g80

Jeśli wszystko przebiegło pomyślnie to w top widzimy proces Fahcore_XX.exe, który dość porządnie obciąża naszą maszynę a w trayu jest identycza ikonka GPU2 jak na MS Windows…

Ciekawi mnie jaka jest różnica w wydajności GPU2-Linux vs. GPU2-Windows, akurat trafiłem na jakiś nowy projekt – 5904 za 1888pkt – i nie mam porównania.
…Teraz czas na instalację FahMona…