11 điểm bởi GN⁺ 2024-07-18 | 4 bình luận | Chia sẻ qua WhatsApp
  • 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-assistant bằ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

 
bbulbum 2024-07-18

Linus Torvalds: NVIDIA! Tuyệt vời! Cảm ơn!

 
halfenif 2024-07-19

Một câu ngắn mà cực gắt.. F*ck..!

 
bbulbum 2024-07-18

Cũng có thể đấy haha

 
GN⁺ 2024-07-18
Ý 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

    • Các hacker đã đe dọa sẽ công khai toàn bộ dữ liệu nếu họ không mã nguồn mở driver
    • Có lẽ các hacker đã đạt được điều họ muốn
  • Mô-đun kernel của Nvidia được chia thành hai thành phần

    • Thành phần "OS-agnostic" độc lập với hệ điều hành
    • Thành phần "kernel interface layer" dành riêng cho phiên bản và cấu hình kernel Linux
    • Khi được đóng gói trong bộ cài Nvidia .run, thành phần OS-agnostic được cung cấp dưới dạng nhị phân
  • Việc dùng Sway và Wayland với Nvidia quá khó nên đã chuyển sang AMD

    • Vấn đề chính là một issue trên gitlab.freedesktop.org mà giờ đã được giải quyết
  • Tò mò không biết tình hình driver Nvidia trên Linux hiện nay ra sao

    • Đã dựng một máy desktop mới với GPU AMD
    • Muốn tránh các vấn đề của driver mã nguồn đóng, hoặc driver mã nguồn mở thiếu tính năng / lỗi thời
  • Nvidia đã chuyển hoàn toàn sang mô-đun kernel GPU mã nguồn mở

    • Hoặc Nvidia đang trong quá trình 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

    • Việc xử lý tình trạng lệch phiên bản giữa driver, utility và container runtime từng là một cơn ác mộng
  • Quăng cho một tarball rồi bảo "bắt lấy!" thì chẳng có ý nghĩa gì

    • Chừng nào họ còn chưa thực sự đóng góp driver lên upstream kernel thì vẫn sẽ mua AMD
  • 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

    • Ngoại trừ khả năng văn hóa độc quyền của Nvidia sẽ càng được củng cố, tôi không thấy nhược điểm nào
  • Nhớ lần Linus nhìn vào camera rồi giơ ngón giữa với Nvidia

    • Tò mò không biết thời đó đã qua chưa, đã đến lúc làm hòa chưa, hay vẫn còn vấn đề
  • Dù chỉ là mô-đun kernel thì việc họ cũng đã cung cấp thứ gì đó vẫn có ý nghĩa

    • Nhưng có lẽ cuối cùng vẫn sẽ không được đóng góp lên upstream