From c7b6de86431e26766b60a69bcfcde985af61a028 Mon Sep 17 00:00:00 2001 From: James Conroy Date: Thu, 21 Apr 2022 16:41:55 +0100 Subject: Remove armnn-android Dockerfile * This Dockerfile currently does not work and is very out of date. We will be providing an equivalent (productized) Docker solution in a future release. Signed-off-by: James Conroy Change-Id: I3b915e39cce822c81886d717d4743beb7844c448 --- docker/README.md | 5 - docker/armnn-android/Dockerfile | 164 ------------------------------ docker/armnn-android/docker-entrypoint.sh | 119 ---------------------- 3 files changed, 288 deletions(-) delete mode 100644 docker/armnn-android/Dockerfile delete mode 100644 docker/armnn-android/docker-entrypoint.sh (limited to 'docker') diff --git a/docker/README.md b/docker/README.md index 4cd5e1a547..cd4ed3d913 100644 --- a/docker/README.md +++ b/docker/README.md @@ -1,10 +1,5 @@ # ARMNN Docker Files - -## [Android NDK to build ArmNN](https://github.com/ARM-software/armnn/blob/branches/armnn_20_02/BuildGuideAndroidNDK.md):
- -armnn-android folder has the docker file to build a Android NDK container to build ARMNN. - ## [ArmNN on x86_64 for arm64 and arm32](https://github.com/ARM-software/armnn/blob/branches/armnn_20_02/BuildGuideCrossCompilation.md) x86_64 folder has the docker file to build ArmNN under an x86_64 system to target an Arm64 and Arm32 systems. diff --git a/docker/armnn-android/Dockerfile b/docker/armnn-android/Dockerfile deleted file mode 100644 index a2f753ffed..0000000000 --- a/docker/armnn-android/Dockerfile +++ /dev/null @@ -1,164 +0,0 @@ -FROM ubuntu:18.04 -ENV TERM linux -ENV DEBIAN_FRONTEND noninteractive - -# Forward system proxy setting -# ARG proxy -# ENV http_proxy $proxy -# ENV https_proxy $proxy - -# Basic apt update -RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends locales ca-certificates && rm -rf /var/lib/apt/lists/* - -# Set the locale to en_US.UTF-8, because the Yocto build fails without any locale set. -RUN locale-gen en_US.UTF-8 && update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 -ENV LANG en_US.UTF-8 -ENV LC_ALL en_US.UTF-8 - -# Again, off the certificare -RUN echo "check_certificate = off" >> ~/.wgetrc -RUN echo "[global] \n\ -trusted-host = pypi.python.org \n \ -\t pypi.org \n \ -\t files.pythonhosted.org" >> /etc/pip.conf - -# Get basic packages -RUN apt-get update && apt-get install -y \ - apparmor \ - aufs-tools \ - automake \ - bash-completion \ - btrfs-tools \ - build-essential \ - cmake \ - createrepo \ - curl \ - dpkg-sig \ - g++ \ - gcc \ - git \ - iptables \ - jq \ - libapparmor-dev \ - libc6-dev \ - libcap-dev \ - libsystemd-dev \ - libyaml-dev \ - mercurial \ - net-tools \ - parallel \ - pkg-config \ - python-dev \ - python-mock \ - python-pip \ - python-setuptools \ - python-websocket \ - golang-go \ - iproute2 \ - iputils-ping \ - vim-common \ - vim \ - wget \ - libtool \ - unzip \ - scons \ - curl \ - autoconf \ - libtool \ - build-essential \ - g++ \ - cmake && rm -rf /var/lib/apt/lists/* - -# Download the Android NDK and make a standalone toolchain -RUN mkdir -p /home/armnn-devenv/toolchains && \ - cd /home/armnn-devenv/toolchains && \ - wget https://dl.google.com/android/repository/android-ndk-r17b-linux-x86_64.zip && \ - unzip android-ndk-r17b-linux-x86_64.zip - -ENV NDK /home/armnn-devenv/toolchains/android-ndk-r17b - -RUN $NDK/build/tools/make_standalone_toolchain.py \ - --arch arm64 \ - --api 26 \ - --stl=libc++ \ - --install-dir=/home/armnn-devenv/toolchains/aarch64-android-r17b - -ENV PATH=/home/armnn-devenv/toolchains/aarch64-android-r17b/bin:$PATH - -# Build the Boost C++ libraries -RUN mkdir /home/armnn-devenv/boost && \ - cd /home/armnn-devenv/boost && \ - wget https://dl.bintray.com/boostorg/release/1.64.0/source/boost_1_64_0.tar.bz2 && \ - tar xvf boost_1_64_0.tar.bz2 - -RUN echo "using gcc : arm : aarch64-linux-android-clang++ ;" > /home/armnn-devenv/boost/user-config.jam && \ - cd /home/armnn-devenv/boost/boost_1_64_0 && \ - ./bootstrap.sh --prefix=/home/armnn-devenv/boost/install && \ - ./b2 install --user-config=/home/armnn-devenv/boost/user-config.jam \ - toolset=gcc-arm link=static cxxflags=-fPIC --with-filesystem \ - --with-test --with-log --with-program_options -j8 - -# Build the Compute Library -RUN cd /home/armnn-devenv && \ - git clone https://github.com/ARM-software/ComputeLibrary.git && \ - cd ComputeLibrary && \ - scons arch=arm64-v8a neon=1 opencl=1 embed_kernels=1 extra_cxx_flags="-fPIC" \ - benchmark_tests=0 validation_tests=0 os=android -j8 - -# RUN mkdir /home/armnn-devenv/google && \ -RUN mkdir -p /home/armnn-devenv/google && \ - cd /home/armnn-devenv/google && \ - git clone https://github.com/google/protobuf.git && \ - cd protobuf && \ - git checkout -b v3.5.2 v3.5.2 && \ - ./autogen.sh && \ - mkdir x86_build && \ - cd x86_build && \ - ../configure --prefix=/home/armnn-devenv/google/x86_pb_install && \ - make install -j8 - -RUN cd /home/armnn-devenv/google/protobuf && \ - mkdir arm64_build && cd arm64_build && \ - CC=aarch64-linux-android-clang \ - CXX=aarch64-linux-android-clang++ \ - CFLAGS="-fPIE -fPIC" LDFLAGS="-pie -llog" \ - ../configure --host=aarch64-linux-android \ - --prefix=/home/armnn-devenv/google/arm64_pb_install \ - --with-protoc=/home/armnn-devenv/google/x86_pb_install/bin/protoc && \ - make install -j8 - -# clone Tensorflow -RUN cd /home/armnn-devenv/google/ && \ - git clone https://github.com/tensorflow/tensorflow.git - -# Clone ARMNN -RUN cd /home/armnn-devenv/ && \ - git clone https://github.com/ARM-software/armnn.git - -# Generate TensorFlow protobuf definitions -RUN cd /home/armnn-devenv/google/tensorflow && \ - git checkout a0043f9262dc1b0e7dc4bdf3a7f0ef0bebc4891e && \ - /home/armnn-devenv/armnn/scripts/generate_tensorflow_protobuf.sh \ - /home/armnn-devenv/google/tf_pb /home/armnn-devenv/google/x86_pb_install - -ENV PATH=/home/armnn-devenv/toolchains/android-ndk-r17b:$PATH -# Build Google Flatbuffers for ARMNN TFLite Parser -RUN cd /home/armnn-devenv/ && \ - git clone https://github.com/google/flatbuffers.git && \ - cd flatbuffers && \ - cd android && cd jni && \ - rm -rf Application.mk && \ - echo "APP_STL := c++_static" >> Application.mk && \ - echo "NDK_TOOLCHAIN_VERSION" := clang >> Application.mk && \ - echo "APP_CPPFLAGS :=-std=c++11" >> Application.mk && \ - echo "APP_ABI := arm64-v8a" >> Application.mk && \ - echo "APP_PLATFORM := android-23" >> Application.mk && \ - echo "NDK_PLATFORM=android-23" >> Application.mk && \ - cd ../ && ndk-build -B - -COPY ./docker-entrypoint.sh /usr/bin -RUN chmod +x /usr/bin/docker-entrypoint.sh -ENTRYPOINT ["/usr/bin/docker-entrypoint.sh"] - -#To do: -# 1. Flatbuffers build Application.mk hardcode value need to fix. \ No newline at end of file diff --git a/docker/armnn-android/docker-entrypoint.sh b/docker/armnn-android/docker-entrypoint.sh deleted file mode 100644 index b0bf1dcaa2..0000000000 --- a/docker/armnn-android/docker-entrypoint.sh +++ /dev/null @@ -1,119 +0,0 @@ -#!/bin/bash - -set -e - -dArmNN=/work -dComputeLib=/home/armnn-devenv/ComputeLibrary -dTensorflow=/home/armnn-devenv/google/tensorflow -dFlatBuffer=/home/armnn-devenv/flatbuffers - -#Function to build ARMNN -function buildArmNN() -{ - mkdir -p ${dArmNN}/armnn-devenv && cd ${dArmNN}/armnn-devenv - git clone https://github.com/ARM-software/armnn.git && cd armnn/ - mkdir build && cd build - CXX=aarch64-linux-android-clang++ \ - CC=aarch64-linux-android-clang \ - CXX_FLAGS="-fPIE -fPIC" \ - cmake .. \ - -DCMAKE_SYSTEM_NAME=Android \ - -DCMAKE_ANDROID_ARCH_ABI=arm64-v8a \ - -DCMAKE_ANDROID_STANDALONE_TOOLCHAIN=/home/armnn-devenv/toolchains/aarch64-android-r17b/ \ - -DCMAKE_EXE_LINKER_FLAGS="-pie -llog" \ - -DARMCOMPUTE_ROOT=/home/armnn-devenv/ComputeLibrary/ \ - -DARMCOMPUTE_BUILD_DIR=/home/armnn-devenv/ComputeLibrary/build \ - -DBOOST_ROOT=/home/armnn-devenv/boost/install/ \ - -DARMCOMPUTENEON=1 -DARMCOMPUTECL=1 -DARMNNREF=1 \ - -DTF_GENERATED_SOURCES=/home/armnn-devenv/google/tf_pb/ -DBUILD_TF_PARSER=1 \ - -DPROTOBUF_ROOT=/home/armnn-devenv/google/arm64_pb_install/ - make -j8 -} - -# Function to update Compute Lib -function updateComputeLib() -{ - pushd ${dComputeLib} - git pull - scons arch=arm64-v8a neon=1 opencl=1 embed_kernels=1 extra_cxx_flags="-fPIC" \ - benchmark_tests=0 validation_tests=0 os=android -j8 - echo "Compute Lib updated" - popd -} - -# Function to update FlatBuffer Lib -function updateFlatBuffer() -{ - pushd ${dFlatBuffer} - git pull - cd android && cd jni && \ - rm -rf Application.mk && \ - echo "APP_STL := c++_static" >> Application.mk && \ - echo "NDK_TOOLCHAIN_VERSION" := clang >> Application.mk && \ - echo "APP_CPPFLAGS :=-std=c++11" >> Application.mk && \ - echo "APP_ABI := arm64-v8a" >> Application.mk && \ - echo "APP_PLATFORM := android-23" >> Application.mk && \ - echo "NDK_PLATFORM=android-23" >> Application.mk && \ - cd ../ && ndk-build -B - echo "Compute Lib updated" - popd -} - -# Main -if [ ! -d "/work/armnn-devenv/armnn/" ]; -then - buildArmNN -fi - -# Check Compute Library changes from repo -cd ${dComputeLib} -# shellcheck disable=SC1083 -if [ "$(git rev-parse HEAD)" = "$(git ls-remote "$(git rev-parse --abbrev-ref @{u} | -sed 's/\// /g')" | cut -f1)" ] -then - echo "Compute Lib Up-to-date" -else - echo "New changes are availble for Compute Library repo." - echo "Do you wanna update (y/n)?" - read -r answer - if [ "$answer" != "${answer#[Yy]}" ] ;then - updateComputeLib - fi -fi - -# Check Tensorflow changes from repo -cd ${dTensorflow} -# shellcheck disable=SC1083 -if [ "$(git rev-parse HEAD)" = "$(git ls-remote "$(git rev-parse --abbrev-ref @{u} | -sed 's/\// /g')" | cut -f1)" ] -then - echo "Tensrflow Lib Up-to-date" -else - echo "Tensrflow Lib Not Up-to-date" - echo "Skipping for now. Issue: #267" - #echo "New changes are availble for Compute Library repo." - #echo "Do you wanna update (y/n)?" - #read answer - #if [ "$answer" != "${answer#[Yy]}" ] ;then - # - #fi -fi - -# Check FlatBuffer changes from repo -cd ${dFlatBuffer} -# shellcheck disable=SC1083 -if [ "$(git rev-parse HEAD)" = "$(git ls-remote "$(git rev-parse --abbrev-ref @{u} | -sed 's/\// /g')" | cut -f1)" ] -then - echo "FlatBuffer Up-to-date" -else - echo "FlatBuffer Not Up-to-date" - echo "New changes are availble for Compute Library repo." - echo "Do you wanna update (y/n)?" - read -r answer - if [ "$answer" != "${answer#[Yy]}" ] ;then - updateFlatBuffer - fi -fi - -exec "$@" \ No newline at end of file -- cgit v1.2.1