Account
Access
Software
CUDA Toolkit
cuDNN
Tensorflow
Keras
ai benchmark

This page will show you how to test your VM’s GPU and access and test the software that is pre-installed on the scs-gpu-TENSORFLOW-2021 virtual machine.

VM Image Information

Image Name: scs-gpu-TENSORFLOW-2021
Creation Date: January 26, 2021
Operating System: Ubuntu 20.04
Window Manager: XFCE
Intended usage: This Openstack GPU virtual machine comes pre-installed with tensorflow install for python3 configured for this GPU.

Account

Username:Password

student:student

Please change your password as soon as the VM is provisioned for you. This can be done by logging into your VM and then opening a terminal window and typing ‘passwd’.

Access

From outside of Carleton you will need to VPN to Carleton in order to access the VM

  • VPN: Carleton VPN when connecting from outside of the campus
  • x2go: download x2go client to get a  full graphical desktop (use Session Type: XFCE)
  • ssh: use a terminal window to gain ssh access
  • console: SCS Open Stack horizon web interface (not recommended)

Recommended usage is to VPN to Carleton and then use the x2go client to connect to your VM

Software

Software Version
NVIDIA Driver 450.66
CUDA Toolkit 10.1
CUDA Driver 11
CUDA Runtime 10.1
cuDNN 8.0.2.39
NCCL 2.7.8
Tensorflow 2.3.0
Keras 2.4.3
Pandas 0.25.3
Numpy 1.18.5
Anaconda 2020.11

CUDA Toolkit 10.1

The CUDA toolkit is installed with samples.

Samples are installed here /home/student/NVIDIA_CUDA-10.1_Samples as well as in /usr/local/cuda-10.1/samples

Run this sample to test CUDA and probe your GPU:


student@scs-tensorflow$ /usr/local/cuda-10.1/samples/1_Utilities/deviceQuery/deviceQuery

CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "TITAN V"
CUDA Driver Version / Runtime Version 11.0 / 10.1
CUDA Capability Major/Minor version number: 7.0
Total amount of global memory: 12067 MBytes (12652838912 bytes)
(80) Multiprocessors, ( 64) CUDA Cores/MP: 5120 CUDA Cores
GPU Max Clock rate: 1455 MHz (1.46 GHz)
Memory Clock rate: 850 Mhz
Memory Bus Width: 3072-bit
L2 Cache Size: 4718592 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 7 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 supports Compute Preemption: Yes
Supports Cooperative Kernel Launch: Yes
Supports MultiDevice Co-op Kernel Launch: Yes
Device PCI Domain ID / Bus ID / location ID: 0 / 0 / 5
Compute Mode:
< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 11.0, CUDA Runtime Version = 10.1, NumDevs = 1
Result = PASS

You can run nvcc -V to check your CUDA version. clinfo also gives you a lot of info about your GPU and  NVIDIA software installed.

cuDNN

You can test the cuDNN package by running the sample code here:

/usr/src/cudnn_samples_v8/conv_sample

Note: You need to make and run the sample code

Tensorflow

Tensorflow was installed using pip3 on python3 using the venv environment. You can check the tensforflow version as follows:


student@scs-gpu-tensorflow:~$ source ./venv/bin/activate
(venv) student@scs-gpu-tensorflow:~$ pip3 list | grep tensorflow
tensorflow 2.3.0
tensorflow-estimator 2.3.0
(venv) student@scs-gpu-tensorflow:~$ python -c 'import tensorflow as tf; print(tf.__version__)'
2020-09-14 15:44:10.391460: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudart.so.10.1
2.3.0
(venv) student@scs-gpu-tensorflow:~$ deactivate
student@scs-gpu-tensorflow:~$

Keras

Keras is a python deep learning API. Keras was installed using pip3 on python3 using the venv environment.

As a requirement pyyaml, h5py, numpy, and scipy were installed.

You can check the Keras version as follows:

student@scs-gpu-tensorflow:~$ source ./venv/bin/activate
(venv) student@scs-gpu-tensorflow:~$ pip3 show keras
Name: Keras
Version: 2.4.3
Summary: Deep Learning for humans
(venv) student@scs-gpu-tensorflow:~$ deactivate
student@scs-gpu-tensorflow:~$

ai-benchmark

The AI benchmark for Linux is installed. You can run the benchmark and then probe the GPU to see if the job is running. So it’s a two step procedure:

  1. run the benchmark (ai-benchmark)
  2. check the GPU for jobs (nvidia-smi -l)

After the benchmarking software completes it will list a score. The score can be looked up on their website

http://ai-benchmark.com/ranking_deeplearning.html

and you can verify that your number is similar to their benchmark test for your GPU.

Run the following python script to run your benchmark (takes about 20 minutes to complete):

from ai_benchmark import AIBenchmark
benchmark = AIBenchmark()
results = benchmark.run()

Test run looks something like:

(venv) student@scs-tensorflow:~$ python
Python 3.8.2 (default, Jul 16 2020, 14:00:26)
[GCC 9.3.0] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
>>> from ai_benchmark import AIBenchmark
2020-09-16 16:00:15.485714: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudart.so.10.1
>>> benchmark = AIBenchmark()>> AI-Benchmark-v.0.1.2
>> Let the AI Games begin..>>> results = benchmark.run()

……..

Device Inference Score: 14198
Device Training Score: 14056
Device AI Score: 28254
For more information and results, please visit http://ai-benchmark.com/alpha