Làm cách nào để tải phiên bản trình điều khiển nvidia từ dòng lệnh?


Câu trả lời:


140

Sử dụng nvidia-smisẽ cho bạn biết rằng:

bwood@mybox:~$ nvidia-smi 
Mon Oct 29 12:30:02 2012       
+------------------------------------------------------+                       
| NVIDIA-SMI 3.295.41   Driver Version: 295.41         |                       
|-------------------------------+----------------------+----------------------+
| Nb.  Name                     | Bus Id        Disp.  | Volatile ECC SB / DB |
| Fan   Temp   Power Usage /Cap | Memory Usage         | GPU Util. Compute M. |
|===============================+======================+======================|
| 0.  GeForce GTX 580           | 0000:25:00.0  N/A    |       N/A        N/A |
|  54%   70 C  N/A   N/A /  N/A |  25%  383MB / 1535MB |  N/A      Default    |
|-------------------------------+----------------------+----------------------|
| Compute processes:                                               GPU Memory |
|  GPU  PID     Process name                                       Usage      |
|=============================================================================|
|  0.           Not Supported                                                 |
+-----------------------------------------------------------------------------+

2
Trong hệ thống centos 6.4 của tôi, nó cho tôi lỗi là "-bash: nvidia-smi: command not found". Rắc rối có thể là cái gì ?
Shyamkkhadka

@Shyamkkhadka Có thể xảy ra sự cố với PATH của bạn. Bạn có thể thử tìm nvidia-sminhư vậy:locate nvidia-smi
Brendan Wood

@BrendanWood, với lệnh định vị, nó hiển thị đầu ra trống. Tôi nghi ngờ nếu nó không có phần cứng gpu. Vì nó là HPC. Và tôi đang truy cập nó từ xa, bằng ssh.
Shyamkkhadka

@Shyamkkhadka Vâng, chắc là vậy. HPC thường không có GPU trừ khi chúng được cho là một cụm GPU. Bạn có thể kiểm tra phần cứng có sẵn với lspci. Ví dụ: stackoverflow.com/questions/10310250/…
Brendan Wood,

@BrendanWood, Như đã đề xuất trong liên kết của bạn, khi tôi thực hiện "lspci | grep VGA". Nó hiển thị đầu ra là "lspci | grep VGA 01: 03.0 Bộ điều khiển tương thích VGA: Advanced Micro Devices, Inc. [AMD / ATI] ES1000 (rev 02)". Vì vậy, tôi nghĩ rằng nó có phần cứng GPU.
Shyamkkhadka

101

Trên bất kỳ hệ thống linux nào có cài đặt và tải trình điều khiển NVIDIA vào hạt nhân, bạn có thể thực thi:

cat /proc/driver/nvidia/version

để tải phiên bản của mô-đun nhân NVIDIA hiện đang được tải, ví dụ:

$ cat /proc/driver/nvidia/version 
NVRM version: NVIDIA UNIX x86_64 Kernel Module  304.54  Sat Sep 29 00:05:49 PDT 2012
GCC version:  gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) 

5
Hoặc nếu bạn có cài đặt Bumblebee (do NVIDIA Optimus GPU kép), sau đó chạy này thay vì: "optirun cat / proc / lái xe / nvidia / phiên bản"
Shervin Emami

5
Điều này đặc biệt hữu ích khi kết quả đầu ra nvidia-smilà:Failed to initialize NVML: GPU access blocked by the operating system
DarioP,

1
Trong hệ thống centos 6.4 của tôi, tôi không có thư mục nvidia bên trong / proc / driver. Rắc rối có thể là cái gì ? Do đó, tôi không thể thấy phiên bản trình điều khiển nvidia của mình.
Shyamkkhadka

Cũng hữu ích khi bạn lấy đầu ra Failed to initialize NVML: Driver/library version mismatchtừ nvidia-smi.
Sethos II

14

modinfo thực hiện thủ thuật.

root@nyx:/usr/src# modinfo nvidia|grep version:
version:        331.113

