日常开发基于Linux系统(其实更多的是Ubuntu平台),平时总会遇到一些情况需要查看某个库或者软件的版本信息,在这里做一下简单的记录。

1. 查看glibc版本

  • 方法一:使用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.
  • 方法二:使用getconf指令
cv@cv:~$ getconf GNU_LIBC_VERSION
glibc 2.23
  • 方法三:c语言编程获取
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*

2. 查看NVIDIA显卡信息

2.1 显卡型号
  • 使用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)
2.2 显卡驱动程序版本
  • 使用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 Version450.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
2.3 查看cuda版本
  • 使用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字段。

  • 使用 nvcc 命令,两个短杠后面跟小写version,或者一个短杠后面跟大写字母V
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
2.4 查看cuDNN的版本

读取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

3.查看Boost版本

通过查看包含版本信息的头文件来确定

cv@cv ~$ dpkg -S /usr/include/boost/version.hpp

当然其实,使用cat或者vim直接打开version.hpp也可以在里面找到。

未完待续...欢迎补充~

--

其他相关指令及操作

本文作者 :phillee

发表日期 :2022年12月01日

本文链接https://www.cnblogs.com/phillee/p/11577129.html

版权声明 :自由转载-非商用-非衍生-保持署名(创意共享3.0许可协议/CC BY-NC-SA 3.0)。转载请注明出处!

限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。

.outter_box { text-align: center }
.button { background-color: rgba(83, 168, 73, 1); border: none; border-radius: 6px; color: rgba(255, 255, 255, 1); padding: 9px 24px; text-align: center; text-decoration: none; display: inline-block; font-size: 16px }
.img_box { border: none; color: rgba(255, 255, 255, 1); text-align: center; vertical-align: middle }
.demo { width: 208px; height: 260px; margin: 0 auto }
.demo img { -webkit-filter: drop-shadow(2px 2px 5px rgba(0,0,0,.5)); filter: drop-shadow(2px 2px 5px rgba(0,0,0,.5)) }

感谢您的支持

¥ 打赏

微信支付

最新文章

  1. Best way to add Gradle support to IntelliJ Project
  2. ROS学习(二)—— 配置ROS环境
  3. [Appium] 使用Appium过程中遇到的各种坑
  4. js eventhandler
  5. AJAX(XMLHttpRequest)进行跨域请求方法详解(二)
  6. Python3基础 add() 向集合中加入新的元素
  7. 零基础如何迅速学习HTML5?新手小白学习web前端H5自白!
  8. Function:html结构转字符串形式显示
  9. Sql 四大排名函数(ROW_NUMBER、RANK、DENSE_RANK、NTILE)简介
  10. 《Java大学教程》--第2章 选择
  11. JS基础-数组的常用方法-冒泡排序
  12. 把图片上的文字转换成word文字?
  13. 【BZOJ2830/洛谷3830】随机树(动态规划)
  14. JVM性能调优监控工具详解
  15. day5模块学习--shelve模块
  16. [JS] 理解jquery的$.extend()、$.fn和$.fn.extend()
  17. 关于UITableView 不能回调 tableView: cellForRowAtIndexPath的问题
  18. git服务器的简单搭建
  19. Linux下的信号机制
  20. 理解RESTful 架构

热门文章

  1. 头文件与main函数
  2. Windows安装Jenkins详细教程(图文教程)
  3. 将 Docker Engine 节点从 dockershim 迁移到 cri-dockerd
  4. 查看docker容器占用的内存
  5. 【博学谷学习记录】超强总结,用心分享|Linux修改文件权限方法总结
  6. Windows活动目录_票据——敬请期待!
  7. golang中的几种并发模式
  8. windows下cmd补全键注册表修改
  9. MySQL 索引失效-模糊查询,最左匹配原则,OR条件等。
  10. element-plus 消息提示