Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Warning

This example has been tested on EUMETSAT side of the EWC.


Info

Tensorflow library has many dependencies that interest all the stack (from application level to hardware) and it is released quite often by the community. For the purpose of this documention for GPUs on Tensorflow. The following assumptions have been considered:

Info
You have to have
  • Python 3.6 - 3.8 installed.
Other versions do not work with Tensorflow. 

It is highly recommended to install Tensorflow inside a virtual environment, here is a simple example using virtualenv:

...

In order to run the following example you need to have the following packages in your environment:

  • tensorflow

You can check this documentation for Install package in Python environment and handle python environments for reproducibility.

...

CentOS 7

Install the prerequisites and Tensorflow 2.8:

Code Block
sudo yum -y install epel-release
sudo yum update -y
sudo yum -y groupinstall "Development Tools"
sudo yum -y install openssl-devel bzip2-devel libffi-devel xz-devel
python3pipenv -m pip install tensorflow==2.8.0
OS=rhel7 && \ 
sudo yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/${OS}/x86_64/cuda-${OS}.repo && \
sudo yum clean all && \
sudo yum install -y sudo yum install libcudnn8.x86_64 libcudnn8-devel.x86_64 

...

Code Block
[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]


Ubuntu 20.04

Begin by installing the nvidia-cuda-toolkit:

Code Block
sudo apt update
sudo apt upgrade
sudo apt install nvidiaopenjdk-cuda11-toolkitjdk

After installing the nvidia-cuda-toolkit, you can now install cuDNN 78.64.5 by 0 by downloading it from this link. You’ll be asked to login or create an NVIDIA account. After logging in and accepting the terms of cuDNN software license agreement, you will see a list of available cuDNN software.

Once downloaded, untar the file, copy its ingredients to your cuda libraries and change permissions:

Code Block
tar -xvzfxvf cudnn-XXlinux-linux-x64-vXX.tgzx86_64-8.4.0.27_cuda11.6-archive.tar.xz
sudo cp cuda-v cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive/include/cudnn.h /usr/liblocal/cuda/include/
sudo cp cuda/lib64-v cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive/lib/libcudnn* /usr/liblocal/cuda/lib64/
sudo chmod a+r /usr/liblocal/cuda/include/cudnn.h /usr/liblocal/cuda/lib64/libcudnn*
echo 'export LD_LIBRARY_PATH=/usr/liblocal/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/liblocal/cuda/include:$LD_LIBRARY_PATH' >> ~/.bashrc
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/extras/CUPTI/lib64
source ~/.bashrc

Now install Tensorflow with pippipenv (or conda):

Code Block
python3 -m pippipenv install tensorflow==2.8.0

...