CUDA 10.1 : Install2020/07/27 |
Install GPU Computing Platform (GPGPU (General-Purpose computing on Graphics Processing Units)), CUDA (Compute Unified Device Architecture) provided by NVIDIA.
To use CUDA, it needs your computer has NVIDIA Graphic cards and also they are the CUDA-Enabled products.
Make sure the details on the site below. (most products are ready in the past few years) ⇒ https://developer.nvidia.com/cuda-gpus |
|
[1] | |
[2] | Install CUDA 10.1 that is provided from Ubuntu 20.04 official repository. |
root@dlp:~#
root@dlp:~# apt -y install nvidia-cuda-toolkit nvcc --version nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2019 NVIDIA Corporation Built on Sun_Jul_28_19:07:16_PDT_2019 Cuda compilation tools, release 10.1, V10.1.243 |
[3] | Verify installation with a common user to run sample program. |
# copy samples ubuntu@dlp:~$ git clone https://github.com/zchee/cuda-sample.git
ubuntu@dlp:~$
cd ./cuda-sample/1_Utilities/deviceQuery
ubuntu@dlp:~/cuda-sample/1_Utilities/deviceQuery$
vi Makefile # line 37: change CUDA_PATH?= /usr
# line 192: change SMS ?= 70
# compile deviceQuery sample ubuntu@dlp:~/cuda-sample/1_Utilities/deviceQuery$ make
# run deviceQuery sample ubuntu@dlp:~/cuda-sample/1_Utilities/deviceQuery$ ./deviceQuery ./deviceQuery Starting... CUDA Device Query (Runtime API) version (CUDART static linking) Detected 1 CUDA Capable device(s) Device 0: "GeForce GTX 1070" CUDA Driver Version / Runtime Version 10.2 / 10.1 CUDA Capability Major/Minor version number: 6.1 Total amount of global memory: 8119 MBytes (8513716224 bytes) MapSMtoCores for SM 6.1 is undefined. Default to use 128 Cores/SM MapSMtoCores for SM 6.1 is undefined. Default to use 128 Cores/SM (15) Multiprocessors, (128) CUDA Cores/MP: 1920 CUDA Cores GPU Max Clock rate: 1785 MHz (1.78 GHz) Memory Clock rate: 4004 Mhz Memory Bus Width: 256-bit L2 Cache Size: 2097152 bytes Maximum Texture Dimension Size (x,y,z) 1D=(131072), 2D=(131072, 65536), 3D=(16384, 16384, 16384) Maximum Layered 1D Texture Size, (num) layers 1D=(32768), 2048 layers Maximum Layered 2D Texture Size, (num) layers 2D=(32768, 32768), 2048 layers Total amount of constant memory: 65536 bytes Total amount of shared memory per block: 49152 bytes Total number of registers available per block: 65536 Warp size: 32 Maximum number of threads per multiprocessor: 2048 Maximum number of threads per block: 1024 Max dimension size of a thread block (x,y,z): (1024, 1024, 64) Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535) Maximum memory pitch: 2147483647 bytes Texture alignment: 512 bytes Concurrent copy and kernel execution: Yes with 2 copy engine(s) Run time limit on kernels: Yes Integrated GPU sharing Host Memory: No Support host page-locked memory mapping: Yes Alignment requirement for Surfaces: Yes Device has ECC support: Disabled Device supports Unified Addressing (UVA): Yes Device PCI Domain ID / Bus ID / location ID: 0 / 4 / 0 Compute Mode: < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) > deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 10.2, CUDA Runtime Version = 10.1, NumDevs = 1, Device0 = GeForce GTX 1070 Result = PASS # try to run bandwidthTest sample
ubuntu@dlp:~$
cd ~/cuda-sample/1_Utilities/bandwidthTest
ubuntu@dlp:~/cuda-sample/1_Utilities/bandwidthTest$
vi Makefile # line 37: change CUDA_PATH?= /usr
# line 192: change SMS ?= 70
make ubuntu@dlp:~/cuda-sample/1_Utilities/bandwidthTest$ ./bandwidthTest [CUDA Bandwidth Test] - Starting... Running on... Device 0: GeForce GTX 1070 Quick Mode Host to Device Bandwidth, 1 Device(s) PINNED Memory Transfers Transfer Size (Bytes) Bandwidth(MB/s) 33554432 11569.4 Device to Host Bandwidth, 1 Device(s) PINNED Memory Transfers Transfer Size (Bytes) Bandwidth(MB/s) 33554432 13226.9 Device to Device Bandwidth, 1 Device(s) PINNED Memory Transfers Transfer Size (Bytes) Bandwidth(MB/s) 33554432 191460.9 Result = PASS NOTE: The CUDA Samples are not meant for performance measurements. Results may vary when GPU Boost is enabled. |