Đây là câu trả lời hoàn chỉnh (dựa trên câu trả lời của Alex Falappa và Lekensteyn ):
Thực sự có thể có GPU nVidia Optimus để chạy CUDA trên Ubuntu.
Bumblebee là không cần thiết cho CUDA. (thông tin thêm về Bumblebee : NVIDIA GeForce có Công nghệ Optimus được Ubuntu hỗ trợ không? )
Tuy nhiên, khi bạn cần để hiển thị ví dụ đồ họa sử dụng OpenGL, bạn làm cần một cái gì đó giống như Bumblebee cho các hệ thống Optimus, nếu không bạn hoặc là không nhìn thấy bất cứ điều gì trên màn hình của bạn hoặc nhận được lỗi:
ERROR: Support for necessary OpenGL extensions missing.
Nếu bạn cần sử dụng một chương trình chuyên sâu về đồ họa như Blender, Bumblebee hiện là một cách tốt để đi.
Chuyển sang Cài đặt CUDA nếu bạn không muốn cài đặt Bumblebee (tức là nếu bạn không cần OpenGL).
Nếu không, đọc tiếp.
Cài đặt Bumblebee
Làm theo hướng dẫn tại Máy tính xách tay với Nvidia Optimus hoạt động tốt như thế nào?
Chúng hiện đang được nhà phát triển Bumblebee cập nhật.
Khi bạn đã cài đặt Bumblebee và khởi động lại, bạn sẽ có thể chọn card đồ họa để sử dụng khi khởi chạy chương trình bằng cách sử dụng optirun
chương trình.
Ví dụ:
optirun blender
Để nhanh chóng kiểm tra nếu tất cả hoạt động chính xác, sử dụng:
optirun glxspheres
Bạn sẽ thấy một chương trình với các quả cầu quay đầy màu sắc nếu tất cả đều hoạt động chính xác.
Xác minh rằng chuỗi nhà cung cấp GL trong thiết bị đầu cuối có chứa từ nvidia .
Nếu bạn chỉ chạy glxspheres
, bạn sẽ thấy chuỗi nhà cung cấp chứa thẻ Intel thay thế.
Khi chạy chương trình CUDA, bạn cần cài đặt bộ công cụ CUDA và trình điều khiển nvidia. Nếu bạn có ý định biên dịch chương trình, bạn cũng cần SDK. Các trình cài đặt có thể được tìm thấy trên http://developer.nvidia.com/cuda-doads , vui lòng đọc hướng dẫn bên dưới trước khi làm hỏng máy tính xách tay Optimus của bạn.
Cài đặt CUDA
Người lái xe
Tôi khuyên bạn nên cài đặt trình điều khiển nvidia từ trình quản lý gói của Ubuntu. Nếu bạn cài đặt Bumblebee, bạn không cần phải lo lắng về trình điều khiển. Nếu không, sau khi cài đặt, hãy vô hiệu hóa các thư viện nvidia như được mô tả trên https://askubfox.com/a/107746/6969 . Nếu bạn không, bạn sẽ mất khả năng tăng tốc 3D và có thể bị kẹt ở độ phân giải thấp.
Bộ công cụ
Về cơ bản, bạn phải tải xuống trình cài đặt, làm cho nó thực thi và chạy nó. - Tải về trình cài đặt. Kể từ ngày 9 tháng 1 năm 2013, 5.0,35 là trình điều khiển gần đây nhất. Là hệ điều hành 64 bit, tôi sử dụng gói Ubuntu 64.10 11 bit (mặc dù tôi đang chạy 12.10) - Làm cho nó có thể thực thi được và cho phép cài đặt để /usr/local/cuda
:
chmod +x cudatoolkit_5.0.35_linux_64_ubuntu11.10-1.run
sudo ./cudatoolkit_5.0.35_linux_64_ubuntu11.10-1.run
Khi thông báo cài đặt xảy ra sẽ hỏi bạn cài đặt CUDA ở đâu, chỉ cần nhấn Enter để chấp nhận mặc định /usr/local/cuda
:
......................................
Enter install path (default /usr/local/cuda, '/cuda' will be appended):
Sau khi cài đặt, nó sẽ in một số tin nhắn đề nghị đưa thư mục thư viện cuda vào đường dẫn tìm kiếm thư viện của bạn:
========================================
* 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
Bạn có thể bỏ qua bước này nếu muốn, nhưng sau đó bạn phải đặt LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/lib:$LD_LIBRARY_PATH
sau khi chạy chương trình.
SDK
Nếu bạn muốn có thể biên dịch các ứng dụng CUDA, bạn có thể cài đặt SDK theo cách tương tự như được mô tả ở trên. Tải về, làm cho nó thực thi và chạy nó (không phải là root, ví dụ như không có sudo
!).
Sử dụng CUDA
CUDA không cần máy chủ X điều khiển nvidia để hoạt động. Trong trường hợp đó, bạn có thể chạy chương trình thử nghiệm ngẫu nhiên của mình như:
LD_LIBRARY_PATH = / usr / lib / nvidia-current: / usr / lib32 / nvidia-current: $ LD_LIBRARY_PATH someComputallyIntensiveProgram
Nếu bạn chưa thêm CUDA vào đường dẫn thư viện của mình, bạn sẽ cần:
LD_LIBRARY_PATH = / usr / lib / nvidia-current: / usr / lib32 / nvidia-current: / usr / local / cuda / lib64: / usr / local / cuda / lib: $ LD_LIBRARY_PATH someComputallyIntensive
(bạn có thể tách các đường dẫn 32 bit khỏi nó nếu chương trình của bạn là 64 bit).
Nếu chương trình CUDA có thứ gì đó để hiển thị bằng OpenGL, bạn phải sử dụng optirun:
optirun blender
Hoặc, nếu bạn chưa thêm CUDA vào đường dẫn mặc định của mình:
LD_LIBRARY_PATH = / usr / local / cuda / lib64: / usr / local / cuda / lib: $ LD_LIBRARY_PATH máy xay sinh tố optirun
Cài đặt máy xay sinh tố
(Với hạt nhân CUDA được biên dịch trước)
Khi bạn chạy optirun blender
, bạn có thể nhận được một thông báo từ Blender nói rằng quá trình biên dịch nhân CUDA không thành công và một thông báo trong thiết bị đầu cuối tương tự như sau:
Compiling CUDA kernel ...
nvcc warning : Option '--opencc-options (-Xopencc)' is obsolete and ignored, when
targeting compute_20, sm_20, or higher
gcc: error trying to exec 'cc1plus': execvp: No such file or directory
CUDA kernel compilation failed, see console for details.
Nếu bạn muốn sử dụng tính năng kết xuất GPU của Blender, bạn có thể cần bản dựng Blender với các hạt nhân CUDA được biên dịch sẵn. Các bản dựng từ Blender.org đều có các hạt nhân CUDA được biên dịch trước; các bản dựng ppa: cheleb / blender-svn ( thêm thông tin tại câu hỏi này ) thì không.
Để cài đặt bản dựng Blender chính thức, chỉ cần làm theo các hướng dẫn được nêu trong câu trả lời này .
Nếu bạn đã cài đặt Blender tới /usr/lib/blender
, thì bạn sẽ có thể chạy Blender từ thiết bị đầu cuối và sử dụng kết xuất GPU với:
optirun '/usr/lib/blender/blender'