This is an automated email from the ASF dual-hosted git repository. manuseth pushed a commit to branch acl-build in repository https://gitbox.apache.org/repos/asf/mxnet.git
commit 4adef653efd1fa6d4de85ef3d3dcce76a95d8b1a Author: Ubuntu <[email protected]> AuthorDate: Thu Jun 22 23:33:42 2023 +0000 add acl support --- ci/docker/Dockerfile.build.centos7_aarch64_cpu | 17 +++++----- ci/docker/install/{requirements => centos7_acl.sh} | 37 ++++++++++------------ ci/docker/install/requirements | 1 + config/distribution/linux_aarch64_cpu.cmake | 10 +++--- 4 files changed, 32 insertions(+), 33 deletions(-) diff --git a/ci/docker/Dockerfile.build.centos7_aarch64_cpu b/ci/docker/Dockerfile.build.centos7_aarch64_cpu index c4e98dc2ad..859fb6b52f 100644 --- a/ci/docker/Dockerfile.build.centos7_aarch64_cpu +++ b/ci/docker/Dockerfile.build.centos7_aarch64_cpu @@ -45,6 +45,12 @@ RUN yum -y check-update || true && \ devtoolset-10-gcc-c++ \ devtoolset-10-gcc-gfortran \ # Libraries + # protobuf-compiler \ + # protobuf-devel \ + # atlas-devel \ + # lapack-devel \ + # opencv-devel \ + # zeromq-devel \ hdf5-devel && \ yum clean all @@ -58,20 +64,15 @@ RUN localedef -i en_DK -f UTF-8 en_DK.UTF-8 COPY install/centos7_cmake.sh /work/ RUN /work/centos7_cmake.sh -# Arm Performance Libraries 21.0 -RUN cd /usr/local/src && \ - wget https://armkeil.blob.core.windows.net/developer/Files/downloads/hpc/arm-performance-libraries/21-0-0/RHEL7/arm-performance-libraries_21.0_RHEL-7_gcc-8.2.tar && \ - tar -xvf arm-performance-libraries_21.0_RHEL-7_gcc-8.2.tar && \ - arm-performance-libraries_21.0_RHEL-7_gcc-8.2/arm-performance-libraries_21.0_RHEL-7.sh -a && \ - rm -rf arm-performance-libraries_21.0_RHEL-7_gcc-8.2.tar arm-performance-libraries_21.0_RHEL-7_gcc-8.2 -ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/arm/armpl_21.0_gcc-8.2/lib - # Install Python and dependency packages COPY install/centos7_python.sh /work/ RUN /work/centos7_python.sh COPY install/requirements /work/ RUN pip3 install -r /work/requirements +COPY install/centos7_acl.sh /work/ +RUN /work/centos7_acl.sh + ARG USER_ID=0 COPY install/centos7_adduser.sh /work/ RUN /work/centos7_adduser.sh diff --git a/ci/docker/install/requirements b/ci/docker/install/centos7_acl.sh old mode 100644 new mode 100755 similarity index 55% copy from ci/docker/install/requirements copy to ci/docker/install/centos7_acl.sh index 482846cb2f..b38440e880 --- a/ci/docker/install/requirements +++ b/ci/docker/install/centos7_acl.sh @@ -1,3 +1,5 @@ +#!/usr/bin/env 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 @@ -14,24 +16,19 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -# -# build and install are separated so changes to build don't invalidate -# the whole docker cache for the image -boto3==1.9.229 -cpplint==1.3.0 -Cython -decorator==4.4.0 -h5py<3; platform_machine != 'aarch64' -mock==2.0.0 -nose==1.3.7 -nose-timer==0.7.3 -# Allow numpy version as advanced as 1.19.5 to avoid CVE-2021-41495 and CVE-2021-41496 affecting <1.19.1. -numpy>=1.16.0,<1.20.0 -pylint==2.3.1 # pylint and astroid need to be aligned -astroid==2.3.3 # pylint and astroid need to be aligned -requests<2.19.0,>=2.18.4 -scipy<1.7.0 # Restrict scipy version due to https://github.com/apache/mxnet/issues/20389 -setuptools -coverage -packaging +set -ex + +pushd . + +yum install -y git + +mkdir -p /work/deps/acl +cd /work/deps/acl + +git clone https://github.com/ARM-software/ComputeLibrary.git +cd ComputeLibrary +git checkout v23.05 +scons Werror=1 -j8 debug=0 neon=1 opencl=0 os=linux openmp=1 cppthreads=0 arch=armv8.2-a multi_isa=1 build=native + +popd diff --git a/ci/docker/install/requirements b/ci/docker/install/requirements index 482846cb2f..7c343fccdc 100644 --- a/ci/docker/install/requirements +++ b/ci/docker/install/requirements @@ -35,3 +35,4 @@ scipy<1.7.0 # Restrict scipy version due to https://github.com/apache/mxnet/issu setuptools coverage packaging +scons; platform_machine == 'aarch64' diff --git a/config/distribution/linux_aarch64_cpu.cmake b/config/distribution/linux_aarch64_cpu.cmake index 26e7b2cbb2..9e9d13dadd 100644 --- a/config/distribution/linux_aarch64_cpu.cmake +++ b/config/distribution/linux_aarch64_cpu.cmake @@ -19,7 +19,7 @@ set(CMAKE_BUILD_TYPE "Distribution" CACHE STRING "Build type") set(CFLAGS "-march=armv8-a+crc+crypto -moutline-atomics" CACHE STRING "CFLAGS") set(CXXFLAGS "-march=armv8-a" CACHE STRING "CXXFLAGS") -set(USE_BLAS ArmPL CACHE STRING "BLAS") +set(USE_BLAS Open CACHE STRING "BLAS") set(USE_CUDA OFF CACHE BOOL "Build with CUDA support") set(USE_OPENCV ON CACHE BOOL "Build with OpenCV support") set(USE_OPENMP ON CACHE BOOL "Build with Openmp support") @@ -36,10 +36,10 @@ set(USE_MKLDNN ON CACHE BOOL "Build with MKL-DNN support") # from <acl_root>/lib/<binaries_folder_for_your_arch> to <acl_root>/build # The resulting acl root folder should look something like: # LICENSE README.md arm_compute build examples include lib scripts support utils -set(ENV{ACL_ROOT_DIR} "") -set(MKLDNN_USE_ACL OFF CACHE BOOL "Integrate MKLDNN with Arm Compute Library") +set(ENV{ACL_ROOT_DIR} "/work/deps/acl/ComputeLibrary") +set(MKLDNN_USE_ACL ON CACHE BOOL "Integrate MKLDNN with Arm Compute Library") # APL can be downloaded from https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries # Note that APL needs to be added to LD_LIBRARY_PATH -set(MKLDNN_USE_APL ON CACHE BOOL "Integrate MKLDNN with Arm Performance Libraries") +set(MKLDNN_USE_APL OFF CACHE BOOL "Integrate MKLDNN with Arm Performance Libraries") # Due to a MKLDNN bug we will need to manually set the ArmPL header -set(BLAS_INCLUDE_DIR "/opt/arm/armpl_21.0_gcc-8.2/include_lp64_mp" CACHE STRING "Specifies BLAS include dir") +# set(BLAS_INCLUDE_DIR "/opt/arm/armpl_21.0_gcc-8.2/include_lp64_mp" CACHE STRING "Specifies BLAS include dir")
