解决 nvprof 报错ERR_NVGPUCTRPERM - The user does not have permission to profile on the target device

本文介绍在使用nvprof工具进行CUDA程序性能分析时遇到的权限不足问题及其解决方案。当使用nvprof命令时,可能会遇到ERR_NVGPUCTRPERM错误,这是因为用户没有足够的权限在目标设备上进行性能计数器的收集。文章提供了两种解决方案:一是通过修改内核模块参数,二是使用sudo命令并调整sudoers文件中的配置。
AudioSeal 音频水印系统

AudioSeal 音频水印系统

语音合成
PyTorch
Cuda

**AudioSeal** 是 Meta 开源的语音水印系统,用于 AI 生成音频的检测和溯源。

做 CUDA 开发,使用工具 profile 程序性能是必不可少的,其中 nvprof 命令行工具最为常用。我的配置是Ubuntu18.04,CUDA Toolkit 10.1,驱动 440.26。使用命令行 nvprof ./fileName,报错:

Warning: ERR_NVGPUCTRPERM - The user does not have permission to profile on the target device.

这个问题的官网解决方案在:https://developer.nvidia.com/nvidia-development-tools-solutions-ERR_NVGPUCTRPERM-permission-issue-performance-counters,原因简单说来就是权限不够,这个问题在你使用 418.43 (Linux) 以后的驱动时都会碰到。

其中一种解决方法(对我的情况无效):

modprobe nvidia NVreg_RestrictProfilingToAdminUsers=0

我的解决方案是配合 sudo 使用 nvprof

sudo nvprof ./fileName

你应该会发现这行命令会报以下错误:

sudo: nvprof: command not found

解决这个问题的方法很多,我选了个最简单粗暴的。输入以下命令打开 sudoers:

sudo visudo

把以下内容都注释掉,然后保存:

Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

这时再输入以下命令以管理员权限运行 nvprof 应该就可以了:

sudo nvprof ./fileName

您可能感兴趣的与本文相关的镜像

AudioSeal 音频水印系统

AudioSeal 音频水印系统

语音合成
PyTorch
Cuda

**AudioSeal** 是 Meta 开源的语音水印系统,用于 AI 生成音频的检测和溯源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值