From 760981ecfe83a3fa21cc656a2bdcfe984672401e Mon Sep 17 00:00:00 2001 From: Luke Hutton Date: Wed, 24 Jun 2020 11:40:12 +0100 Subject: [PATCH] [CI][ACL] Enable ACL installation in ci_cpu docker container This patch adds a cross-compiled ACL build to the ci_cpu dockerfile used for CI. Change-Id: I66e1521ab553306bc7367b65acc0363e750f0211 --- docker/Dockerfile.ci_cpu | 4 ++ .../install/ubuntu_install_arm_compute_lib.sh | 71 +++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 docker/install/ubuntu_install_arm_compute_lib.sh diff --git a/docker/Dockerfile.ci_cpu b/docker/Dockerfile.ci_cpu index aa77b0636768..42067b2cf38b 100644 --- a/docker/Dockerfile.ci_cpu +++ b/docker/Dockerfile.ci_cpu @@ -74,3 +74,7 @@ RUN bash /install/ubuntu_install_tflite.sh # TensorFlow deps COPY install/ubuntu_install_tensorflow.sh /install/ubuntu_install_tensorflow.sh RUN bash /install/ubuntu_install_tensorflow.sh + +# Arm(R) Compute Library +COPY install/ubuntu_install_arm_compute_lib.sh /install/ubuntu_install_arm_compute_lib.sh +RUN bash /install/ubuntu_install_arm_compute_lib.sh diff --git a/docker/install/ubuntu_install_arm_compute_lib.sh b/docker/install/ubuntu_install_arm_compute_lib.sh new file mode 100644 index 000000000000..73e92790fe24 --- /dev/null +++ b/docker/install/ubuntu_install_arm_compute_lib.sh @@ -0,0 +1,71 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +set -e +set -u +set -o pipefail + +repo_url="https://github.com/ARM-software/ComputeLibrary.git" +repo_dir="acl" +install_path="/opt/$repo_dir" +architecture_type=$(uname -i) +target_arch="arm64-v8a" # arm64-v8a/armv7a +build_type="native" + +tmpdir=$(mktemp -d) + +cleanup() +{ + rm -rf "$tmpdir" +} + +trap cleanup 0 + +apt-get update && \ +apt-get install -y --no-install-recommends \ + git \ + scons \ + bsdmainutils \ + build-essential \ + g++-aarch64-linux-gnu \ + gcc-aarch64-linux-gnu + +cd "$tmpdir" + +git clone "$repo_url" "$repo_dir" + +cd "$repo_dir" + +# pin version to v20.05 +git checkout 6a7771e + +if [ "$architecture_type" != "aarch64" ]; then + build_type="cross_compile" +fi + +scons \ + install_dir="$install_path" \ + Werror=1 \ + -j8 \ + debug=0 \ + asserts=0 \ + neon=1 \ + opencl=0 \ + os=linux \ + arch="$target_arch" \ + build="$build_type"