2018년 4월 6일 금요일

AC922의 CUDA 9.1에서의 기본 문제 해결 및 튜닝


다시 한번 정리합니다.   현재 버전의 CUDA 9.1에서는 AC922의 GPU들을 제대로 운용하기 위해서는 다음과 같이 약간의 손질이 필요합니다.   그러지 않을 경우 nvidia-smi에서 볼 때 UNKNOWN ERROR가 발생하는 등 GPU가 정상 작동을 하지 않습니다.

[root@ac922 ~]# dracut --force

[root@ac922 ~]# vi /etc/modprobe.d/blacklist-nouveau.conf
blacklist nouveau
options nouveau modeset=0

[root@ac922 ~]# vi /usr/lib/systemd/system/nvidia-persistenced.service
[Unit]
Description=NVIDIA Persistence Daemon
Wants=syslog.target

[Service]
Type=forking
PIDFile=/var/run/nvidia-persistenced/nvidia-persistenced.pid
Restart=always
ExecStart=/usr/bin/nvidia-persistenced --verbose
ExecStopPost=/bin/rm -rf /var/run/nvidia-persistenced

[Install]
WantedBy=multi-user.target

[root@ac922 ~]# sudo systemctl enable nvidia-persistenced

[root@ac922 ~]# sudo nvidia-smi -pm 1

[root@ac922 ~]# vi /lib/udev/rules.d/40-redhat.rules  (아래 줄을 #으로 comment-out)
...
#SUBSYSTEM=="memory", ACTION=="add", PROGRAM="/bin/uname -p", RESULT!="s390*", ATTR{state}=="offline", ATTR{state}="online"
...

여기서 이제 rebooting을 해야 합니다.  여기서 기본 튜닝 요소를 미리 /etc/rc.local에 다음과 같이 넣어두는 것이 좋습니다.

[root@ac922 ~]# ls -l /etc/rc.local
...
/usr/sbin/ppc64_cpu --smt=off
sleep 10
/usr/bin/cpupower frequency-set --governor performance
sleep 10
/usr/bin/nvidia-smi -ac 877,1530

그리고 /etc/rc.local과 연결된 /etc/rc.d/rc.local에 실행 퍼미션을 주는 것을 잊지 말아야 합니다.

[root@ac922 ~]# ls -l /etc/rc.local
lrwxrwxrwx. 1 root root 13 Apr  3 14:29 /etc/rc.local -> rc.d/rc.local

[root@ac922 ~]# chmod a+x /etc/rc.d/rc.local



댓글 없음:

댓글 쓰기