Skip to content

Commit

Permalink
Merge pull request #3 from ika-rwth-aachen/new-versions
Browse files Browse the repository at this point in the history
Support 2.9.3 and 2.8.4, prepare 2.10+
  • Loading branch information
lreiher authored Jan 9, 2023
2 parents 54ca7d6 + 76fe237 commit 9d3ea67
Show file tree
Hide file tree
Showing 12 changed files with 84 additions and 43 deletions.
16 changes: 12 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -23,18 +23,26 @@
MAKEFLAGS += --no-print-directory
MAKEFILE_DIR := $(shell dirname $(abspath $(lastword $(MAKEFILE_LIST))))

# build architecture
DEFAULT_ARCH := $(shell dpkg --print-architecture)
ARCH := $(if $(ARCH),$(ARCH),$(DEFAULT_ARCH))

# defaults
DEFAULT_TF_VERSION := 2.9.2
TF_VERSIONS := 2.9.2 2.9.1 2.9.0 2.8.3 2.8.2 2.8.1 2.8.0 2.7.4 2.7.3 2.7.2 2.7.1 2.7.0 2.6.5 2.6.4 2.6.3 2.6.2 2.6.1 2.6.0 2.5.3 2.5.2 2.5.1 2.5.0 2.4.4 2.4.3 2.4.2 2.4.1 2.4.0 2.3.4 2.3.3 2.3.2 2.3.1 2.3.0 2.2.3 2.2.2 2.2.1 2.2.0 2.1.4 2.1.3 2.1.2 2.1.1 2.1.0 2.0.4 2.0.3 2.0.2 2.0.1 2.0.0
DEFAULT_TF_VERSION := 2.9.3
TF_VERSIONS := 2.9.3 2.9.2 2.9.1 2.9.0 2.8.4 2.8.3 2.8.2 2.8.1 2.8.0 2.7.4 2.7.3 2.7.2 2.7.1 2.7.0 2.6.5 2.6.4 2.6.3 2.6.2 2.6.1 2.6.0 2.5.3 2.5.2 2.5.1 2.5.0 2.4.4 2.4.3 2.4.2 2.4.1 2.4.0 2.3.4 2.3.3 2.3.2 2.3.1 2.3.0 2.2.3 2.2.2 2.2.1 2.2.0 2.1.4 2.1.3 2.1.2 2.1.1 2.1.0 2.0.4 2.0.3 2.0.2 2.0.1 2.0.0
DEFAULT_JOBS := $(shell nproc)
DEFAULT_GPU := 1
DEFAULT_ARCH := $(shell dpkg --print-architecture)
ifeq ($(ARCH), arm64)
DEFAULT_TF_CUDA_COMPUTE_CAPABILITIES := 5.3,6.0,6.1,7.0,7.2,7.5,8.0,8.6,8.7
else
DEFAULT_TF_CUDA_COMPUTE_CAPABILITIES := 5.3,6.0,6.1,7.0,7.2,7.5,8.0,8.6
endif

# arguments
TF_VERSION := $(if $(TF_VERSION),$(TF_VERSION),$(DEFAULT_TF_VERSION))
JOBS := $(if $(JOBS),$(JOBS),$(DEFAULT_JOBS))
GPU := $(if $(GPU),$(GPU),$(DEFAULT_GPU))
ARCH := $(if $(ARCH),$(ARCH),$(DEFAULT_ARCH))
TF_CUDA_COMPUTE_CAPABILITIES := $(if $(TF_CUDA_COMPUTE_CAPABILITIES),$(TF_CUDA_COMPUTE_CAPABILITIES),$(DEFAULT_TF_CUDA_COMPUTE_CAPABILITIES))

# variables
ifeq ($(GPU), 1)
Expand Down
30 changes: 21 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ docker run --rm \
rwthika/tensorflow-cc:latest \
./build-and-run.sh

# Hello from TensorFlow C++ 2.9.2!
# Hello from TensorFlow C++ 2.9.3!
#
# A =
# 1 2
Expand All @@ -65,16 +65,16 @@ The pre-built `libtensorflow_cc.so` library and accompanying headers are package
#### GPU

