From a1c25e63cc756be973262dc89f52672f37e8aaac Mon Sep 17 00:00:00 2001 From: alter-xp Date: Mon, 13 Jun 2022 13:54:22 +0800 Subject: [PATCH 1/2] [CI Image] support CSI-NN2 in ci_qemu * build CSI-NN2, download related toolchain and qemu --- docker/Dockerfile.ci_qemu | 6 +++ .../ubuntu_download_csinn2_compute_lib.sh | 41 +++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100755 docker/install/ubuntu_download_csinn2_compute_lib.sh diff --git a/docker/Dockerfile.ci_qemu b/docker/Dockerfile.ci_qemu index 28bfd8962de5..47f0ba67840e 100644 --- a/docker/Dockerfile.ci_qemu +++ b/docker/Dockerfile.ci_qemu @@ -108,5 +108,11 @@ RUN bash /install/ubuntu_install_ethosu_driver_stack.sh COPY install/ubuntu_install_vela.sh /install/ubuntu_install_vela.sh RUN bash /install/ubuntu_install_vela.sh +#Install CSI-NN2 +COPY install/ubuntu_download_csinn2_compute_lib.sh /install/ubuntu_download_csinn2_compute_lib.sh +RUN bash /install/ubuntu_download_csinn2_compute_lib.sh + # Update PATH ENV PATH /opt/arm/gcc-arm-none-eabi/bin:/opt/arm/FVP_Corstone_SSE-300/models/Linux64_GCC-6.4:$PATH +ENV PATH /opt/csi-nn2/csi-nn2/tools/gcc-toolchain/bin:$PATH +ENV PATH /opt/csi-nn2/csi-nn2/tools/qemu/bin:$PATH diff --git a/docker/install/ubuntu_download_csinn2_compute_lib.sh b/docker/install/ubuntu_download_csinn2_compute_lib.sh new file mode 100755 index 000000000000..0b6fc1f1974f --- /dev/null +++ b/docker/install/ubuntu_download_csinn2_compute_lib.sh @@ -0,0 +1,41 @@ +#!/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 + +install_path="/opt/csi-nn2" + +# Clone CSI-NN2 Compute Library source code +git clone https://github.com/T-head-Semi/csi-nn2.git ${install_path} + +# download cross-compiler when not building natively. +# riscv gcc toolchain will be downloaded to "/path/csi-nn2/tools/gcc-toolchain". +cd ${install_path} +./script/download_toolchain.sh + +# download custom QEMU to "/path/csi-nn2/tools/qemu". +./script/download_qemu.sh + +# build csinn2 lib for x86 and c906 +# lib will be installed in /path/csi-nn2/install +# for x86 +make -j4; cd x86_build; make install; cd - +# for c906 +mkdir -p riscv_build; cd riscv_build +cmake ../ -DBUILD_RISCV=ON; make -j4; make install; cd - + From f78393bb39fd0e024728c90ff746171de3617258 Mon Sep 17 00:00:00 2001 From: alter-xp Date: Wed, 15 Jun 2022 10:36:51 +0800 Subject: [PATCH 2/2] using fixed csinn2 branch --- docker/install/ubuntu_download_csinn2_compute_lib.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/install/ubuntu_download_csinn2_compute_lib.sh b/docker/install/ubuntu_download_csinn2_compute_lib.sh index 0b6fc1f1974f..568ee4146084 100755 --- a/docker/install/ubuntu_download_csinn2_compute_lib.sh +++ b/docker/install/ubuntu_download_csinn2_compute_lib.sh @@ -21,7 +21,7 @@ set -e install_path="/opt/csi-nn2" # Clone CSI-NN2 Compute Library source code -git clone https://github.com/T-head-Semi/csi-nn2.git ${install_path} +git clone --depth 1 --branch 1.12.2 https://github.com/T-head-Semi/csi-nn2.git ${install_path} # download cross-compiler when not building natively. # riscv gcc toolchain will be downloaded to "/path/csi-nn2/tools/gcc-toolchain".