Saya baru saja melakukan beberapa eksperimen dan dapat mengkonfirmasi pernyataan Eric Appleman bahwa Bumblebee tidak diperlukan untuk CUDA. (lebih lanjut tentang Bumblebee : Apakah NVIDIA GeForce dengan Teknologi Optimus didukung oleh Ubuntu? )
Namun, ketika Anda perlu menunjukkan contoh grafis menggunakan OpenGL, Anda melakukan perlu sesuatu seperti Bumblebee untuk sistem Optimus, jika tidak, anda juga tidak melihat apa-apa pada layar atau mendapatkan error:
ERROR: Support for necessary OpenGL extensions missing.
Saat menjalankan program CUDA, Anda perlu menginstal CUDA toolkit dan driver nvidia. Jika Anda ingin mengkompilasi program, Anda juga memerlukan SDK. Pemasang dapat ditemukan di http://developer.nvidia.com/cuda-downloads , silakan baca instruksi di bawah ini sebelum menyatukan laptop Optimus Anda.
Menginstal CUDA
Sopir
Saya merekomendasikan untuk menginstal driver nvidia dari manajer paket Ubuntu. Jika Anda menginstal Bumblebee, Anda tidak perlu khawatir tentang drivernya. Kalau tidak, setelah instalasi, nonaktifkan perpustakaan nvidia seperti yang dijelaskan di https://askubuntu.com/a/107746/6969 . Jika Anda tidak melakukannya, Anda akan kehilangan akselerasi 3D dan mungkin terjebak pada resolusi rendah.
Toolkit
Pada dasarnya Anda harus mengunduh installer, membuatnya dapat dieksekusi dan menjalankannya. - Unduh penginstal. Pada tulisan ini, 4.2.9 adalah driver terbaru. Karena saya sudah memiliki OS 64-bit, saya menggunakan paket Ubuntu 64-bit 11,04 (meskipun saya menjalankan 12,04) - Jadikan itu dapat dieksekusi dan izinkan instalasi untuk /usr/local/cuda
:
chmod +x cudatoolkit_4.2.9_linux_64_ubuntu11.04.run
sudo ./cudatoolkit_4.2.9_linux_64_ubuntu11.04.run
Ketika pesan instalasi muncul yang menanyakan Anda di mana menginstal CUDA, cukup tekan Enter untuk menerima default /usr/local/cuda
:
......................................
Enter install path (default /usr/local/cuda, '/cuda' will be appended):
Setelah instalasi, itu akan mencetak beberapa pesan yang menyarankan untuk meletakkan direktori pustaka cuda ke jalur pencarian pustaka Anda:
========================================
* 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
Anda dapat melewati langkah ini jika ingin, tetapi kemudian Anda harus mengaturnya LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/lib:$LD_LIBRARY_PATH
nanti ketika menjalankan program.
SDK
Jika Anda ingin dapat mengompilasi aplikasi CUDA, Anda dapat menginstal SDK dengan cara yang sama seperti yang dijelaskan di atas. Unduh, buat itu dapat dieksekusi dan jalankan (bukan sebagai root, mis. Tanpa sudo
!). Ketika menyusun bagian-bagiannya, saya harus membuat beberapa perubahan untuk NVIDIA_GPU_Computing_SDK/C/common/common.mk
:
setelah sekitar baris 189 OPENGLLIB := -lGL -lGLU -lX11 -lXi -lXmu
,, tambahkan:
OPENGLLIB += -L/usr/lib/nvidia-current -L/usr/lib32/nvidia-current
setelah sekitar baris 271, tukar ${RENDERCHECKGLLIB}
dengan ${OPENGLLIB}
sedemikian rupa sehingga terlihat seperti:
LIB += $(RENDERCHECKGLLIB) ${OPENGLLIB} $(PARAMGLLIB) ${LIB} -ldl -rdynamic
- beberapa (5) baris lebih jauh, lakukan hal yang sama, tetapi hapus
-lcuda
juga.
- beberapa (7) baris lebih jauh, lakukan hal yang sama seperti yang Anda lakukan pada baris 271.
Menggunakan CUDA
CUDA tidak perlu X server yang digerakkan nvidia untuk bekerja. Dalam hal ini Anda dapat menjalankan program pengujian acak seperti:
LD_LIBRARY_PATH = / usr / lib / nvidia-current: / usr / lib32 / nvidia-current: $ LD_LIBRARY_PATH someComputallyIntensiveProgram
Jika Anda belum menambahkan CUDA ke jalur perpustakaan Anda, Anda perlu:
LD_LIBRARY_PATH = / usr / lib / nvidia-current: / usr / lib32 / nvidia-current: / usr / local / cuda / lib64: / usr / local / cuda / lib: $ LD_LIBRARY_PATH someComputallyIntensiveProgram
(Anda dapat menghapus jalur 32-bit dari itu jika program Anda 64-bit).
Jika program CUDA memang memiliki sesuatu untuk ditampilkan menggunakan OpenGL, Anda harus menggunakan optirun:
optirun blender
Atau, jika Anda tidak memiliki CUDA ditambahkan ke jalur default Anda:
LD_LIBRARY_PATH = / usr / local / cuda / lib64: / usr / local / cuda / lib: $ LD_LIBRARY_PATH optirun blender
Inilah jawaban lengkapnya (berdasarkan jawaban Alex Falappa dan Lekensteyn ):
Memang mungkin untuk mendapatkan GPU nVidia Optimus untuk menjalankan CUDA di Ubuntu.
Bumblebee tidak diperlukan untuk CUDA. (lebih lanjut tentang Bumblebee : Apakah NVIDIA GeForce dengan Teknologi Optimus didukung oleh Ubuntu? )
Namun, ketika Anda perlu menunjukkan contoh grafis menggunakan OpenGL, Anda melakukan perlu sesuatu seperti Bumblebee untuk sistem Optimus, jika tidak, anda juga tidak melihat apa-apa pada layar atau mendapatkan error:
Jika Anda perlu menggunakan program grafis-intensif seperti Blender, Bumblebee saat ini adalah cara yang baik untuk pergi.
Lewati untuk Menginstal CUDA jika Anda tidak ingin menginstal Bumblebee (yaitu jika Anda tidak memerlukan OpenGL).
Kalau tidak, baca terus.
Menginstal Bumblebee
Ikuti instruksi di Seberapa baik laptop dengan Nvidia Optimus berfungsi?
Ini saat ini terus diperbarui oleh pengembang Bumblebee.
Setelah Anda menginstal Bumblebee dan mem-boot ulang, Anda akan dapat memilih kartu grafis untuk digunakan saat meluncurkan program dengan menggunakan
optirun
program.Sebagai contoh:
Untuk dengan cepat menguji apakah semua berfungsi dengan benar, gunakan:
Anda akan melihat sebuah program dengan bola berputar berwarna-warni jika semuanya bekerja dengan benar.
Pastikan string vendor GL di terminal berisi kata nvidia .
Jika Anda hanya menjalankan
glxspheres
, Anda akan melihat string vendor berisi kartu Intel sebagai gantinya.Saat menjalankan program CUDA, Anda perlu menginstal CUDA toolkit dan driver nvidia. Jika Anda ingin mengkompilasi program, Anda juga memerlukan SDK. Pemasang dapat ditemukan di http://developer.nvidia.com/cuda-downloads , silakan baca instruksi di bawah ini sebelum menyatukan laptop Optimus Anda.
Menginstal CUDA
Sopir
Saya merekomendasikan untuk menginstal driver nvidia dari manajer paket Ubuntu. Jika Anda menginstal Bumblebee, Anda tidak perlu khawatir tentang drivernya. Kalau tidak, setelah instalasi, nonaktifkan perpustakaan nvidia seperti yang dijelaskan di https://askubuntu.com/a/107746/6969 . Jika tidak, Anda akan kehilangan akselerasi 3D dan mungkin terjebak pada resolusi rendah.
Toolkit
Pada dasarnya Anda harus mengunduh installer, membuatnya dapat dieksekusi dan menjalankannya. - Unduh penginstal. Pada 9 Jan 2013, 5.0.35 adalah driver terbaru. Karena saya memiliki OS 64-bit, saya menggunakan paket Ubuntu 64-bit 11,10 (meskipun saya menjalankan 12,10) - Jadikan itu dapat dieksekusi dan memungkinkan instalasi untuk
/usr/local/cuda
:Ketika pesan instalasi muncul yang menanyakan Anda di mana menginstal CUDA, cukup tekan Enter untuk menerima default
/usr/local/cuda
:Setelah instalasi, itu akan mencetak beberapa pesan yang menyarankan untuk meletakkan direktori pustaka cuda ke jalur pencarian pustaka Anda:
Anda dapat melewati langkah ini jika ingin, tetapi kemudian Anda harus mengaturnya
LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/lib:$LD_LIBRARY_PATH
nanti ketika menjalankan program.SDK
Jika Anda ingin dapat mengompilasi aplikasi CUDA, Anda dapat menginstal SDK dengan cara yang sama seperti yang dijelaskan di atas. Unduh, buat itu dapat dieksekusi dan jalankan (bukan sebagai root, mis. Tanpa
sudo
!).Menggunakan CUDA
CUDA tidak perlu X server yang digerakkan nvidia untuk bekerja. Dalam hal ini Anda dapat menjalankan program pengujian acak seperti:
Jika Anda belum menambahkan CUDA ke jalur perpustakaan Anda, Anda perlu:
(Anda dapat menghapus jalur 32-bit dari itu jika program Anda 64-bit).
Jika program CUDA memang memiliki sesuatu untuk ditampilkan menggunakan OpenGL, Anda harus menggunakan optirun:
Atau, jika Anda tidak memiliki CUDA ditambahkan ke jalur default Anda:
Menginstal Blender Build
(Dengan kernel CUDA yang sudah dikompilasi sebelumnya)
Ketika Anda menjalankan
optirun blender
, Anda mungkin mendapatkan pesan dari Blender yang mengatakan bahwa kompilasi kernel CUDA gagal, dan sebuah pesan di terminal mirip dengan yang berikut ini:Jika Anda ingin menggunakan fitur rendering GPU Blender, Anda mungkin memerlukan Blender build dengan kernel CUDA yang telah dikompilasi sebelumnya. Dibangun dari Blender.org, semuanya memiliki kernel CUDA yang telah dikompilasi sebelumnya; the ppa: cheleb / blender-svn builds ( informasi lebih lanjut pada pertanyaan ini ) tidak.
Untuk menginstal Blender resmi, cukup ikuti instruksi yang tercantum dalam jawaban ini .
Jika Anda telah menginstal Blender
/usr/lib/blender
, Anda kemudian dapat menjalankan Blender dari terminal dan menggunakan rendering GPU dengan:sumber
usermod
perintah. Saya akan terus memperbarui petunjuk pemasangan pada askubuntu.com/a/36936/6969 , jadi harap tautkan ke pos itu alih-alih menyalin petunjuk pemasangan itu.Grafis hibrida (biasanya grafis terintegrasi Intel dan grafis Nvidia diskrit) di Linux saat ini agak merepotkan. Sesuatu perlahan-lahan bergerak di bidang X server tetapi tidak menahan nafas.
Seperti yang sudah Anda duga, Bumblebee saat ini adalah cara yang baik untuk pergi.
Saya baru-baru ini membeli laptop Asus N55 dengan grafis Intel / Nvidia. Saya bisa mendapatkan penyaji Blender Cycles untuk menggunakan CUDA.
Ketika saya menginstal Ubuntu 12,04 menggunakan grafis terintegrasi secara default melalui driver grafis intel. Driver grafis noveau seharusnya tidak diinstal.
Kemudian saya membuka terminal dan melakukan:
Setelah itu saya lakukan (seperti yang direkomendasikan oleh instruksi instalasi):
Lalu saya reboot.
Untuk memilih driver yang akan digunakan ketika meluncurkan program gunakan program optirun, misalnya:
Untuk menguji apakah semua berfungsi dengan benar, gunakan:
Dan memverifikasi string vendor GL berisi kata Nvidia. Jika Anda menjalankan sebaliknya:
String vendor harus berisi kata Intel
sumber
optirun
dan saya dapat memverifikasi bahwa Blender menggunakan GPU nVidia saya untuk membuat viewport 3D. Namun, tidak ada opsi "GPU" pada dropdown di Preferensi Pengguna Blender. Ini hanya mencantumkan "CPU". Lihat tangkapan layar ini . Apakah saya perlu menginstal driver tambahan untuk menggunakan CUDA?Saya menemukan bahwa untuk menjalankan semua contoh CUDA, menggunakan Bumblebee, Anda harus menginstal driver 295,40 dari sini dan selama instalasi memilih untuk tidak menimpa para
config x11
.Maka Anda harus menggunakan driver yang sama untuk mengkompilasi contoh dan menjalankan program.
sumber