```bash
wget https://github.com/ika-rwth-aachen/libtensorflow_cc/releases/download/v2.9.2/libtensorflow-cc_2.9.2-gpu_$(dpkg --print-architecture).deb
sudo dpkg -i libtensorflow-cc_2.9.2-gpu_$(dpkg --print-architecture).deb
wget https://github.com/ika-rwth-aachen/libtensorflow_cc/releases/download/v2.9.3/libtensorflow-cc_2.9.3-gpu_$(dpkg --print-architecture).deb
sudo dpkg -i libtensorflow-cc_2.9.3-gpu_$(dpkg --print-architecture).deb
ldconfig
```

#### CPU

```bash
wget https://github.com/ika-rwth-aachen/libtensorflow_cc/releases/download/v2.9.2/libtensorflow-cc_2.9.2_$(dpkg --print-architecture).deb
sudo dpkg -i libtensorflow-cc_2.9.2_$(dpkg --print-architecture).deb
wget https://github.com/ika-rwth-aachen/libtensorflow_cc/releases/download/v2.9.3/libtensorflow-cc_2.9.3_$(dpkg --print-architecture).deb
sudo dpkg -i libtensorflow-cc_2.9.3_$(dpkg --print-architecture).deb
ldconfig
```

Expand All @@ -101,18 +101,20 @@ The amd64 images are based on the [official TensorFlow Docker images](https://hu

| TensorFlow Version | CPU/GPU | Architecture | Image:Tag |
| :---: | :---: | :---: | --- |
| 2.9.2 | GPU | amd64, arm64 | `rwthika/tensorflow-cc:latest-gpu` |
| 2.9.2 | CPU | amd64, arm64 | `rwthika/tensorflow-cc:latest` |
| 2.9.3 | GPU | amd64, arm64 | `rwthika/tensorflow-cc:latest-gpu` |
| 2.9.3 | CPU | amd64, arm64 | `rwthika/tensorflow-cc:latest` |

<details>
<summary><i>All TensorFlow Versions (GPU)</i></summary>

| TensorFlow Version | Architecture | Image:Tag |
| :---: | :---: | --- |
| latest | amd64, arm64 | `rwthika/tensorflow-cc:latest-gpu` |
| 2.9.3 | amd64, arm64 | `rwthika/tensorflow-cc:2.9.3-gpu` |
| 2.9.2 | amd64, arm64 | `rwthika/tensorflow-cc:2.9.2-gpu` |
| 2.9.1 | amd64 | `rwthika/tensorflow-cc:2.9.1-gpu` |
| 2.9.0 | amd64 | `rwthika/tensorflow-cc:2.9.0-gpu` |
| 2.8.4 | amd64, arm64 | `rwthika/tensorflow-cc:2.8.4-gpu` |
| 2.8.3 | amd64 | `rwthika/tensorflow-cc:2.8.3-gpu` |
| 2.8.2 | amd64 | `rwthika/tensorflow-cc:2.8.2-gpu` |
| 2.8.1 | amd64 | `rwthika/tensorflow-cc:2.8.1-gpu` |
Expand All @@ -131,9 +133,11 @@ The amd64 images are based on the [official TensorFlow Docker images](https://hu
| TensorFlow Version | Architecture | Image:Tag |
| :---: | :---: | --- |
| latest | amd64, arm64 | `rwthika/tensorflow-cc:latest` |
| 2.9.3 | amd64, arm64 | `rwthika/tensorflow-cc:2.9.3` |
| 2.9.2 | amd64, arm64 | `rwthika/tensorflow-cc:2.9.2` |
| 2.9.1 | amd64 | `rwthika/tensorflow-cc:2.9.1` |
| 2.9.0 | amd64 | `rwthika/tensorflow-cc:2.9.0` |
| 2.8.4 | amd64, arm64 | `rwthika/tensorflow-cc:2.8.4` |
| 2.8.3 | amd64 | `rwthika/tensorflow-cc:2.8.3` |
| 2.8.2 | amd64 | `rwthika/tensorflow-cc:2.8.2` |
| 2.8.1 | amd64 | `rwthika/tensorflow-cc:2.8.1` |
Expand Down Expand Up @@ -168,7 +172,7 @@ The amd64 images are based on the [official TensorFlow Docker images](https://hu

If you would like to build the deb-package and Docker images yourself, use the [`Makefile`](Makefile) as instructed below.

All `make` targets support the flags `TF_VERSION` (defaults to `2.9.2`), `GPU` (defaults to `1`), and `ARCH` (defaults to host architecture) in order to build a specific TensorFlow version in CPU/GPU mode for a specific architecture.
All `make` targets support the flags `TF_VERSION` (defaults to `2.9.3`), `GPU` (defaults to `1`), and `ARCH` (defaults to host architecture) in order to build a specific TensorFlow version in CPU/GPU mode for a specific architecture.

All `make` targets listed below also have a counterpart named `<target>-all`, which can be used to build multiple TensorFlow versions one after the other using the `TF_VERSIONS` flag like so:

Expand Down Expand Up @@ -232,10 +236,14 @@ make 5-print-versions

| Version | Architecture | Step 1 (CPU) | Step 2 (CPU) | Step 4 (CPU) | Step 1 (GPU) | Step 2 (GPU) | Step 4 (GPU) | Notes |
| :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | --- |
| 2.9.3 | amd64 | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
| 2.9.3 | arm64 | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
| 2.9.2 | amd64 | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
| 2.9.2 | arm64 | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
| 2.9.1 | amd64 | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
| 2.9.0 | amd64 | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
| 2.8.4 | amd64 | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
| 2.8.4 | arm64 | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
| 2.8.3 | amd64 | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
| 2.8.2 | amd64 | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
| 2.8.1 | amd64 | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
Expand Down Expand Up @@ -290,10 +298,14 @@ make 5-print-versions

| TensorFlow | Architecture | Ubuntu | GCC | Bazel | Python | protobuf | CUDA | cuDNN | TensorRT | GPU Compute Capability |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 2.9.2 | amd64 | 20.04 | 9.4.0 | 5.3.1 | 3.8.10 | 3.9.2 | 11.2.152 | 8.1.0 | 7.2.2 | 8.7, 8.6, 8.0, 7.5, 7.2, 7.0, 6.1, 6.0, 5.3 |
| 2.9.3 | amd64 | 20.04 | 9.4.0 | 6.0.0 | 3.8.10 | 3.9.2 | 11.2.152 | 8.1.0 | 7.2.2 | 8.6, 8.0, 7.5, 7.2, 7.0, 6.1, 6.0, 5.3 |
| 2.9.3 | arm64 | 20.04 | 9.4.0 | 6.0.0 | 3.8.10 | 3.9.2 | 11.4.239 | 8.4.1 | 8.4.1 | 8.7, 8.6, 8.0, 7.5, 7.2, 7.0, 6.1, 6.0, 5.3 |
| 2.9.2 | amd64 | 20.04 | 9.4.0 | 5.3.1 | 3.8.10 | 3.9.2 | 11.2.152 | 8.1.0 | 7.2.2 | 8.6, 8.0, 7.5, 7.2, 7.0, 6.1, 6.0, 5.3 |
| 2.9.2 | arm64 | 20.04 | 9.4.0 | 5.3.2 | 3.8.10 | 3.9.2 | 11.4.239 | 8.4.1 | 8.4.1 | 8.7, 8.6, 8.0, 7.5, 7.2, 7.0, 6.1, 6.0, 5.3 |
| 2.9.1 | amd64 | 20.04 | 9.4.0 | 5.3.0 | 3.8.10 | 3.9.2 | 11.2.152 | 8.1.0 | 7.2.2 | 8.6, 8.0, 7.5, 7.2, 7.0, 6.1, 6.0, 5.3 |
| 2.9.0 | amd64 | 20.04 | 9.4.0 | 5.3.0 | 3.8.10 | 3.9.2 | 11.2.152 | 8.1.0 | 7.2.2 | 8.6, 8.0, 7.5, 7.2, 7.0, 6.1, 6.0, 5.3 |
| 2.8.4 | amd64 | 20.04 | 9.4.0 | 4.2.1 | 3.8.10 | 3.9.2 | 11.2.152 | 8.1.0 | 7.2.2 | 8.6, 8.0, 7.5, 7.2, 7.0, 6.1, 6.0, 5.3 |
| 2.8.4 | amd64 | 20.04 | 9.4.0 | 4.2.1 | 3.8.10 | 3.9.2 | 11.4.166 | 8.3.2 | 8.4.0 | 8.7, 8.6, 8.0, 7.5, 7.2, 7.0, 6.1, 6.0, 5.3 |
| 2.8.3 | amd64 | 20.04 | 9.4.0 | 4.2.1 | 3.8.10 | 3.9.2 | 11.2.152 | 8.1.0 | 7.2.2 | 8.6, 8.0, 7.5, 7.2, 7.0, 6.1, 6.0, 5.3 |
| 2.8.2 | amd64 | 20.04 | 9.4.0 | 4.2.1 | 3.8.10 | 3.9.2 | 11.2.152 | 8.1.0 | 7.2.2 | 8.6, 8.0, 7.5, 7.2, 7.0, 6.1, 6.0, 5.3 |
| 2.8.1 | amd64 | 20.04 | 9.4.0 | 4.2.1 | 3.8.10 | 3.9.2 | 11.2.152 | 8.1.0 | 7.2.2 | 8.6, 8.0, 7.5, 7.2, 7.0, 6.1, 6.0, 5.3 |
Expand Down
14 changes: 12 additions & 2 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -21,23 +21,32 @@
# --- build stage for building libtensorflow_cc --------------------------------
ARG TF_VERSION=master
ARG GPU_POSTFIX=-gpu
ARG TF_CUDA_COMPUTE_CAPABILITIES=5.3,6.0,6.1,7.0,7.2,7.5,8.0,8.6
ARG TARGETARCH
FROM tensorflow/tensorflow:${TF_VERSION}-devel${GPU_POSTFIX}-${TARGETARCH} as build

ARG TARGETARCH
ARG TF_VERSION
ARG GPU_POSTFIX
ARG TF_CUDA_COMPUTE_CAPABILITIES
ARG JOBS="auto"

# clone TensorFlow
RUN git clone --branch v${TF_VERSION} --depth=1 https://github.com/tensorflow/tensorflow.git /tensorflow
WORKDIR /tensorflow

# fix build issue in v2.10.0
# https://github.com/tensorflow/tensorflow/issues/57826
RUN if [ "${TF_VERSION}" = "2.10.0" ] || [ "${TF_VERSION}" = "2.10.1" ]; then \
git fetch --depth=1 origin b1bd1d6beeac169ce669f81dcbf3c48899ca1ed0 && \
git checkout FETCH_HEAD -- tensorflow/BUILD; \
fi

# configure compilation
ENV PYTHON_BIN_PATH=/usr/bin/python3
ENV PYTHON_LIB_PATH=/usr/lib/python3/dist-packages
ENV TF_NEED_ROCM=0
ENV TF_CUDA_COMPUTE_CAPABILITIES=5.3,6.0,6.1,7.0,7.2,7.5,8.0,8.6,8.7
ENV TF_CUDA_COMPUTE_CAPABILITIES=${TF_CUDA_COMPUTE_CAPABILITIES}
ENV TF_CUDA_CLANG=0
ENV GCC_HOST_COMPILER_PATH=/usr/bin/gcc
ENV CC_OPT_FLAGS="-march=native -Wno-sign-compare"
Expand All @@ -53,7 +62,8 @@ RUN if [ "${GPU_POSTFIX}" = "-gpu" ]; then \

# move libtensorflow_cc to separate folder for easier Dockerfile COPY
RUN mkdir bazel-bin/tensorflow/lib && \
mv bazel-bin/tensorflow/libtensorflow_cc.so* bazel-bin/tensorflow/lib/
mv bazel-bin/tensorflow/libtensorflow_cc.so* bazel-bin/tensorflow/lib/ && \
rm bazel-bin/tensorflow/lib/*params

# build protobuf from source, same version as TensorFlow is using
WORKDIR /
Expand Down
9 changes: 8 additions & 1 deletion scripts/.common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
set -e
set -o pipefail

DEFAULT_TF_VERSION="2.9.2"
DEFAULT_TF_VERSION="2.9.3"
DEFAULT_JOBS=$(nproc)
DEFAULT_GPU=1
DEFAULT_ARCH=$(dpkg --print-architecture)
Expand All @@ -32,6 +32,13 @@ GPU=${GPU:-${DEFAULT_GPU}}
[[ $GPU == "1" ]] && GPU_POSTFIX="-gpu" || GPU_POSTFIX=""
ARCH=${ARCH:-${DEFAULT_ARCH}}

if [ "$ARCH" = "arm64" ]; then
DEFAULT_TF_CUDA_COMPUTE_CAPABILITIES=5.3,6.0,6.1,7.0,7.2,7.5,8.0,8.6,8.7
else
DEFAULT_TF_CUDA_COMPUTE_CAPABILITIES=5.3,6.0,6.1,7.0,7.2,7.5,8.0,8.6
fi
TF_CUDA_COMPUTE_CAPABILITIES=${TF_CUDA_COMPUTE_CAPABILITIES:-${DEFAULT_TF_CUDA_COMPUTE_CAPABILITIES}}

SCRIPT_NAME=$(basename "$0")
SCRIPT_DIR=$(realpath $(dirname "$0"))
REPOSITORY_DIR=$(realpath ${SCRIPT_DIR}/..)
Expand Down
21 changes: 21 additions & 0 deletions scripts/.versions.devel.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,30 @@ if [[ $(command -v bazel) ]]; then
BAZEL_VERSION=$(bazel version 2> /dev/null | grep "Build label" | awk '{print $3}')
fi

if [[ $(command -v nvcc) ]]; then
CUDA_VERSION=$(nvcc --version | grep ^Cuda | awk '{print $6}' | sed 's/V//')
fi

if [[ -f /usr/include/cudnn_version.h ]]; then
CUDNN_MAJOR=$(cat /usr/include/cudnn_version.h | grep "#define CUDNN_MAJOR" | sed "s/#define CUDNN_MAJOR //")
CUDNN_MINOR=$(cat /usr/include/cudnn_version.h | grep "#define CUDNN_MINOR" | sed "s/#define CUDNN_MINOR //")
CUDNN_PATCH=$(cat /usr/include/cudnn_version.h | grep "#define CUDNN_PATCHLEVEL" | sed "s/#define CUDNN_PATCHLEVEL //")
CUDNN_VERSION=$CUDNN_MAJOR.$CUDNN_MINOR.$CUDNN_PATCH
fi

if [[ -f /usr/include/$(uname -m)-linux-gnu/NvInferVersion.h ]]; then
TENSORRT_MAJOR=$(cat /usr/include/$(uname -m)-linux-gnu/NvInferVersion.h | grep "#define NV_TENSORRT_MAJOR" | sed "s/#define NV_TENSORRT_MAJOR //" | sed "s#//.*##" | sed "s/ //")
TENSORRT_MINOR=$(cat /usr/include/$(uname -m)-linux-gnu/NvInferVersion.h | grep "#define NV_TENSORRT_MINOR" | sed "s/#define NV_TENSORRT_MINOR //" | sed "s#//.*##" | sed "s/ //")
TENSORRT_PATCH=$(cat /usr/include/$(uname -m)-linux-gnu/NvInferVersion.h | grep "#define NV_TENSORRT_PATCH" | sed "s/#define NV_TENSORRT_PATCH //" | sed "s#//.*##" | sed "s/ //")
TENSORRT_VERSION=$TENSORRT_MAJOR.$TENSORRT_MINOR.$TENSORRT_PATCH
fi

cat << EOF
Architecture: $ARCH
Ubuntu: $UBUNTU_VERSION
GCC: $GCC_VERSION
Bazel: $BAZEL_VERSION
CUDA: $CUDA_VERSION
cuDNN: $CUDNN_VERSION
TensorRT: $TENSORRT_VERSION
EOF
21 changes: 0 additions & 21 deletions scripts/.versions.run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,30 +36,9 @@ if [[ $(command -v protoc) ]]; then
PROTOBUF_VERSION=$(protoc --version | awk '{print $2}')
fi

if [[ $(command -v nvcc) ]]; then
CUDA_VERSION=$(nvcc --version | grep ^Cuda | awk '{print $6}' | sed 's/V//')
fi

if [[ -f /usr/include/cudnn_version.h ]]; then
CUDNN_MAJOR=$(cat /usr/include/cudnn_version.h | grep "#define CUDNN_MAJOR" | sed "s/#define CUDNN_MAJOR //")
CUDNN_MINOR=$(cat /usr/include/cudnn_version.h | grep "#define CUDNN_MINOR" | sed "s/#define CUDNN_MINOR //")
CUDNN_PATCH=$(cat /usr/include/cudnn_version.h | grep "#define CUDNN_PATCHLEVEL" | sed "s/#define CUDNN_PATCHLEVEL //")
CUDNN_VERSION=$CUDNN_MAJOR.$CUDNN_MINOR.$CUDNN_PATCH
fi

if [[ -f /usr/include/$(uname -m)-linux-gnu/NvInferVersion.h ]]; then
TENSORRT_MAJOR=$(cat /usr/include/$(uname -m)-linux-gnu/NvInferVersion.h | grep "#define NV_TENSORRT_MAJOR" | sed "s/#define NV_TENSORRT_MAJOR //" | sed "s#//.*##" | sed "s/ //")
TENSORRT_MINOR=$(cat /usr/include/$(uname -m)-linux-gnu/NvInferVersion.h | grep "#define NV_TENSORRT_MINOR" | sed "s/#define NV_TENSORRT_MINOR //" | sed "s#//.*##" | sed "s/ //")
TENSORRT_PATCH=$(cat /usr/include/$(uname -m)-linux-gnu/NvInferVersion.h | grep "#define NV_TENSORRT_PATCH" | sed "s/#define NV_TENSORRT_PATCH //" | sed "s#//.*##" | sed "s/ //")
TENSORRT_VERSION=$TENSORRT_MAJOR.$TENSORRT_MINOR.$TENSORRT_PATCH
fi

cat << EOF
Python: $PYTHON_VERSION
TensorFlow (Python): $TENSORFLOW_PYTHON_VERSION
TensorFlow (C++): $TENSORFLOW_CPP_VERSION
protobuf: $PROTOBUF_VERSION
CUDA: $CUDA_VERSION
cuDNN: $CUDNN_VERSION
TensorRT: $TENSORRT_VERSION
EOF
6 changes: 5 additions & 1 deletion scripts/1-build-official-devel-image.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,11 @@ if [ "$ARCH" = "amd64" ]; then
DOCKERFILE=${DOWNLOAD_DOCKERFILE_DIR}/dockerfiles/devel${CPU_GPU_POSTFIX}.Dockerfile
elif [ "$ARCH" = "arm64" ]; then
DOCKERFILE=${DOWNLOAD_DOCKERFILE_DIR}/dockerfiles/arm64v8/devel-cpu-arm64v8.Dockerfile
sed -i "s/ubuntu:\${UBUNTU_VERSION}/nvcr.io\/nvidia\/l4t-tensorflow:r35.1.0-tf2.9-py3/" $DOCKERFILE
if [ "$TF_VERSION" = "2.8.4" ]; then
sed -i "s/ubuntu:\${UBUNTU_VERSION}/nvcr.io\/nvidia\/l4t-tensorflow:r34.1.1-tf2.8-py3/" $DOCKERFILE
else
sed -i "s/ubuntu:\${UBUNTU_VERSION}/nvcr.io\/nvidia\/l4t-tensorflow:r35.1.0-tf2.9-py3/" $DOCKERFILE
fi
fi
BUILD_DIR=${DOWNLOAD_DOCKERFILE_DIR}

Expand Down
2 changes: 1 addition & 1 deletion scripts/2-build-cpp-image.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,5 @@
source $(dirname "$0")/.common.sh

echo "Building ${IMAGE_CPP} ... "
docker build --build-arg TARGETARCH=$ARCH --build-arg TF_VERSION=${TF_VERSION} --build-arg JOBS=${JOBS} --build-arg GPU_POSTFIX=${GPU_POSTFIX} -t ${IMAGE_CPP_ARCH} ${DOCKER_DIR} | tee ${LOG_FILE}
docker build --build-arg TARGETARCH=$ARCH --build-arg TF_VERSION=${TF_VERSION} --build-arg JOBS=${JOBS} --build-arg GPU_POSTFIX=${GPU_POSTFIX} --build-arg TF_CUDA_COMPUTE_CAPABILITIES=${TF_CUDA_COMPUTE_CAPABILITIES} -t ${IMAGE_CPP_ARCH} ${DOCKER_DIR} | tee ${LOG_FILE}
docker tag ${IMAGE_CPP_ARCH} ${IMAGE_CPP}
2 changes: 1 addition & 1 deletion scripts/3-export-libtensorflow-cc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ EXPORT_FILE="libtensorflow-cc_${TF_VERSION}${GPU_POSTFIX}_${ARCH}.deb"
STAGE="deb-package"

echo "Building ${IMAGE_LIBTENSORFLOW_CC_ARCH} ... "
docker build --build-arg TARGETARCH=$ARCH --build-arg TF_VERSION=${TF_VERSION} --build-arg JOBS=${JOBS} --build-arg GPU_POSTFIX=${GPU_POSTFIX} --target ${STAGE} -t ${IMAGE_LIBTENSORFLOW_CC_ARCH} ${DOCKER_DIR} | tee ${LOG_FILE}
docker build --build-arg TARGETARCH=$ARCH --build-arg TF_VERSION=${TF_VERSION} --build-arg JOBS=${JOBS} --build-arg GPU_POSTFIX=${GPU_POSTFIX} --build-arg TF_CUDA_COMPUTE_CAPABILITIES=${TF_CUDA_COMPUTE_CAPABILITIES} --target ${STAGE} -t ${IMAGE_LIBTENSORFLOW_CC_ARCH} ${DOCKER_DIR} | tee ${LOG_FILE}

echo "Exporting to $(realpath ${EXPORT_DIR})/${EXPORT_FILE} ... "
TMP_CONTAINER=$(docker create ${IMAGE_LIBTENSORFLOW_CC_ARCH})
Expand Down
2 changes: 1 addition & 1 deletion scripts/4-test-libtensorflow-cc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ CMD="./build-and-run.sh"

echo "Testing libtensorflow_cc in ${IMAGE_CPP} ... "
if [[ "$GPU" == "1" && "$ARCH" = "amd64" ]]; then
GPU_ARG = "--gpus all"
GPU_ARG="--gpus all"
elif [[ "$GPU" == "1" && "$ARCH" = "arm64" ]]; then
GPU_ARG="--runtime nvidia"
else
Expand Down
2 changes: 1 addition & 1 deletion scripts/5-print-versions.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ CMD="bash ${SCRIPT_MOUNT}"

echo "Getting version information from ${IMAGE_DEVEL_ARCH} and ${IMAGE_CPP} ... "
if [[ "$GPU" == "1" && "$ARCH" = "amd64" ]]; then
GPU_ARG = "--gpus all"
GPU_ARG="--gpus all"
elif [[ "$GPU" == "1" && "$ARCH" = "arm64" ]]; then
GPU_ARG="--runtime nvidia"
else
Expand Down
2 changes: 1 addition & 1 deletion scripts/6-push-image.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,4 @@
source $(dirname "$0")/.common.sh

docker login
docker push ${IMAGE_CPP}
docker push ${IMAGE_CPP_ARCH}

0 comments on commit 9d3ea67

Please sign in to comment.