Właśnie przeprowadziłem eksperymenty i mogę potwierdzić stwierdzenia Erica Applemana, że Bumblebee nie jest konieczny dla CUDA. (więcej o Bumblebee : czy Ubuntu obsługuje NVIDIA GeForce z technologią Optimus? )
Jednak, gdy trzeba pokazać przykłady graficznych przy użyciu OpenGL, możesz zrobić coś jak Bumblebee systemów Optimusa, w przeciwnym razie albo nie widać nic na ekranie lub pojawia się błąd:
ERROR: Support for necessary OpenGL extensions missing.
Podczas uruchamiania programu CUDA musisz zainstalować zestaw narzędzi CUDA i sterownik nvidia. Jeśli zamierzasz kompilować programy, potrzebujesz również zestawu SDK. Instalatory można znaleźć na stronie http://developer.nvidia.com/cuda-downloads , przeczytaj poniższe instrukcje przed schowaniem laptopa Optimus.
Instalowanie CUDA
Kierowca
Zalecam instalację sterownika nvidia z menedżera pakietów Ubuntu. Jeśli zainstalujesz Bumblebee, nie musisz martwić się o sterownik. W przeciwnym razie, po instalacji, wyłączyć biblioteki nvidia opisane na https://askubuntu.com/a/107746/6969 . Jeśli nie to zrobić, będziesz tracić 3D acceleraration a może utknąć w niskiej rozdzielczości.
zestaw narzędzi
Zasadniczo musisz pobrać instalator, uczynić go wykonywalnym i uruchomić. - Pobierz instalator. W chwili pisania tego tekstu 4.2.9 jest najnowszym sterownikiem. Jak mam 64-bitowy system operacyjny, używam 64-bitowy pakiet 11,04 Ubuntu (chociaż biegnę 12.04) - Zrób to wykonywalny i umożliwiają instalację do /usr/local/cuda
:
chmod +x cudatoolkit_4.2.9_linux_64_ubuntu11.04.run
sudo ./cudatoolkit_4.2.9_linux_64_ubuntu11.04.run
Gdy pojawi się komunikat instalacyjny z pytaniem, gdzie zainstalować CUDA, po prostu naciśnij Enter, aby zaakceptować wartość domyślną /usr/local/cuda
:
......................................
Enter install path (default /usr/local/cuda, '/cuda' will be appended):
Po instalacji wydrukuje kilka komunikatów sugerujących umieszczenie katalogu biblioteki cuda w ścieżce wyszukiwania biblioteki:
========================================
* Please make sure your PATH includes /tmp/cuda/cuda/bin
* Please make sure your LD_LIBRARY_PATH
* for 32-bit Linux distributions includes /tmp/cuda/cuda/lib
* for 64-bit Linux distributions includes /tmp/cuda/cuda/lib64:/tmp/cuda/cuda/lib
* OR
* for 32-bit Linux distributions add /tmp/cuda/cuda/lib
* for 64-bit Linux distributions add /tmp/cuda/cuda/lib64 and /tmp/cuda/cuda/lib
* to /etc/ld.so.conf and run ldconfig as root
* Please read the release notes in /tmp/cuda/cuda/doc/
* To uninstall CUDA, remove the CUDA files in /tmp/cuda/cuda
* Installation Complete
Możesz pominąć ten krok, jeśli chcesz, ale potem musisz ustawić go LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/lib:$LD_LIBRARY_PATH
później podczas uruchamiania programu.
SDK
Jeśli chcesz mieć możliwość kompilacji aplikacji CUDA, możesz zainstalować zestaw SDK w podobny sposób, jak opisano powyżej. Pobierz, uruchom go i uruchom (nie jako root, np. Bez sudo
!). Podczas kompilacji jego części musiałem wprowadzić pewne zmiany, aby NVIDIA_GPU_Computing_SDK/C/common/common.mk
:
po około linii 189 OPENGLLIB := -lGL -lGLU -lX11 -lXi -lXmu
dodaj:
OPENGLLIB += -L/usr/lib/nvidia-current -L/usr/lib32/nvidia-current
po około linii 271, swap ${RENDERCHECKGLLIB}
z ${OPENGLLIB}
takie, że wygląda tak:
LIB += $(RENDERCHECKGLLIB) ${OPENGLLIB} $(PARAMGLLIB) ${LIB} -ldl -rdynamic
- kilka (5) linii dalej, zrób to samo, ale
-lcuda
też usuń .
- kilka (7) linii dalej, zrób to samo, co w linii 271.
Korzystanie z CUDA
CUDA nie potrzebuje do działania serwera X sterowanego przez nvidię. W takim przypadku możesz uruchomić swój losowy program testowy, taki jak:
LD_LIBRARY_PATH = / usr / lib / nvidia-current: / usr / lib32 / nvidia-current: $ LD_LIBRARY_PATH someComputallyIntensiveProgram
Jeśli nie dodałeś CUDA do ścieżki biblioteki, będziesz potrzebować:
LD_LIBRARY_PATH = / usr / lib / nvidia-current: / usr / lib32 / nvidia-current: / usr / local / cuda / lib64: / usr / local / cuda / lib: $ LD_LIBRARY_PATH someComputallyIntensiveProgram
(możesz usunąć z niego 32-bitowe ścieżki, jeśli twój program jest 64-bitowy).
Jeśli program CUDA ma coś do wyświetlenia za pomocą OpenGL, musisz użyć optirun:
optirun blender
Lub jeśli nie masz CUDA dodanego do domyślnej ścieżki:
LD_LIBRARY_PATH = / usr / local / cuda / lib64: / usr / local / cuda / lib: $ LD_LIBRARY_PATH mikser optirun
Oto pełna odpowiedź (na podstawie odpowiedzi Alexa Falappy i Lekensteyna ):
Rzeczywiście jest możliwe, aby procesory graficzne nVidia Optimus działały na CUDA na Ubuntu.
Trzmiel nie jest konieczny dla CUDA. (więcej o Bumblebee : czy Ubuntu obsługuje NVIDIA GeForce z technologią Optimus? )
Jednak, gdy trzeba pokazać przykłady graficznych przy użyciu OpenGL, możesz zrobić coś jak Bumblebee systemów Optimusa, w przeciwnym razie albo nie widać nic na ekranie lub pojawia się błąd:
Jeśli potrzebujesz programu intensywnie korzystającego z grafiki, takiego jak Blender, Bumblebee jest obecnie dobrym rozwiązaniem.
Przejdź do Instalowania CUDA, jeśli nie chcesz instalować Bumblebee (tj. Jeśli nie potrzebujesz OpenGL).
W przeciwnym razie czytaj dalej.
Instalowanie Bumblebee
Postępuj zgodnie z instrukcjami na stronie Jak dobrze działają laptopy z Nvidia Optimus?
Są one obecnie aktualizowane przez programistę Bumblebee.
Po zainstalowaniu Bumblebee i ponownym uruchomieniu będziesz mógł wybrać kartę graficzną, która będzie używana podczas uruchamiania programów za pomocą
optirun
programu.Na przykład:
Aby szybko sprawdzić, czy wszystko działa poprawnie, użyj:
Zobaczysz program z kolorowymi kulkami, jeśli wszystko działa poprawnie.
Sprawdź, czy ciąg dostawcy GL w terminalu zawiera słowo nvidia .
Jeśli uruchomisz tylko
glxspheres
, zobaczysz, że ciąg dostawcy zawiera kartę Intel.Podczas uruchamiania programu CUDA musisz zainstalować zestaw narzędzi CUDA i sterownik nvidia. Jeśli zamierzasz kompilować programy, potrzebujesz również zestawu SDK. Instalatory można znaleźć na stronie http://developer.nvidia.com/cuda-downloads , przeczytaj poniższe instrukcje przed schowaniem laptopa Optimus.
Instalowanie CUDA
Kierowca
Zalecam instalację sterownika nvidia z menedżera pakietów Ubuntu. Jeśli zainstalujesz Bumblebee, nie musisz martwić się o sterownik. W przeciwnym razie, po instalacji, wyłączyć biblioteki nvidia opisane na https://askubuntu.com/a/107746/6969 . Jeśli tego nie zrobisz, stracisz przyspieszenie 3D i prawdopodobnie utkniesz w niskiej rozdzielczości.
zestaw narzędzi
Zasadniczo musisz pobrać instalator, uczynić go wykonywalnym i uruchomić. - Pobierz instalator. Na dzień 9 stycznia 2013 r. 5.0.35 jest najnowszym sterownikiem. Ponieważ mam 64-bitowy system operacyjny, korzystam z 64-bitowego pakietu Ubuntu 11.10 (chociaż korzystam z wersji 12.10) - uczyń go wykonywalnym i zezwól na instalację, aby
/usr/local/cuda
:Gdy pojawi się komunikat instalacyjny z pytaniem, gdzie zainstalować CUDA, po prostu naciśnij Enter, aby zaakceptować wartość domyślną
/usr/local/cuda
:Po instalacji wydrukuje kilka komunikatów sugerujących umieszczenie katalogu biblioteki cuda w ścieżce wyszukiwania biblioteki:
Możesz pominąć ten krok, jeśli chcesz, ale potem musisz ustawić go
LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/lib:$LD_LIBRARY_PATH
później podczas uruchamiania programu.SDK
Jeśli chcesz mieć możliwość kompilacji aplikacji CUDA, możesz zainstalować zestaw SDK w podobny sposób, jak opisano powyżej. Pobierz, uruchom go i uruchom (nie jako root, np. Bez
sudo
!).Korzystanie z CUDA
CUDA nie potrzebuje do działania serwera X sterowanego przez nvidię. W takim przypadku możesz uruchomić swój losowy program testowy, taki jak:
Jeśli nie dodałeś CUDA do ścieżki biblioteki, będziesz potrzebować:
(możesz usunąć z niego 32-bitowe ścieżki, jeśli twój program jest 64-bitowy).
Jeśli program CUDA ma coś do wyświetlenia za pomocą OpenGL, musisz użyć optirun:
Lub jeśli nie masz CUDA dodanego do domyślnej ścieżki:
Instalowanie wersji Blendera
(Ze wstępnie skompilowanymi jądrami CUDA)
Po uruchomieniu
optirun blender
możesz otrzymać komunikat z Blendera, informujący, że kompilacja jądra CUDA nie powiodła się, oraz komunikat w terminalu podobny do następującego:Jeśli chcesz użyć funkcji renderowania GPU Blendera, możesz potrzebować kompilacji Blendera ze wstępnie skompilowanymi jądrami CUDA. Wszystkie wersje z Blender.org mają wstępnie skompilowane jądra CUDA; kompilacje ppa: cheleb / blender-svn ( więcej informacji na to pytanie ) nie.
Aby zainstalować oficjalną wersję Blendera, po prostu postępuj zgodnie z instrukcjami zawartymi w tej odpowiedzi .
Jeśli zainstalowałeś Blendera
/usr/lib/blender
, powinieneś być w stanie uruchomić Blendera z terminala i używać renderowania GPU z:źródło
usermod
polecenia. Będę aktualizował instrukcje instalacji na stronie askubuntu.com/a/36936/6969 , więc prosimy o link do tego postu zamiast kopiowania instrukcji instalacji.Obsługa grafiki hybrydowej (zwykle grafiki zintegrowanej Intela i oddzielnej grafiki Nvidii) w Linuksie jest obecnie nieco kłopotliwa. Coś powoli przesuwa się w polu serwera X, ale nie wstrzymuj oddechu.
Jak zgadłeś, Bumblebee jest obecnie dobrą drogą.
Niedawno kupiłem laptopa Asus N55 z grafiką Intel / Nvidia. Udało mi się uzyskać renderer Blender Cycles do korzystania z CUDA.
Kiedy zainstalowałem Ubuntu 12.04, domyślnie korzystał ze zintegrowanej grafiki poprzez sterownik karty graficznej Intel. Sterownik karty graficznej noveau nie powinien zostać zainstalowany.
Potem otworzyłem terminal i:
Następnie zrobiłem (zgodnie z instrukcjami instalacji):
Potem zrestartowałem się.
Aby wybrać sterownik, który ma być używany podczas uruchamiania programów, użyj programu optirun, na przykład:
Aby sprawdzić, czy wszystko działa poprawnie, użyj:
I sprawdź, czy ciąg dostawcy GL zawiera słowo Nvidia. Jeśli zamiast tego uruchomisz:
Łańcuch dostawcy powinien zawierać słowo Intel
źródło
optirun
i mogę sprawdzić, czy Blender używał mojego procesora graficznego nVidia do renderowania widoku 3D. Jednak w Preferencjach użytkownika Blendera nie ma opcji „GPU”. Wyświetla tylko „CPU”. Zobacz ten zrzut ekranu . Czy będę musiał zainstalować dodatkowe sterowniki, aby korzystać z CUDA?Uważam, że aby uruchomić wszystkie przykłady CUDA, wykorzystując trzmiel, trzeba zainstalować sterowniki 295.40 z tutaj i podczas instalacji wybrać, aby nie przesłaniać
config x11
.Następnie musisz użyć tego samego sterownika, aby skompilować przykłady i uruchomić program.
źródło