Skip to content

Commit

Permalink
[CI][ACL] Enable ACL installation in ci_cpu docker container (#5916)
Browse files Browse the repository at this point in the history
This patch adds a cross-compiled ACL build to the ci_cpu dockerfile used for CI.

Change-Id: I66e1521ab553306bc7367b65acc0363e750f0211
  • Loading branch information
lhutton1 authored Jul 10, 2020
1 parent 8a0249c commit e329069
Show file tree
Hide file tree
Showing 2 changed files with 75 additions and 0 deletions.
4 changes: 4 additions & 0 deletions docker/Dockerfile.ci_cpu
Original file line number Diff line number Diff line change
Expand Up @@ -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
71 changes: 71 additions & 0 deletions docker/install/ubuntu_install_arm_compute_lib.sh
Original file line number Diff line number Diff line change
@@ -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"

0 comments on commit e329069

Please sign in to comment.