docker中安装Nsight,分析cuda计算对GPU的利用效率
作者:互联网
最近刚开始接触CUDA,性能分析的时候免不了要使用Nsight工具,docker中又没有安装,就需要在自己的环境中配置了。
1. 运行docker
2. NSight安装准备
官方对Nsight的支持文档中,需要执行deviceQuery命令确定系统上的CUDA驱动程序和运行时版本,Ubuntu系统的deviceQuery在:
cd /usr/local/cuda/samples/1_Utilities/deviceQuery
Linux上对x86_64目标的要求,从主机上的GUI连接到基于x86_64的Linux的目标时,通过SSH建立连接。
使用Linux Perf:要收集线程调度数据和IP(指令指针)样本,目标系统上的Perf偏执级别必须为2或更小。使用以下命令进行检查:
cat /proc/sys/kernel/perf_event_paranoid
如果输出结果数值> 2,请执行以下操作以临时调整偏执级别(请注意,此操作是临时调整,系统每次重新启动后都需要执行):
sh -c 'echo 2 > /proc/sys/kernel/perf_event_paranoid'
要使更改永久生效,请使用以下命令:
sh -c 'echo kernel.perf_event_paranoid=2 > /etc/sysctl.d/local.conf'
如需移除请编辑/etc/sysctl.d/local.conf删除echo kernel.perf_event_paranoid=2 行,保存重启生效。
Nsight Systems需要glibc 2.14或更高版本。要检查目标设备上的glibc版本,请运行以下命令:
ldd --version
Nsight Systems需要目标系统上/var/lock目录的写权限,通过ls -l /var/lock 命令可以检查:
1 test@test:~$ ll /var/lock 2 lrwxrwxrwx 1 root root 9 Jul 31 16:28 /var/lock -> /run/lock/
3. NSight安装
在Nvidia下载中心选择NSight Systems,通过以下命令安装:
sh NsightSystems-linux-public-2022.2.1.31-5fe97ab.run --accept --quiet
默认安装路径/opt/nvidia/nsight-systems/2022.2.1,如需卸载直接rm -rf /opt/nvidia/nsight-systems/2022.2.1
在docker中,可能会出现关于locale的报错,格式不齐之类的。
可以通过以下命令修正:
1 apt-get clean && apt-get update && apt-get install -y locales 2 locale-gen en_US.UTF-8
需要注意的是,执行以上命令后,nsys并不能立马生效,仍会出现command nsys not found的情况,这个时候只需要把上述的NSight System的安装路径添加至环境变量即可,需要执行的命令如下:
1 vim /etc/profile
然后在末尾添加
export PATH=$PATH:/opt/nvidia/nsight-systems/2022.2.1/bin
再执行source /etc/profile 即可
运行nsys,发现能够正常输出。
标签:kernel,paranoid,lock,命令,Nsight,NSight,cuda,GPU 来源: https://www.cnblogs.com/songzz/p/16496219.html