The following procedure will guide you through installation of tensorflow on AWS GPU instances with 64bit Ubuntu1604
export CUDA_HOME=/usr/local/cuda
export CUDA_ROOT=/usr/local/cuda
export PATH=$PATH:$CUDA_ROOT/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_ROOT/lib64
# note 1
wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_8.0.61-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1604_8.0.61-1_amd64.deb
sudo apt-get update
# note 2
sudo apt-get install -y nvidia-367 libcuda1-367
sudo apt-get install -y cuda-toolkit-8-0
sudo reboot
If your linux is not ubuntu1604, you should browse here to find your distribution and version of linux.
Currently AWS has two instance types with GPU support: G2 and P2. G2 is installed with K520 card and P2 is with P80. nvidia-367 driver is for the K520 card therefore the G2 instances. If you are using P2 instance, you should use nvidia-375
and libcuda1-375
nvidia-smi
should show all your GPU cards now.
wget https://dl.dropboxusercontent.com/u/2762665/cudnn-8.0-linux-x64-v5.1.tgz
sudo tar -xvf cudnn-8.0-linux-x64-v5.1.tgz -C /usr/local
sudo apt-get install -y python3-pip
pip3 install tensorflow-gpu
pip3 install opencv-python
import tensorflow as tf
tf_session = tf.Session()
x = tf.constant(1)
y = tf.constant(1)
tf_session.run(x + y)
- hosts: aws
tasks:
- name: modify .bashrc
blockinfile:
dest: ~/.bashrc
block: |
export CUDA_HOME=/usr/local/cuda
export CUDA_ROOT=/usr/local/cuda
export PATH=$PATH:$CUDA_ROOT/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_ROOT/lib64
- name: install nvidia repo deb
become: yes
apt:
deb: http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_8.0.61-1_amd64.deb
- name: update apt
become: yes
apt:
update_cache: yes
- name: install nvidia_driver_367/cuda/pip3
become: yes
apt: name={{item}} state=installed
with_items:
- nvidia-367
- libcuda1-367
- cuda-toolkit-8-0
- python3-pip
- name: install cuDNN
become: yes
unarchive:
src: https://dl.dropboxusercontent.com/u/2762665/cudnn-8.0-linux-x64-v5.1.tgz
dest: /usr/local
remote_src: True
- name: install tensorflow and opencv
pip: name={{item}} executable=pip3
with_items:
- tensorflow-gpu
- opencv-python
- name: Reboot
become: yes
shell: shutdown -r now