This is an automated email from the ASF dual-hosted git repository.
zhic pushed a commit to branch ci-docker-staging
in repository https://gitbox.apache.org/repos/asf/incubator-tvm.git
The following commit(s) were added to refs/heads/ci-docker-staging by this push:
new 19b4fc3 [CI] Add m6g instance (ARM64) to CI (#6781)
19b4fc3 is described below
commit 19b4fc3bc4d159f29a8812b9310b7b5185677d94
Author: Zhi <[email protected]>
AuthorDate: Wed Oct 28 14:52:01 2020 -0700
[CI] Add m6g instance (ARM64) to CI (#6781)
* [CI] Add m6g instance (ARM64) to CI
* address comments
Co-authored-by: Ubuntu <[email protected]>
---
Jenkinsfile | 23 +++++++++++++
docker/Dockerfile.ci_arm | 43 ++++++++++++++++++++++++
tests/python/unittest/test_target_codegen_x86.py | 7 ++++
tests/scripts/task_config_build_arm.sh | 33 ++++++++++++++++++
4 files changed, 106 insertions(+)
diff --git a/Jenkinsfile b/Jenkinsfile
index d6b36e0..0d6c09d 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -50,6 +50,7 @@ ci_cpu = "tlcpack/ci-cpu:v0.71-t0"
ci_wasm = "tlcpack/ci-wasm:v0.60"
ci_i386 = "tlcpack/ci-i386:v0.71-t0"
ci_qemu = "tlcpack/ci-qemu:v0.01"
+ci_arm = "tlcpack/ci-arm:v0.01"
// <--- End of regex-scanned config.
// tvm libraries
@@ -212,6 +213,16 @@ stage('Build') {
}
}
},
+ 'BUILD : arm': {
+ node('ARM') {
+ ws(per_exec_ws("tvm/build-arm")) {
+ init_git()
+ sh "${docker_run} ${ci_arm} ./tests/scripts/task_config_build_arm.sh"
+ make(ci_arm, 'build', '-j2')
+ pack_lib('arm', tvm_multilib)
+ }
+ }
+ },
'BUILD: QEMU': {
node('CPU') {
ws(per_exec_ws("tvm/build-qemu")) {
@@ -253,6 +264,18 @@ stage('Unit Test') {
}
}
},
+ 'python3: arm': {
+ node('ARM') {
+ ws(per_exec_ws("tvm/ut-python-arm")) {
+ init_git()
+ unpack_lib('arm', tvm_multilib)
+ timeout(time: max_time, unit: 'MINUTES') {
+ sh "${docker_run} ${ci_arm} ./tests/scripts/task_python_unittest.sh"
+ // sh "${docker_run} ${ci_arm}
./tests/scripts/task_python_integration.sh"
+ }
+ }
+ }
+ },
'java: GPU': {
node('GPU') {
ws(per_exec_ws("tvm/ut-java")) {
diff --git a/docker/Dockerfile.ci_arm b/docker/Dockerfile.ci_arm
new file mode 100644
index 0000000..f5b2c2a
--- /dev/null
+++ b/docker/Dockerfile.ci_arm
@@ -0,0 +1,43 @@
+# 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.
+
+# CI docker arm env
+# tag: v0.10
+
+FROM ubuntu:18.04
+
+RUN apt-get update --fix-missing
+RUN apt-get install -y ca-certificates gnupg2
+
+COPY install/ubuntu_install_core.sh /install/ubuntu_install_core.sh
+RUN bash /install/ubuntu_install_core.sh
+
+COPY install/ubuntu_install_llvm.sh /install/ubuntu_install_llvm.sh
+RUN bash /install/ubuntu_install_llvm.sh
+
+COPY install/ubuntu1804_install_python.sh /install/ubuntu1804_install_python.sh
+RUN bash /install/ubuntu1804_install_python.sh
+
+COPY install/ubuntu_install_cmake_source.sh
/install/ubuntu_install_cmake_source.sh
+RUN bash /install/ubuntu_install_cmake_source.sh
+
+COPY install/ubuntu_install_python_package.sh
/install/ubuntu_install_python_package.sh
+RUN bash /install/ubuntu_install_python_package.sh
+
+# AutoTVM deps
+COPY install/ubuntu_install_redis.sh /install/ubuntu_install_redis.sh
+RUN bash /install/ubuntu_install_redis.sh
diff --git a/tests/python/unittest/test_target_codegen_x86.py
b/tests/python/unittest/test_target_codegen_x86.py
index ec11d26..b2fc683 100644
--- a/tests/python/unittest/test_target_codegen_x86.py
+++ b/tests/python/unittest/test_target_codegen_x86.py
@@ -28,6 +28,13 @@ def test_fp16_to_fp32():
)
return
+ import platform
+
+ machine = platform.machine()
+ if machine != "x86_64" and machine != "i386" and machine != "AMD64":
+ print("Skipping test because the platform is: {} ".format(machine))
+ return
+
def fp16_to_fp32(target, width, match=None, not_match=None):
elements = 64
n = tvm.runtime.convert(elements)
diff --git a/tests/scripts/task_config_build_arm.sh
b/tests/scripts/task_config_build_arm.sh
new file mode 100755
index 0000000..db2139b
--- /dev/null
+++ b/tests/scripts/task_config_build_arm.sh
@@ -0,0 +1,33 @@
+#!/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
+
+mkdir -p build
+cd build
+cp ../cmake/config.cmake .
+
+echo set\(USE_SORT ON\) >> config.cmake
+echo set\(USE_RPC ON\) >> config.cmake
+echo set\(USE_GRAPH_RUNTIME_DEBUG ON\) >> config.cmake
+echo set\(USE_STANDALONE_CRT ON\) >> config.cmake
+echo set\(USE_VM_PROFILER ON\) >> config.cmake
+echo set\(USE_LLVM llvm-config-8\) >> config.cmake
+echo set\(CMAKE_CXX_COMPILER g++\) >> config.cmake
+echo set\(CMAKE_CXX_FLAGS -Werror\) >> config.cmake