3
Trên hệ thống của tôi, mô-đun được đặt tên nvidia_XXXtương ứng với loạt trình điều khiển chính mà tôi đã cài đặt và vì modinfokhông hỗ trợ ký tự đại diện hoặc khớp tên một phần nên tôi phải thực hiện việc này modinfo $(find /lib/modules/$(uname -r) -iname nvidia_*.ko | head -1) | grep ^version:để trả về phiên bản trình điều khiển chính và phụ chính xác.
dragon788,

1
Trên ubuntu 18.04, phiên bản của tôi modinfo--fieldtùy chọn dòng lệnh. Vì vậy, bạn có thể bỏ qua grep: modinfo nvidia --field version. Ngoài ra, trong ubuntu 16.04, điều này dường như không hoạt động. Tôi luôn luôn nhận được ERROR: Module nvidia not found.
cheshirekow

11

Phiên bản Windows:

cd \ Program Files \ NVIDIA Corporation \ NVSMI

nvidia-smi


7

[LƯU Ý: Tôi không cố ý xóa câu trả lời của mình, vì vậy mọi người xem cách không thực hiện]

Nếu bạn dùng:

me@over_there:~$  dpkg --status nvidia-current | grep Version | cut -f 1 -d '-' | sed 's/[^.,0-9]//g'
260.19.06

bạn sẽ nhận được phiên bản của gói trình điều khiển nVIDIA được cài đặt thông qua cơ chế đóng gói của phân phối của bạn. Nhưng đây có thể không phải là phiên bản thực sự đang chạy như một phần của hạt nhân của bạn ngay bây giờ.


11
Điều đó không cho bạn biết phiên bản trình điều khiển nào thực sự được cài đặt và sử dụng bởi hạt nhân. Sử dụng hệ thống tệp proc để xem điều đó .... Ngoài ra, điều này chỉ hoạt động trong các bản phân phối kiểu debian.
talonmies

2
@Framester nhờ vì đã rời bỏ lên này - (! Và sai của nó) đó là điều đầu tiên mà tôi muốn đã làm
stephen

@Framester: Bạn hoàn toàn đánh cược hệ thống! Tôi chỉ đưa cho bạn 1 khác trên một câu trả lời sai hữu ích ... bạn xảo quyệt quỷ :-)
einpoklum

4

Để mở rộng câu trả lời của ccc, nếu bạn muốn kết hợp truy vấn thẻ với một tập lệnh, đây là thông tin trên trang web Nvidia về cách thực hiện:

https://nvidia.custhelp.com/app/answers/detail/a_id/3751/~/useful-nvidia-smi-queries

Ngoài ra, tôi tìm thấy chủ đề này đang nghiên cứu về quyền hạn. Đây là một lệnh ví dụ chạy tiện ích để lấy bộ nhớ thực có sẵn trên GPU để giúp bạn bắt đầu.

# get gpu metrics
$cmd = "& 'C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi' --query-gpu=name,utilization.memory,driver_version --format=csv"
$gpuinfo = invoke-expression $cmd | ConvertFrom-CSV
$gpuname = $gpuinfo.name
$gpuutil = $gpuinfo.'utilization.memory [%]'.Split(' ')[0]
$gpuDriver = $gpuinfo.driver_version

này không trả lời các câu hỏi về phiên bản driver tốt hơn so với các câu trả lời được chấp nhận
JR Utily

1
@JRUnking, cảm ơn bạn đã nắm bắt được. Tôi đã cập nhật mã để hiển thị cách tải phiên bản trình điều khiển. Chúc mừng!
Jeff Blumenthal

0

Nếu bạn cần lấy điều đó trong một chương trình với Python trên hệ thống Linux để có thể tái tạo:

with open('/proc/driver/nvidia/version') as f:
    version = f.read().strip()
print(version)

cho:

NVRM version: NVIDIA UNIX x86_64 Kernel Module  384.90  Tue Sep 19 19:17:35 PDT 2017
GCC version:  gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.5) 
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.