NVIDIA chuyển hoàn toàn sang mô-đun nhân GPU Linux mã nguồn mở
(developer.nvidia.com)- NVIDIA đã công bố mã nguồn mở cho các mô-đun nhân GPU Linux với giấy phép kép GPL và MIT thông qua driver R515 vào tháng 5 năm 2022
- Khi đó, các mô-đun này nhắm đến GPU điện toán trung tâm dữ liệu, còn GPU GeForce và Workstation vẫn ở trạng thái alpha
- NVIDIA đã thông báo rằng trong các bản phát hành tiếp theo sẽ cung cấp hỗ trợ Linux cho GeForce và Workstation đầy đủ tính năng và mạnh mẽ hơn, và các mô-đun nhân mở của NVIDIA cuối cùng sẽ thay thế driver đóng
- Sau 2 năm, họ đã đạt được hiệu năng ứng dụng tương đương hoặc tốt hơn với mô-đun nhân GPU mã nguồn mở và bổ sung nhiều tính năng mới đáng kể như:
- Hỗ trợ Heterogeneous Memory Management (HMM)
- Điện toán bảo mật
- Kiến trúc bộ nhớ nhất quán của nền tảng Grace
- Và nhiều hơn nữa
- Giờ đây là thời điểm phù hợp để chuyển hoàn toàn sang mô-đun nhân GPU mã nguồn mở, và NVIDIA dự kiến áp dụng thay đổi này trong bản phát hành driver R560 sắp tới
GPU được hỗ trợ
- Không phải mọi GPU đều tương thích với mô-đun nhân GPU mã nguồn mở
- Các nền tảng mới nhất như NVIDIA Grace Hopper hoặc NVIDIA Blackwell bắt buộc phải dùng mô-đun nhân GPU mã nguồn mở, và driver độc quyền không được hỗ trợ trên các nền tảng này
- Với các GPU mới thuộc kiến trúc Turing, Ampere, Ada Lovelace và Hopper, NVIDIA khuyến nghị chuyển sang mô-đun nhân GPU mã nguồn mở
- Các GPU cũ thuộc kiến trúc Maxwell, Pascal và Volta không tương thích với mô-đun nhân GPU mã nguồn mở, vì vậy tiếp tục sử dụng driver độc quyền của NVIDIA
- Với các hệ thống có cả GPU cũ và mới cùng tồn tại, hãy tiếp tục dùng driver độc quyền
- NVIDIA cung cấp một script trợ lý phát hiện mới để hướng dẫn chọn driver phù hợp. Xem phần "Sử dụng script trợ lý cài đặt" ở bên dưới của bài viết để biết thêm chi tiết
Thay đổi trong trình cài đặt
- Nhìn chung, phiên bản driver mặc định được cài bởi mọi phương thức cài đặt đang được chuyển từ driver độc quyền sang driver mã nguồn mở. Có một số kịch bản cụ thể cần lưu ý đặc biệt:
- Trình quản lý gói có metapackage CUDA
- Tệp thực thi
- Script trợ lý cài đặt
- Chi tiết về trình quản lý gói
- Windows Subsystem for Linux
- CUDA Toolkit
Sử dụng trình quản lý gói có metapackage CUDA
- Khi cài CUDA Toolkit bằng trình quản lý gói (không phải tệp run), có các metapackage cài đặt thường được sử dụng. Khi cài gói cấp cao nhất
cuda, CUDA Toolkit sẽ được cài cùng với bản phát hành driver tương ứng
Sử dụng tệp thực thi
- Nếu cài CUDA hoặc driver NVIDIA bằng tệp
.run, trình cài đặt sẽ truy vấn phần cứng và tự động cài driver phù hợp nhất cho hệ thống. Bạn cũng có thể chọn giữa driver độc quyền và driver mã nguồn mở bằng nút chuyển trong giao diện
Sử dụng script trợ lý cài đặt
- Như đã đề cập ở trên, nếu bạn không chắc nên chọn driver nào cho GPU trong hệ thống của mình, NVIDIA đã tạo một script trợ lý để hướng dẫn quá trình lựa chọn
- Để sử dụng, trước tiên hãy cài gói
nvidia-driver-assistantbằng trình quản lý gói, sau đó chạy script
Chi tiết về trình quản lý gói
- Để có trải nghiệm nhất quán, NVIDIA khuyến nghị sử dụng trình quản lý gói khi cài CUDA Toolkit và driver. Tuy nhiên, hệ thống quản lý gói hoặc cấu trúc gói cụ thể được dùng trên các bản phân phối khác nhau có thể khác nhau tùy theo từng bản phân phối
- Phần này mô tả các chi tiết cụ thể, lưu ý hoặc bước di chuyển cần thiết cho nhiều nền tảng khác nhau
Windows Subsystem for Linux
- Windows Subsystem for Linux (WSL) sử dụng driver nhân NVIDIA của hệ điều hành Windows chủ. Không nên cài driver riêng cho nền tảng này. Nếu đang dùng WSL, bạn không cần thay đổi hay thực hiện thêm thao tác nào
CUDA Toolkit
- Việc cài đặt CUDA Toolkit không thay đổi khi thực hiện qua trình quản lý gói. Chỉ cần chạy lệnh sau:
$ sudo apt-get/dnf/zypper install cuda-toolkit
Thông tin thêm
- Để biết chi tiết về cách cài đặt driver NVIDIA hoặc CUDA Toolkit, hãy tham khảo phần "Cài đặt driver" trong hướng dẫn cài đặt CUDA
Ý kiến của GN⁺
-
Việc NVIDIA cung cấp mô-đun nhân GPU dưới dạng mã nguồn mở là một thay đổi rất tích cực đối với hệ sinh thái điện toán GPU. Nhờ đó, người dùng và nhà phát triển có thể debug và xử lý các vấn đề liên quan đến driver GPU của NVIDIA dễ dàng hơn
-
Việc chuyển sang mã nguồn mở sẽ mang lại nhiều tính linh hoạt và minh bạch hơn cho những người dùng khai thác GPU NVIDIA trong các lĩnh vực như HPC, AI và máy học. Đặc biệt, điều này sẽ giúp xoa dịu các lo ngại về bảo mật và độ ổn định khi triển khai giải pháp GPU NVIDIA trong môi trường doanh nghiệp
-
Tuy vậy, trong quá trình chuyển đổi sang mã nguồn mở có thể phát sinh vấn đề tương thích với các ứng dụng hiện có dựa trên driver độc quyền. NVIDIA cần đưa ra hướng dẫn rõ ràng và lộ trình di chuyển cho vấn đề này
-
Việc so sánh với các nền tảng điện toán GPU mã nguồn mở cạnh tranh như ROCm của AMD cũng có thể là một chủ đề thú vị. Việc NVIDIA chuyển sang mã nguồn mở được kỳ vọng sẽ làm cạnh tranh trong lĩnh vực điện toán GPU trở nên gay gắt hơn
-
Trong tương lai, kỳ vọng NVIDIA sẽ tích cực tiếp nhận đóng góp từ cộng đồng và tiếp tục cải thiện hiệu năng cũng như độ ổn định của mô-đun nhân GPU mã nguồn mở. Điều này sẽ góp phần thúc đẩy phổ cập và đổi mới trong điện toán GPU
4 bình luận
Linus Torvalds: NVIDIA! Tuyệt vời! Cảm ơn!
Một câu ngắn mà cực gắt.. F*ck..!
Cũng có thể đấy haha
Ý kiến trên Hacker News
Nhớ là vài năm trước Nvidia từng bị một vụ hack nghiêm trọng
Mô-đun kernel của Nvidia được chia thành hai thành phần
.run, thành phần OS-agnostic được cung cấp dưới dạng nhị phânViệc dùng Sway và Wayland với Nvidia quá khó nên đã chuyển sang AMD
Tò mò không biết tình hình driver Nvidia trên Linux hiện nay ra sao
Nvidia đã chuyển hoàn toàn sang mô-đun kernel GPU mã nguồn mở
Hy vọng thay đổi này sẽ giúp việc cài đặt / nâng cấp driver Nvidia trên Linux dễ hơn
Quăng cho một tarball rồi bảo "bắt lấy!" thì chẳng có ý nghĩa gì
Là người hoài nghi và đọc rất kỹ các chi tiết, tôi nghĩ đây là một bước đi tích cực
Nhớ lần Linus nhìn vào camera rồi giơ ngón giữa với Nvidia
Dù chỉ là mô-đun kernel thì việc họ cũng đã cung cấp thứ gì đó vẫn có ý nghĩa