방금 RTX 2060을 구입했는데 지금까지 내 환경/설정에서 모든 것이 잘 작동하고 있습니다. 하지만 여전히 내 코드를 분석할 수 없습니다.
(nvidia) brandon@b350-gaming-pc:~/projects/nvidia$ nvprof ./example.py
==29983== NVPROF is profiling process 29983, command: python3 ./example.py
Time: 0.05056905746459961
==29983== Warning: ERR_NVGPUCTRPERM - The user does not have permission to profile on the target device. See the following link for instructions to enable permissions and get more information: https://developer.nvidia.com/ERR_NVGPUCTRPERM
==29983== Profiling application: python3 ./example.py
==29983== Profiling result:
No kernels were profiled.
No API activities were profiled.
==29983== Warning: Some profiling data are not recorded. Make sure cudaProfilerStop() or cuProfilerStop() is called before application exit to flush profile data.
나는 이것이 분명히 권한 "버그"라는 것을 알고 다음을 추가했습니다.
(nvidia) brandon@b350-gaming-pc:~/projects/nvidia$ cat /etc/modprobe.d/cuda.conf
NVreg_RestrictProfilingToAdminUsers=0
그러나 다시 시작한 후 코드를 분석하려고 하면 동일한 메시지가 나타납니다. 그리고,
(nvidia) brandon@b350-gaming-pc:~/projects/nvidia$ sudo update-initramfs -u
[sudo] password for brandon:
update-initramfs: Generating /boot/initrd.img-4.15.0-55-generic
libkmod: ERROR ../libkmod/libkmod-config.c:656 kmod_config_parse: /etc/modprobe.d/cuda.conf line 1: ignoring bad line starting with 'NVreg_RestrictProfilingToAdminUsers=0'
libkmod: ERROR ../libkmod/libkmod-config.c:656 kmod_config_parse: /etc/modprobe.d/cuda.conf line 1: ignoring bad line starting with 'NVreg_RestrictProfilingToAdminUsers=0'
libkmod: ERROR ../libkmod/libkmod-config.c:656 kmod_config_parse: /etc/modprobe.d/cuda.conf line 1: ignoring bad line starting with 'NVreg_RestrictProfilingToAdminUsers=0'
...
이 명령은 영원히 반복되는 것 같습니다.
여기서 뭔가 빠졌나요?
다음은 드라이버와 내 환경에 대한 추가 정보입니다.
(base) brandon@b350-gaming-pc:~$ nvidia-smi
Mon Sep 9 11:12:51 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 418.87.00 Driver Version: 418.87.00 CUDA Version: 10.1 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce RTX 2060 On | 00000000:0A:00.0 On | N/A |
| 0% 45C P8 20W / 170W | 1323MiB / 5903MiB | 38% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 2603 G /usr/lib/firefox/firefox 3MiB |
| 0 4300 G /usr/lib/xorg/Xorg 34MiB |
| 0 4894 G /usr/bin/gnome-shell 51MiB |
| 0 5806 G /usr/lib/xorg/Xorg 254MiB |
| 0 5920 G /usr/bin/gnome-shell 899MiB |
| 0 10378 G ...quest-channel-token=3880407371781342003 36MiB |
+-----------------------------------------------------------------------------+
(base) brandon@b350-gaming-pc:~$ uname -r
4.15.0-55-generic
(base) brandon@b350-gaming-pc:~$ lsmod | grep -i nvidia
nvidia_uvm 798720 0
nvidia_drm 45056 8
nvidia_modeset 1093632 17 nvidia_drm
nvidia 18194432 718 nvidia_uvm,nvidia_modeset
drm_kms_helper 167936 1 nvidia_drm
drm 401408 11 drm_kms_helper,nvidia_drm
ipmi_msghandler 53248 2 ipmi_devintf,nvidia
(base) brandon@b350-gaming-pc:~$ which nvprof
/usr/local/cuda-10.1/bin/nvprof
(base) brandon@b350-gaming-pc:~$ which python
/home/brandon/anaconda3/bin/python
내 시스템의 다른 콘텐츠/출력을 보려면 알려주시기 바랍니다.
답변1
내 생각엔 이 파일에 대한 전체 옵션을 놓친 것 같습니다 /etc/modprobe.d/cuda.conf
. 이 시도:
options nvidia "NVreg_RestrictProfilingToAdminUsers=0"
답변2
sudo와 같은 루트가 아닌 경우 로그인에서 다음 명령을 실행하십시오.
systemctlisolatemultiuser#창 관리자를 중지합니다. modprobe -r nvidia_uvm nvidia_drm nvidia_modeset nvidia-vgpu-vfio nvidia sudo setcap cap_sys_admin+ep modprobe nvidia NVreg_RestrictProfilingToAdminUsers=0 ;;/etc/modprobe.d/<.conf>에 다음을 추가 systemctl isolate Graphics
삽입된 모듈 키 세트를 설정하거나 설정 해제하기 전에 창 관리자를 중지하고 이전 모듈을 모두 제거해야 합니다. 모듈 키를 삽입한 후 반드시 창 관리자를 시작하세요.
여전히 오류가 표시되면 위 명령을 실행하는 현재 사용자의 명령 출력을 인쇄하십시오. $ capsh --print|grep -i "cap_sys_admin"