日常開發基於Linux系統(其實更多的是Ubuntu平臺),平時總會遇到一些情況需要檢視某個庫或者軟體的版本資訊,在這裡做一下簡單的記錄。
ldd
指令cv@cv:~$ ldd --version
ldd (Ubuntu GLIBC 2.23-0ubuntu11) 2.23
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
cv@cv:~$ getconf GNU_LIBC_VERSION
glibc 2.23
cv@cv: ~$ vim checkversion.c # 使用某種編輯器編輯C原始檔
// checkversion.c
#include <stdio.h>
#include <gnu/libc-version.h>
int main(int argc, char *argv[]) {
printf("Version of glibc: ");
puts(gnu_get_libc_version());
printf("\n");
return 0;
}
cv@cv:~$ gcc -o checkversion checkversion.c
cv@cv:~$ ./checkversion
Version of glibc: 2.23 # <==這一行就是程式輸出結果
cv@cv: ~$ rm -rfv checkversion*
nvidia-smi
指令cv@cv:~$ nvidia-smi -L
GPU 0: Tesla V100-SXM2-32GB (UUID: GPU-89e3e0dd-ba5a-313e-0da1-ea6454396358)
從輸出資訊可以看到顯示卡型號以及視訊記憶體大小,如果有多個GPU,會有相應的GPU編號。
nvidia-smi
可以用,也可以用lspci
指令檢視cv@cv:~$ lspci | grep -i nvidia
1a:00.0 3D controller: NVIDIA Corporation GV100GL [Tesla V100 SXM2 32GB] (rev a1)
nvidia-smi
指令cv@cv:~$ nvidia-smi
Thu Dec 1 11:47:48 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.51.06 Driver Version: 450.51.06 CUDA Version: 11.0 |
|-------------------------------+----------------------+----------------------+
可以看到對應的Driver Version
為450.51.06
。
nvidia-smi
可以用,則可以直接讀取版本檔案資訊cv@cv:~$ cat /proc/driver/nvidia/version | grep NVIDIA
NVRM version: NVIDIA UNIX x86_64 Kernel Module 450.51.06 Sun Jul 19 20:02:54 UTC 2020
nvidia-smi
指令(沒錯又是nvidia-smi,能展示很多資訊,如果能用當然首先用這個指令)cv@cv:~$ nvidia-smi
Thu Dec 1 11:47:48 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.51.06 Driver Version: 450.51.06 CUDA Version: 11.0 |
|-------------------------------+----------------------+----------------------+
輸出資訊中的CUDA Version
欄位。
cv@cv:~$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Wed_Jul_22_19:09:09_PDT_2020
Cuda compilation tools, release 11.0, V11.0.221
Build cuda_11.0_bu.TC445_37.28845127_0
cv@cv:~$ cat /usr/local/cuda/version.txt
CUDA Version 11.0.228
讀取cudnn_version.h
標頭檔案中的版本資訊(根據版本不同,也有可能是讀取cudnn.h
標頭檔案,可以都試試)。
cv@cv:~$ cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2 -m 1
#define CUDNN_MAJOR 8
#define CUDNN_MINOR 0
#define CUDNN_PATCHLEVEL 5
其中grep
的引數 -A
表示同時顯示出匹配項之後的兩行,-m
表示在讀取到一個匹配行之後終止,也就是取第一個匹配行的意思。
根據上面的顯示資訊,cuDNN版本是8.0.5
。
通過檢視包含版本資訊的標頭檔案來確定
cv@cv ~$ dpkg -S /usr/include/boost/version.hpp
當然其實,使用cat
或者vim
直接開啟version.hpp
也可以在裡面找到。
未完待續...歡迎補充~
--
其他相關指令及操作
[1] Ubuntu16.04常用C++庫安裝及環境設定
https://www.cnblogs.com/phillee/p/11681137.html
[2] Linux Bash常用命令記錄
https://www.cnblogs.com/phillee/p/12989715.html
[3] Linux Bash字串操作
https://www.cnblogs.com/phillee/p/14649562.html
[4] TMUX使用指南-基礎版
https://www.cnblogs.com/phillee/p/12745516.html
[5] UDA架構及對應編譯引數
https://www.cnblogs.com/phillee/p/12049208.html
本文作者 :phillee
發表日期 :2022年12月01日
本文連結 :https://www.cnblogs.com/phillee/p/11577129.html
版權宣告 :自由轉載-非商用-非衍生-保持署名(創意共用3.0許可協定/CC BY-NC-SA 3.0)。轉載請註明出處!
限於本人水平,如果文章和程式碼有表述不當之處,還請不吝賜教。
感謝您的支援
微信支付