---
# System prepended metadata

title: NVIDIA RTX-3080*2 benchmark environment using and building SOP (1000 times)

---

# NVIDIA RTX-3080*2 benchmark environment using and building SOP (1000 times)

## HW equipment
Mother Board: BIS-5101 with NVIDIA GEFORCE RTX3080 x 2
CPU: Intel® 5318Y * 1
RAM: 64GB SODIMM x 2
OS: Ubuntu 18.04 LTS Desktop, kernel 5.4.0-42-generic
Docker: 20.10.11
Cuda: 11.4
NVIDIA TensorRT docker image version: 21.10-py3
NVIDIA TensorFlow docker image version: 20.11-tf2-py3

## Step 1
### Install the Nvidia Driver
Download the latest stable Driver from NVIDIA offical website. URL: https://www.nvidia.com/zh-tw/geforce/drivers/
After downloading the .run file
```
# chmod 777 NVIDIA-Linux-x86_64-455.38.run //notice the filename when you click command, filename may be different because of its version or others
# apt install gcc make
# ./NVIDIA-Linux-x86_64-455.38.run //notice the filename when you click command
//When you execute the .run file, click "continue install" option in every error message
# reboot
```
after reboot, command 

```
nvidia-smi
```
If you install the driver successfully, it shows message like picture below:

![](https://i.imgur.com/dEGjlPn.png)

## Step 2
### gpu_monitor script for getting the below mentioned values about GPU.
We use nvidia-smi tool to monitor temperature, power(watt), processes and frequency of gpu
I wrote a script to show those message and save messages to log in a loop
You can do test and monitor gpu value at the same time by switching tty in Linux or using terminal management tool like tmux
```

# sudo su
# nano benchmark.sh
```
Copy the bash script and save the file
```

`#!/bin/bash`

echo " " > ./gpu_log.txt

echo "please insert interval (sec) : "

read interval

for((i=1;i>0;i++))
do
	echo -e "\n=====i : ${i}=====\n" > ./gpu_log_tmp.txt
	nvidia-smi >> ./gpu_log_tmp.txt
	cat ./gpu_log_tmp.txt
	sleep 2
	nvidia-smi -q -d CLOCK | grep -v N/A | grep -v "Not Found" >> ./gpu_log_tmp.txt
	cat ./gpu_log_tmp.txt
	cat ./gpu_log_tmp.txt >> ./gpu_log.txt
	sleep "${interval}"
done
```
Make that file executable and run the script.

```
# chmod 777 benchmark.sh
# ./benchmark
```
Give the time interval of 1 second to montior the value in every one second.

## Step 3:
### Install the Docker
```
# sudo apt-get remove docker docker-engine docker.io containerd runc
# sudo apt-get update
# sudo apt-get install \
   apt-transport-https \
   ca-certificates \
   curl \
   gnupg-agent \
   software-properties-common
# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# sudo apt-key fingerprint 0EBFCD88
```
Make sure that the result may be:
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
```

# sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
# sudo apt-get update
# sudo apt-get install docker-ce docker-ce-cli containerd.io
```