Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| ace-gpu-1_installation_log [2017/02/15 17:41] – created csteel | ace-gpu-1_installation_log [2024/03/26 13:52] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| Log of platform setup and configuration | Log of platform setup and configuration | ||
| + | |||
| + | ===== Base ===== | ||
| + | |||
| + | |||
| + | ===== NVIDIA Driver ===== | ||
| + | |||
| + | This is probably not required as a driver is included with CUDA. | ||
| + | |||
| + | < | ||
| + | chmod 770 NVIDIA-Linux-x86_64-375.26.run | ||
| + | / | ||
| + | ./ | ||
| + | reboot | ||
| + | </ | ||
| + | |||
| + | ===== CUDA ==== | ||
| + | |||
| + | Installation of CUDA from debian package | ||
| + | |||
| + | ==== Confirm GPU ==== | ||
| + | |||
| + | < | ||
| + | lspci | grep -i nvidia | ||
| + | </ | ||
| + | |||
| + | Output example | ||
| + | |||
| + | < | ||
| + | 01:00.0 VGA compatible controller: NVIDIA Corporation Device 1b06 (rev a1) | ||
| + | 01:00.1 Audio device: NVIDIA Corporation Device 10ef (rev a1) | ||
| + | 02:00.0 VGA compatible controller: NVIDIA Corporation Device 1b06 (rev a1) | ||
| + | 02:00.1 Audio device: NVIDIA Corporation Device 10ef (rev a1) | ||
| + | 03:00.0 VGA compatible controller: NVIDIA Corporation Device 1b06 (rev a1) | ||
| + | 03:00.1 Audio device: NVIDIA Corporation Device 10ef (rev a1) | ||
| + | |||
| + | </ | ||
| + | |||
| + | ==== gcc version ==== | ||
| + | |||
| + | < | ||
| + | gcc --version | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609 | ||
| + | Copyright (C) 2015 Free Software Foundation, Inc. | ||
| + | This is free software; see the source for copying conditions. | ||
| + | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
| + | </ | ||
| + | |||
| + | ==== ensure for headers ==== | ||
| + | |||
| + | < | ||
| + | sudo apt-get install linux-headers-$(uname -r) | ||
| + | </ | ||
| + | |||
| + | ==== Download CUDA Toolkit ==== | ||
| + | |||
| + | < | ||
| + | wget https:// | ||
| + | </ | ||
| + | |||
| + | ==== Confirm checksum ==== | ||
| + | |||
| + | < | ||
| + | wget https:// | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | md5sum cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64-deb | ||
| + | cat md5sum-txt | grep cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64 | ||
| + | </ | ||
| + | |||
| + | ==== Install ==== | ||
| + | |||
| + | < | ||
| + | mv cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64-deb cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb | ||
| + | sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb | ||
| + | sudo apt-get update | ||
| + | sudo apt-get install cuda | ||
| + | </ | ||
| + | |||
| + | Reboot system. | ||
| + | |||
| + | ==== Environment Setup ==== | ||
| + | |||
| + | === Add CUDA bin path === | ||
| + | |||
| + | </ | ||
| + | export PATH=/ | ||
| + | echo $PATH | ||
| + | < | ||
| + | |||
| + | === Ensure for LD_LIBRARY_PATH === | ||
| + | |||
| + | Ensure LD_LIBRARY_PATH includes `/ | ||
| + | |||
| + | < | ||
| + | echo $LD_LIBRARY_PATH | ||
| + | </ | ||
| + | |||
| + | If not set set using: | ||
| + | |||
| + | < | ||
| + | export LD_LIBRARY_PATH=/ | ||
| + | </ | ||
| + | |||
| + | otherwise something like this: | ||
| + | |||
| + | < | ||
| + | export LD_LIBRARY_PATH=/ | ||
| + | </ | ||
| + | |||
| + | ==== /etc/skel ==== | ||
| + | |||
| + | Configure `/etc/skel` so that new users have the proper environment configuration | ||
| + | |||
| + | < | ||
| + | nano / | ||
| + | </ | ||
| + | |||
| + | Content example | ||
| + | |||
| + | < | ||
| + | # set user PATH to include / | ||
| + | if [ -d "/ | ||
| + | PATH="/ | ||
| + | fi | ||
| + | |||
| + | # set user LD_LIBRARY_PATH to include / | ||
| + | if [ -d "/ | ||
| + | LD_LIBRARY_PATH="/ | ||
| + | |||
| + | |||
| + | </ | ||
| + | < | ||
| + | </ | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | === GPU Accounting Setup and Configuration === | ||
| + | |||
| + | The CUDA nvidia-persistenced needs to be configured for the target OS's startup system. In the case of Ubuntu 16.04 this would be systemd. | ||
| + | |||
| + | == Confirm Driver Version == | ||
| + | |||
| + | < | ||
| + | nvidia-smi | ||
| + | </ | ||
| + | |||
| + | Output example | ||
| + | |||
| + | < | ||
| + | Wed Apr 26 14:20:40 2017 | ||
| + | +-----------------------------------------------------------------------------+ | ||
| + | | NVIDIA-SMI 375.39 | ||
| + | |-------------------------------+----------------------+----------------------+ | ||
| + | | GPU Name Persistence-M| Bus-Id | ||
| + | | Fan Temp Perf Pwr: | ||
| + | |===============================+======================+======================| | ||
| + | | | ||
| + | | 41% | ||
| + | +-------------------------------+----------------------+----------------------+ | ||
| + | |||
| + | +-----------------------------------------------------------------------------+ | ||
| + | | Processes: | ||
| + | | GPU | ||
| + | |=============================================================================| | ||
| + | | 0 1977 G / | ||
| + | | 0 | ||
| + | | 0 | ||
| + | | 0 | ||
| + | +-----------------------------------------------------------------------------+ | ||
| + | </ | ||
| + | |||
| + | == Download and uncompress == | ||
| + | |||
| + | Download nvidia-persistenced version that matches your driver version (see output example above) | ||
| + | |||
| + | < | ||
| + | mkdir -p ~/ | ||
| + | cd ~/ | ||
| + | wget ftp:// | ||
| + | tar xvjf nvidia-persistenced-375.39.tar.bz2 | ||
| + | </ | ||
| + | |||
| + | == Edit the nvidia-persistenced.conf.template == | ||
| + | |||
| + | = Confirm creation of the nvidia-persistenced user = | ||
| + | |||
| + | < | ||
| + | sudo cat /etc/passwd | grep nvidia | ||
| + | </ | ||
| + | |||
| + | Output example: | ||
| + | |||
| + | < | ||
| + | nvidia-persistenced: | ||
| + | </ | ||
| + | |||
| + | == Edit the systemd template == | ||
| + | |||
| + | < | ||
| + | cd nvidia-persistenced-375.39/ | ||
| + | nano nvidia-persistenced.service.template | ||
| + | </ | ||
| + | |||
| + | Replace __USER__ with the nvidia-persistence users name `nvidia-persistenced` | ||
| + | |||
| + | == Run the installer == | ||
| + | |||
| + | < | ||
| + | cd ~/ | ||
| + | sudo ./ | ||
| + | </ | ||
| + | |||
| + | = Output example = | ||
| + | |||
| + | < | ||
| + | Checking for common requirements... | ||
| + | sed found in PATH? Yes | ||
| + | useradd found in PATH? Yes | ||
| + | userdel found in PATH? Yes | ||
| + | id found in PATH? Yes | ||
| + | Common installation/ | ||
| + | |||
| + | Creating sample System V script... done. | ||
| + | Creating sample systemd service file... done. | ||
| + | Creating sample Upstart service file... done. | ||
| + | |||
| + | Checking for systemd requirements... | ||
| + | / | ||
| + | / | ||
| + | systemctl found in PATH? Yes | ||
| + | systemd installation/ | ||
| + | |||
| + | Installation parameters: | ||
| + | User : nvidia-persistenced | ||
| + | Group : nvidia-persistenced | ||
| + | systemd service installation path : / | ||
| + | |||
| + | User ' | ||
| + | User ' | ||
| + | Stopping nvidia-persistenced.service... done. | ||
| + | Installing sample systemd service nvidia-persistenced.service... done. | ||
| + | Enabling nvidia-persistenced.service... done. | ||
| + | Starting nvidia-persistenced.service... done. | ||
| + | </ | ||
| + | |||
| + | == Check == | ||
| + | |||
| + | < | ||
| + | sudo service nvidia-persistenced status | ||
| + | </ | ||
| + | |||
| + | == Troubleshooting == | ||
| + | |||
| + | add " | ||
| + | |||