# Tensorflow ROCm port: Basic installation ## Intro This instruction provides a starting point for TensorFlow ROCm port (mostly via deb packages). *Note*: it is recommended to start with a clean Ubuntu 18.04 system ## Install ROCm ``` export ROCM_PATH=/opt/rocm export DEBIAN_FRONTEND noninteractive sudo apt update && sudo apt install -y wget software-properties-common ``` Add the ROCm repository: ``` wget -qO - http://repo.radeon.com/rocm/apt/debian/rocm.gpg.key | sudo apt-key add - sudo sh -c 'echo deb [arch=amd64] http://repo.radeon.com/rocm/apt/debian/ xenial main > /etc/apt/sources.list.d/rocm.list' ``` Tensorflow CSB nigtly build requires ROCm2.8, use the follwoing ROCm repository instead: ``` wget -qO - http://repo.radeon.com/rocm/apt/debian/rocm.gpg.key | sudo apt-key add - sudo sh -c 'echo deb [arch=amd64] http://repo.radeon.com/rocm/apt/2.8.0/ xenial main > /etc/apt/sources.list.d/rocm.list' ``` Install misc pkgs: ``` sudo apt-get update && sudo apt-get install -y \ build-essential \ clang \ clang-format \ clang-tidy \ cmake \ cmake-qt-gui \ ssh \ curl \ apt-utils \ pkg-config \ g++-multilib \ git \ libunwind-dev \ libfftw3-dev \ libelf-dev \ libncurses5-dev \ libpthread-stubs0-dev \ vim \ gfortran \ libboost-program-options-dev \ libssl-dev \ libboost-dev \ libboost-system-dev \ libboost-filesystem-dev \ rpm \ wget && \ sudo apt-get clean && \ sudo rm -rf /var/lib/apt/lists/* ``` Install ROCm pkgs: ``` sudo apt-get update && \ sudo apt-get install -y --allow-unauthenticated \ rocm-dkms rocm-dev rocm-libs rccl \ rocm-device-libs \ hsa-ext-rocr-dev hsakmt-roct-dev hsa-rocr-dev \ rocm-opencl rocm-opencl-dev \ rocm-utils ``` Add username to 'video' group and reboot: ``` sudo adduser $LOGNAME video sudo reboot ``` ## Install required python packages On Python 2-based systems: ``` sudo apt-get update && sudo apt-get install -y \ python-numpy \ python-dev \ python-wheel \ python-mock \ python-future \ python-pip \ python-yaml \ python-setuptools && \ sudo apt-get clean && \ sudo rm -rf /var/lib/apt/lists/* ``` On Python 3-based systems: ``` sudo apt-get update && sudo apt-get install -y \ python3-numpy \ python3-dev \ python3-wheel \ python3-mock \ python3-future \ python3-pip \ python3-yaml \ python3-setuptools && \ sudo apt-get clean && \ sudo rm -rf /var/lib/apt/lists/* ``` ## Install Tensorflow Community Supported Builds Link to the upstream Tensorflow CSB doc: <https://github.com/tensorflow/tensorflow#community-supported-builds> We provide nightly tensorflow-rocm whl packages for Python 2.7, 3.5, 3.6 and 3.7 based systems. After downloading the compatible whl package, you can use pip/pip3 to install. For example, the following commands can be used to download and install the tensorflow-rocm nightly CSB package on an Ubuntu 18.04 system previously configured with ROCm3.7 and Python3.6: ``` wget http://ml-ci.amd.com:21096/job/tensorflow-rocm-nightly/lastSuccessfulBuild/artifact/pip35_test/whl/tensorflow_rocm-2.0.0-cp35-cp35m-manylinux1_x86_64.whl pip3 install --user tensorflow_rocm-2.0.0-cp35-cp35m-manylinux1_x86_64.whl ``` ## Install TensorFlow ROCm release build Uninstall any previously-installed tensorflow whl packages: ``` pip list | grep tensorflow && pip uninstall -y tensorflow ``` We maintain `tensorflow-rocm` whl packages on PyPI [here](https://pypi.org/project/tensorflow-rocm). Starting ROCm3.7, ROCm dropped the support of Ubunty16.04 system, hence, Python2.7, Python3.5 based whl packages will not be provided on PyPi. For Python 3 based systems: ``` # Pip3 install the whl package from PyPI pip3 install --user tensorflow-rocm --upgrade ```