diff --git a/ci/jenkins/generated/arm_jenkinsfile.groovy b/ci/jenkins/generated/arm_jenkinsfile.groovy index 95b1bb24a68f..03a28855e52b 100644 --- a/ci/jenkins/generated/arm_jenkinsfile.groovy +++ b/ci/jenkins/generated/arm_jenkinsfile.groovy @@ -60,7 +60,7 @@ // 'python3 jenkins/generate.py' // Note: This timestamp is here to ensure that updates to the Jenkinsfile are // always rebased on main before merging: -// Generated at 2025-02-07T09:50:07.174590 +// Generated at 2025-02-08T14:55:01.980657 import org.jenkinsci.plugins.pipeline.modeldefinition.Utils // These are set at runtime from data in ci/jenkins/docker-images.yml, update @@ -494,7 +494,7 @@ def make_cpp_tests(image, build_dir) { ) } -def cmake_build(image, path, make_flag) { +def cmake_build(image, path) { sh ( script: "${docker_run} --env CI_NUM_EXECUTORS ${image} ./tests/scripts/task_build.py --sccache-bucket tvm-sccache-prod --sccache-region us-west-2 --build-dir ${path}", label: 'Run cmake build', @@ -530,7 +530,7 @@ def run_build(node_type) { script: "${docker_run} ${ci_arm} ./tests/scripts/task_config_build_arm.sh build", label: 'Create ARM cmake config', ) - cmake_build(ci_arm, 'build', '-j4') + cmake_build(ci_arm, 'build') make_cpp_tests(ci_arm, 'build') sh( script: "./${jenkins_scripts_root}/s3.py --action upload --bucket ${s3_bucket} --prefix ${s3_prefix}/arm --items build/libtvm.so build/libtvm_runtime.so build/config.cmake build/cpptest build/build.ninja build/CMakeFiles/rules.ninja", @@ -854,100 +854,6 @@ def shard_run_topi_aarch64_2_of_2(node_type) { } - -def shard_run_frontend_aarch64_1_of_2(node_type) { - echo 'Begin running on node_type ' + node_type - if (!skip_ci && is_docs_only_build != 1) { - node(node_type) { - ws("workspace/exec_${env.EXECUTOR_NUMBER}/tvm/frontend-python-arm") { - // NOTE: if exception happens, it will be caught outside - init_git() - docker_init(ci_arm) - timeout(time: max_time, unit: 'MINUTES') { - withEnv([ - 'PLATFORM=arm', - 'TEST_STEP_NAME=frontend: aarch64', - 'TVM_NUM_SHARDS=2', - 'TVM_SHARD_INDEX=0', - "SKIP_SLOW_TESTS=${skip_slow_tests}"], { - sh( - script: "./${jenkins_scripts_root}/s3.py --action download --bucket ${s3_bucket} --prefix ${s3_prefix}/arm", - label: 'Download artifacts from S3', - ) - - ci_setup(ci_arm) - sh ( - script: "${docker_run} ${ci_arm} ./tests/scripts/task_python_frontend_cpu.sh", - label: 'Run Python frontend tests', - ) - }) - } - // only run upload if things are successful - try { - sh( - script: "./${jenkins_scripts_root}/s3.py --action upload --bucket ${s3_bucket} --prefix ${s3_prefix}/pytest-results/frontend_aarch64 --items build/pytest-results", - label: 'Upload JUnits to S3', - ) - - junit 'build/pytest-results/*.xml' - } catch (Exception e) { - echo 'Exception during JUnit upload: ' + e.toString() - } - } - } - echo 'End running on node_type ' + node_type - } else { - Utils.markStageSkippedForConditional('frontend: aarch64 1 of 2') - } -} - -def shard_run_frontend_aarch64_2_of_2(node_type) { - echo 'Begin running on node_type ' + node_type - if (!skip_ci && is_docs_only_build != 1) { - node(node_type) { - ws("workspace/exec_${env.EXECUTOR_NUMBER}/tvm/frontend-python-arm") { - // NOTE: if exception happens, it will be caught outside - init_git() - docker_init(ci_arm) - timeout(time: max_time, unit: 'MINUTES') { - withEnv([ - 'PLATFORM=arm', - 'TEST_STEP_NAME=frontend: aarch64', - 'TVM_NUM_SHARDS=2', - 'TVM_SHARD_INDEX=1', - "SKIP_SLOW_TESTS=${skip_slow_tests}"], { - sh( - script: "./${jenkins_scripts_root}/s3.py --action download --bucket ${s3_bucket} --prefix ${s3_prefix}/arm", - label: 'Download artifacts from S3', - ) - - ci_setup(ci_arm) - sh ( - script: "${docker_run} ${ci_arm} ./tests/scripts/task_python_frontend_cpu.sh", - label: 'Run Python frontend tests', - ) - }) - } - // only run upload if things are successful - try { - sh( - script: "./${jenkins_scripts_root}/s3.py --action upload --bucket ${s3_bucket} --prefix ${s3_prefix}/pytest-results/frontend_aarch64 --items build/pytest-results", - label: 'Upload JUnits to S3', - ) - - junit 'build/pytest-results/*.xml' - } catch (Exception e) { - echo 'Exception during JUnit upload: ' + e.toString() - } - } - } - echo 'End running on node_type ' + node_type - } else { - Utils.markStageSkippedForConditional('frontend: aarch64 2 of 2') - } -} - - def test() { stage('Test') { environment { @@ -1020,28 +926,6 @@ def test() { shard_run_topi_aarch64_2_of_2('ARM-GRAVITON3') } }, - 'frontend: aarch64 1 of 2': { - try { - shard_run_frontend_aarch64_1_of_2('ARM-GRAVITON3-SPOT') - } catch (Throwable ex) { - // mark the current stage as success - // and try again via on demand node - echo 'Exception during SPOT run ' + ex.toString() + ' retry on-demand' - currentBuild.result = 'SUCCESS' - shard_run_frontend_aarch64_1_of_2('ARM-GRAVITON3') - } - }, - 'frontend: aarch64 2 of 2': { - try { - shard_run_frontend_aarch64_2_of_2('ARM-GRAVITON3-SPOT') - } catch (Throwable ex) { - // mark the current stage as success - // and try again via on demand node - echo 'Exception during SPOT run ' + ex.toString() + ' retry on-demand' - currentBuild.result = 'SUCCESS' - shard_run_frontend_aarch64_2_of_2('ARM-GRAVITON3') - } - }, ) } } diff --git a/ci/jenkins/generated/cpu_jenkinsfile.groovy b/ci/jenkins/generated/cpu_jenkinsfile.groovy index 2b2a17d95170..139b0d6c6574 100644 --- a/ci/jenkins/generated/cpu_jenkinsfile.groovy +++ b/ci/jenkins/generated/cpu_jenkinsfile.groovy @@ -60,7 +60,7 @@ // 'python3 jenkins/generate.py' // Note: This timestamp is here to ensure that updates to the Jenkinsfile are // always rebased on main before merging: -// Generated at 2025-02-07T09:50:07.191497 +// Generated at 2025-02-08T14:55:01.994339 import org.jenkinsci.plugins.pipeline.modeldefinition.Utils // These are set at runtime from data in ci/jenkins/docker-images.yml, update @@ -494,7 +494,7 @@ def make_cpp_tests(image, build_dir) { ) } -def cmake_build(image, path, make_flag) { +def cmake_build(image, path) { sh ( script: "${docker_run} --env CI_NUM_EXECUTORS ${image} ./tests/scripts/task_build.py --sccache-bucket tvm-sccache-prod --sccache-region us-west-2 --build-dir ${path}", label: 'Run cmake build', @@ -530,7 +530,7 @@ def run_build(node_type) { script: "${docker_run} ${ci_cpu} ./tests/scripts/task_config_build_cpu.sh build", label: 'Create CPU cmake config', ) - cmake_build(ci_cpu, 'build', '-j2') + cmake_build(ci_cpu, 'build') make_cpp_tests(ci_cpu, 'build') sh( script: "./${jenkins_scripts_root}/s3.py --action upload --bucket ${s3_bucket} --prefix ${s3_prefix}/cpu --items build/libtvm.so build/libtvm_runtime.so build/config.cmake build/libtvm_allvisible.so build/cpptest build/build.ninja build/CMakeFiles/rules.ninja", @@ -553,13 +553,13 @@ def run_build(node_type) { def build() { stage('Build') { try { - run_build('CPU-SMALL-SPOT') + run_build('CPU-SPOT') } catch (Throwable ex) { // mark the current stage as success // and try again via on demand node echo 'Exception during SPOT run ' + ex.toString() + ' retry on-demand' currentBuild.result = 'SUCCESS' - run_build('CPU-SMALL') + run_build('CPU') } } } @@ -798,53 +798,6 @@ def shard_run_unittest_CPU_1_of_1(node_type) { } -def shard_run_frontend_CPU_1_of_1(node_type) { - echo 'Begin running on node_type ' + node_type - if (!skip_ci && is_docs_only_build != 1) { - node(node_type) { - ws("workspace/exec_${env.EXECUTOR_NUMBER}/tvm/frontend-python-cpu") { - // NOTE: if exception happens, it will be caught outside - init_git() - docker_init(ci_cpu) - timeout(time: max_time, unit: 'MINUTES') { - withEnv([ - 'PLATFORM=cpu', - 'TEST_STEP_NAME=frontend: CPU', - 'TVM_NUM_SHARDS=1', - 'TVM_SHARD_INDEX=0', - "SKIP_SLOW_TESTS=${skip_slow_tests}"], { - sh( - script: "./${jenkins_scripts_root}/s3.py --action download --bucket ${s3_bucket} --prefix ${s3_prefix}/cpu", - label: 'Download artifacts from S3', - ) - - ci_setup(ci_cpu) - sh ( - script: "${docker_run} ${ci_cpu} ./tests/scripts/task_python_frontend_cpu.sh", - label: 'Run Python frontend tests', - ) - }) - } - // only run upload if things are successful - try { - sh( - script: "./${jenkins_scripts_root}/s3.py --action upload --bucket ${s3_bucket} --prefix ${s3_prefix}/pytest-results/frontend_CPU --items build/pytest-results", - label: 'Upload JUnits to S3', - ) - - junit 'build/pytest-results/*.xml' - } catch (Exception e) { - echo 'Exception during JUnit upload: ' + e.toString() - } - } - } - echo 'End running on node_type ' + node_type - } else { - Utils.markStageSkippedForConditional('frontend: CPU 1 of 1') - } -} - - def test() { stage('Test') { environment { @@ -906,17 +859,6 @@ def test() { shard_run_unittest_CPU_1_of_1('CPU-SMALL') } }, - 'frontend: CPU 1 of 1': { - try { - shard_run_frontend_CPU_1_of_1('CPU-SMALL-SPOT') - } catch (Throwable ex) { - // mark the current stage as success - // and try again via on demand node - echo 'Exception during SPOT run ' + ex.toString() + ' retry on-demand' - currentBuild.result = 'SUCCESS' - shard_run_frontend_CPU_1_of_1('CPU-SMALL') - } - }, ) } } diff --git a/ci/jenkins/generated/docker_jenkinsfile.groovy b/ci/jenkins/generated/docker_jenkinsfile.groovy index 553678b38c5a..59dcf89af958 100644 --- a/ci/jenkins/generated/docker_jenkinsfile.groovy +++ b/ci/jenkins/generated/docker_jenkinsfile.groovy @@ -60,7 +60,7 @@ // 'python3 jenkins/generate.py' // Note: This timestamp is here to ensure that updates to the Jenkinsfile are // always rebased on main before merging: -// Generated at 2025-02-06T12:16:02.541252 +// Generated at 2025-02-08T12:31:09.767578 import org.jenkinsci.plugins.pipeline.modeldefinition.Utils // These are set at runtime from data in ci/jenkins/docker-images.yml, update @@ -494,7 +494,7 @@ def make_cpp_tests(image, build_dir) { ) } -def cmake_build(image, path, make_flag) { +def cmake_build(image, path) { sh ( script: "${docker_run} --env CI_NUM_EXECUTORS ${image} ./tests/scripts/task_build.py --sccache-bucket tvm-sccache-prod --sccache-region us-west-2 --build-dir ${path}", label: 'Run cmake build', diff --git a/ci/jenkins/generated/gpu_jenkinsfile.groovy b/ci/jenkins/generated/gpu_jenkinsfile.groovy index 63e68cb072d9..931f519a7f3a 100644 --- a/ci/jenkins/generated/gpu_jenkinsfile.groovy +++ b/ci/jenkins/generated/gpu_jenkinsfile.groovy @@ -60,7 +60,7 @@ // 'python3 jenkins/generate.py' // Note: This timestamp is here to ensure that updates to the Jenkinsfile are // always rebased on main before merging: -// Generated at 2025-02-07T09:50:07.217941 +// Generated at 2025-02-08T12:31:09.859697 import org.jenkinsci.plugins.pipeline.modeldefinition.Utils // These are set at runtime from data in ci/jenkins/docker-images.yml, update @@ -494,7 +494,7 @@ def make_cpp_tests(image, build_dir) { ) } -def cmake_build(image, path, make_flag) { +def cmake_build(image, path) { sh ( script: "${docker_run} --env CI_NUM_EXECUTORS ${image} ./tests/scripts/task_build.py --sccache-bucket tvm-sccache-prod --sccache-region us-west-2 --build-dir ${path}", label: 'Run cmake build', @@ -527,7 +527,7 @@ def run_build(node_type) { 'PLATFORM=gpu', ], { sh "${docker_run} --no-gpu ${ci_gpu} ./tests/scripts/task_config_build_gpu.sh build" - cmake_build("${ci_gpu} --no-gpu", 'build', '-j2') + cmake_build("${ci_gpu} --no-gpu", 'build') sh( script: "./${jenkins_scripts_root}/s3.py --action upload --bucket ${s3_bucket} --prefix ${s3_prefix}/gpu --items build/libtvm.so build/libtvm_runtime.so build/config.cmake build/libtvm_allvisible.so build/3rdparty/libflash_attn/src/libflash_attn.so build/3rdparty/cutlass_fpA_intB_gemm/cutlass_kernels/libfpA_intB_gemm.so", label: 'Upload artifacts to S3', @@ -537,7 +537,7 @@ def run_build(node_type) { // compiler test sh "rm -rf build" sh "${docker_run} --no-gpu ${ci_gpu} ./tests/scripts/task_config_build_gpu_other.sh build" - cmake_build("${ci_gpu} --no-gpu", 'build', '-j2') + cmake_build("${ci_gpu} --no-gpu", 'build') sh( script: "./${jenkins_scripts_root}/s3.py --action upload --bucket ${s3_bucket} --prefix ${s3_prefix}/gpu2 --items build/libtvm.so build/libtvm_runtime.so build/config.cmake", label: 'Upload artifacts to S3', diff --git a/ci/jenkins/generated/hexagon_jenkinsfile.groovy b/ci/jenkins/generated/hexagon_jenkinsfile.groovy index 75331a67183a..f9bcee9a796b 100644 --- a/ci/jenkins/generated/hexagon_jenkinsfile.groovy +++ b/ci/jenkins/generated/hexagon_jenkinsfile.groovy @@ -60,7 +60,7 @@ // 'python3 jenkins/generate.py' // Note: This timestamp is here to ensure that updates to the Jenkinsfile are // always rebased on main before merging: -// Generated at 2025-02-07T09:50:07.160234 +// Generated at 2025-02-08T12:31:09.807572 import org.jenkinsci.plugins.pipeline.modeldefinition.Utils // These are set at runtime from data in ci/jenkins/docker-images.yml, update @@ -494,7 +494,7 @@ def make_cpp_tests(image, build_dir) { ) } -def cmake_build(image, path, make_flag) { +def cmake_build(image, path) { sh ( script: "${docker_run} --env CI_NUM_EXECUTORS ${image} ./tests/scripts/task_build.py --sccache-bucket tvm-sccache-prod --sccache-region us-west-2 --build-dir ${path}", label: 'Run cmake build', @@ -530,7 +530,7 @@ def run_build(node_type) { script: "${docker_run} ${ci_hexagon} ./tests/scripts/task_config_build_hexagon.sh build", label: 'Create Hexagon cmake config', ) - cmake_build(ci_hexagon, 'build', '-j2') + cmake_build(ci_hexagon, 'build') make_cpp_tests(ci_hexagon, 'build') sh ( script: "${docker_run} ${ci_hexagon} ./tests/scripts/task_build_hexagon_api.sh", @@ -552,13 +552,13 @@ def run_build(node_type) { def build() { stage('Build') { try { - run_build('CPU-SMALL-SPOT') + run_build('CPU-SPOT') } catch (Throwable ex) { // mark the current stage as success // and try again via on demand node echo 'Exception during SPOT run ' + ex.toString() + ' retry on-demand' currentBuild.result = 'SUCCESS' - run_build('CPU-SMALL') + run_build('CPU') } } } diff --git a/ci/jenkins/generated/i386_jenkinsfile.groovy b/ci/jenkins/generated/i386_jenkinsfile.groovy index 183245838cfb..4587b991ff86 100644 --- a/ci/jenkins/generated/i386_jenkinsfile.groovy +++ b/ci/jenkins/generated/i386_jenkinsfile.groovy @@ -60,7 +60,7 @@ // 'python3 jenkins/generate.py' // Note: This timestamp is here to ensure that updates to the Jenkinsfile are // always rebased on main before merging: -// Generated at 2025-02-07T09:50:07.135264 +// Generated at 2025-02-08T12:31:09.782928 import org.jenkinsci.plugins.pipeline.modeldefinition.Utils // These are set at runtime from data in ci/jenkins/docker-images.yml, update @@ -494,7 +494,7 @@ def make_cpp_tests(image, build_dir) { ) } -def cmake_build(image, path, make_flag) { +def cmake_build(image, path) { sh ( script: "${docker_run} --env CI_NUM_EXECUTORS ${image} ./tests/scripts/task_build.py --sccache-bucket tvm-sccache-prod --sccache-region us-west-2 --build-dir ${path}", label: 'Run cmake build', @@ -530,7 +530,7 @@ def run_build(node_type) { script: "${docker_run} ${ci_i386} ./tests/scripts/task_config_build_i386.sh build", label: 'Create i386 cmake config', ) - cmake_build(ci_i386, 'build', '-j2') + cmake_build(ci_i386, 'build') make_cpp_tests(ci_i386, 'build') sh( script: "./${jenkins_scripts_root}/s3.py --action upload --bucket ${s3_bucket} --prefix ${s3_prefix}/i386 --items build/libtvm.so build/libtvm_runtime.so build/config.cmake build/cpptest build/build.ninja build/CMakeFiles/rules.ninja", @@ -548,13 +548,13 @@ def run_build(node_type) { def build() { stage('Build') { try { - run_build('CPU-SMALL-SPOT') + run_build('CPU-SPOT') } catch (Throwable ex) { // mark the current stage as success // and try again via on demand node echo 'Exception during SPOT run ' + ex.toString() + ' retry on-demand' currentBuild.result = 'SUCCESS' - run_build('CPU-SMALL') + run_build('CPU') } } } diff --git a/ci/jenkins/generated/lint_jenkinsfile.groovy b/ci/jenkins/generated/lint_jenkinsfile.groovy index bc8118c5463a..4042eb815288 100644 --- a/ci/jenkins/generated/lint_jenkinsfile.groovy +++ b/ci/jenkins/generated/lint_jenkinsfile.groovy @@ -60,7 +60,7 @@ // 'python3 jenkins/generate.py' // Note: This timestamp is here to ensure that updates to the Jenkinsfile are // always rebased on main before merging: -// Generated at 2025-02-06T12:16:02.571072 +// Generated at 2025-02-08T12:31:09.795535 import org.jenkinsci.plugins.pipeline.modeldefinition.Utils // These are set at runtime from data in ci/jenkins/docker-images.yml, update @@ -494,7 +494,7 @@ def make_cpp_tests(image, build_dir) { ) } -def cmake_build(image, path, make_flag) { +def cmake_build(image, path) { sh ( script: "${docker_run} --env CI_NUM_EXECUTORS ${image} ./tests/scripts/task_build.py --sccache-bucket tvm-sccache-prod --sccache-region us-west-2 --build-dir ${path}", label: 'Run cmake build', diff --git a/ci/jenkins/generated/wasm_jenkinsfile.groovy b/ci/jenkins/generated/wasm_jenkinsfile.groovy index 4cf67de233c9..b6ad3a1ffa38 100644 --- a/ci/jenkins/generated/wasm_jenkinsfile.groovy +++ b/ci/jenkins/generated/wasm_jenkinsfile.groovy @@ -60,7 +60,7 @@ // 'python3 jenkins/generate.py' // Note: This timestamp is here to ensure that updates to the Jenkinsfile are // always rebased on main before merging: -// Generated at 2025-02-06T20:53:50.442520 +// Generated at 2025-02-08T12:31:09.848878 import org.jenkinsci.plugins.pipeline.modeldefinition.Utils // These are set at runtime from data in ci/jenkins/docker-images.yml, update @@ -494,7 +494,7 @@ def make_cpp_tests(image, build_dir) { ) } -def cmake_build(image, path, make_flag) { +def cmake_build(image, path) { sh ( script: "${docker_run} --env CI_NUM_EXECUTORS ${image} ./tests/scripts/task_build.py --sccache-bucket tvm-sccache-prod --sccache-region us-west-2 --build-dir ${path}", label: 'Run cmake build', @@ -530,7 +530,7 @@ def run_build(node_type) { script: "${docker_run} ${ci_wasm} ./tests/scripts/task_config_build_wasm.sh build", label: 'Create WASM cmake config', ) - cmake_build(ci_wasm, 'build', '-j2') + cmake_build(ci_wasm, 'build') make_cpp_tests(ci_wasm, 'build') cpp_unittest(ci_wasm) ci_setup(ci_wasm) @@ -550,13 +550,13 @@ def run_build(node_type) { def build() { stage('Build') { try { - run_build('CPU-SMALL-SPOT') + run_build('CPU-SPOT') } catch (Throwable ex) { // mark the current stage as success // and try again via on demand node echo 'Exception during SPOT run ' + ex.toString() + ' retry on-demand' currentBuild.result = 'SUCCESS' - run_build('CPU-SMALL') + run_build('CPU') } } } diff --git a/ci/jenkins/templates/arm_jenkinsfile.groovy.j2 b/ci/jenkins/templates/arm_jenkinsfile.groovy.j2 index 418f786743bd..f8695091058d 100644 --- a/ci/jenkins/templates/arm_jenkinsfile.groovy.j2 +++ b/ci/jenkins/templates/arm_jenkinsfile.groovy.j2 @@ -29,7 +29,7 @@ script: "${docker_run} ${ci_arm} ./tests/scripts/task_config_build_arm.sh build", label: 'Create ARM cmake config', ) - cmake_build(ci_arm, 'build', '-j4') + cmake_build(ci_arm, 'build') make_cpp_tests(ci_arm, 'build') {{ m.upload_artifacts(tag='arm', filenames=tvm_lib + cpptest) }} {% endcall %} @@ -76,20 +76,4 @@ ) {% endcall %} -{% call(shard_index, num_shards) m.sharded_test_step( - name="frontend: aarch64", - ws="tvm/frontend-python-arm", - platform="arm", - docker_image="ci_arm", - num_shards=2, - test_method_names=test_method_names, -) %} - {{ m.download_artifacts(tag='arm') }} - ci_setup(ci_arm) - sh ( - script: "${docker_run} ${ci_arm} ./tests/scripts/task_python_frontend_cpu.sh", - label: 'Run Python frontend tests', - ) -{% endcall %} - {{ m.invoke_tests(node="ARM-GRAVITON3", test_method_names=test_method_names) -}} diff --git a/ci/jenkins/templates/cpu_jenkinsfile.groovy.j2 b/ci/jenkins/templates/cpu_jenkinsfile.groovy.j2 index 7e578884f8cd..e34132c94111 100644 --- a/ci/jenkins/templates/cpu_jenkinsfile.groovy.j2 +++ b/ci/jenkins/templates/cpu_jenkinsfile.groovy.j2 @@ -19,7 +19,7 @@ {% call m.invoke_build( name='BUILD: CPU', - node='CPU-SMALL', + node='CPU', condition='!skip_ci && is_docs_only_build != 1', ws='tvm/build-cpu', docker_image='ci_cpu', @@ -29,7 +29,7 @@ script: "${docker_run} ${ci_cpu} ./tests/scripts/task_config_build_cpu.sh build", label: 'Create CPU cmake config', ) - cmake_build(ci_cpu, 'build', '-j2') + cmake_build(ci_cpu, 'build') make_cpp_tests(ci_cpu, 'build') {{ m.upload_artifacts(tag='cpu', filenames=tvm_lib + tvm_allvisible + cpptest) }} ci_setup(ci_cpu) @@ -69,20 +69,5 @@ cpp_unittest(ci_cpu) python_unittest(ci_cpu) {% endcall %} -{% call(shard_index, num_shards) m.sharded_test_step( - name="frontend: CPU", - ws="tvm/frontend-python-cpu", - platform="cpu", - num_shards=1, - docker_image="ci_cpu", - test_method_names=test_method_names, -) %} - {{ m.download_artifacts(tag='cpu') }} - ci_setup(ci_cpu) - sh ( - script: "${docker_run} ${ci_cpu} ./tests/scripts/task_python_frontend_cpu.sh", - label: 'Run Python frontend tests', - ) -{% endcall %} {{ m.invoke_tests(node="CPU-SMALL", test_method_names=test_method_names) -}} diff --git a/ci/jenkins/templates/gpu_jenkinsfile.groovy.j2 b/ci/jenkins/templates/gpu_jenkinsfile.groovy.j2 index fdef5c96e616..e57e8c043303 100644 --- a/ci/jenkins/templates/gpu_jenkinsfile.groovy.j2 +++ b/ci/jenkins/templates/gpu_jenkinsfile.groovy.j2 @@ -26,13 +26,13 @@ platform="gpu", ) %} sh "${docker_run} --no-gpu ${ci_gpu} ./tests/scripts/task_config_build_gpu.sh build" - cmake_build("${ci_gpu} --no-gpu", 'build', '-j2') + cmake_build("${ci_gpu} --no-gpu", 'build') {{ m.upload_artifacts(tag='gpu', filenames=tvm_lib + tvm_allvisible + tvm_lib_gpu_extra) }} // compiler test sh "rm -rf build" sh "${docker_run} --no-gpu ${ci_gpu} ./tests/scripts/task_config_build_gpu_other.sh build" - cmake_build("${ci_gpu} --no-gpu", 'build', '-j2') + cmake_build("${ci_gpu} --no-gpu", 'build') {{ m.upload_artifacts(tag='gpu2', filenames=tvm_lib) }} {% endcall %} diff --git a/ci/jenkins/templates/hexagon_jenkinsfile.groovy.j2 b/ci/jenkins/templates/hexagon_jenkinsfile.groovy.j2 index 1d3f37131c58..91d3ce9ece42 100644 --- a/ci/jenkins/templates/hexagon_jenkinsfile.groovy.j2 +++ b/ci/jenkins/templates/hexagon_jenkinsfile.groovy.j2 @@ -19,7 +19,7 @@ {% call m.invoke_build( name='BUILD: Hexagon', - node='CPU-SMALL', + node='CPU', condition='!skip_ci && is_docs_only_build != 1', ws='tvm/build-hexagon', docker_image='ci_hexagon', @@ -29,7 +29,7 @@ script: "${docker_run} ${ci_hexagon} ./tests/scripts/task_config_build_hexagon.sh build", label: 'Create Hexagon cmake config', ) - cmake_build(ci_hexagon, 'build', '-j2') + cmake_build(ci_hexagon, 'build') make_cpp_tests(ci_hexagon, 'build') sh ( script: "${docker_run} ${ci_hexagon} ./tests/scripts/task_build_hexagon_api.sh", diff --git a/ci/jenkins/templates/i386_jenkinsfile.groovy.j2 b/ci/jenkins/templates/i386_jenkinsfile.groovy.j2 index 382e3bfbe6e7..2c9aa3234f7e 100644 --- a/ci/jenkins/templates/i386_jenkinsfile.groovy.j2 +++ b/ci/jenkins/templates/i386_jenkinsfile.groovy.j2 @@ -19,7 +19,7 @@ {% call m.invoke_build( name='BUILD: i386', - node='CPU-SMALL', + node='CPU', condition='!skip_ci && is_docs_only_build != 1', ws='tvm/build-i386', docker_image='ci_i386', @@ -29,7 +29,7 @@ script: "${docker_run} ${ci_i386} ./tests/scripts/task_config_build_i386.sh build", label: 'Create i386 cmake config', ) - cmake_build(ci_i386, 'build', '-j2') + cmake_build(ci_i386, 'build') make_cpp_tests(ci_i386, 'build') {{ m.upload_artifacts(tag='i386', filenames=tvm_lib + cpptest) }} {% endcall %} diff --git a/ci/jenkins/templates/utils/Build.groovy.j2 b/ci/jenkins/templates/utils/Build.groovy.j2 index cf3cb61e7ae6..8e8310aea677 100644 --- a/ci/jenkins/templates/utils/Build.groovy.j2 +++ b/ci/jenkins/templates/utils/Build.groovy.j2 @@ -26,7 +26,7 @@ def make_cpp_tests(image, build_dir) { ) } -def cmake_build(image, path, make_flag) { +def cmake_build(image, path) { sh ( script: "${docker_run} --env CI_NUM_EXECUTORS ${image} ./tests/scripts/task_build.py --sccache-bucket tvm-sccache-prod --sccache-region us-west-2 --build-dir ${path}", label: 'Run cmake build', diff --git a/ci/jenkins/templates/wasm_jenkinsfile.groovy.j2 b/ci/jenkins/templates/wasm_jenkinsfile.groovy.j2 index df33e91eac69..e3ef79c27628 100644 --- a/ci/jenkins/templates/wasm_jenkinsfile.groovy.j2 +++ b/ci/jenkins/templates/wasm_jenkinsfile.groovy.j2 @@ -19,7 +19,7 @@ {% call m.invoke_build( name='BUILD: WASM', - node='CPU-SMALL', + node='CPU', condition='!skip_ci && is_docs_only_build != 1', ws='tvm/build-wasm', docker_image='ci_wasm', @@ -29,7 +29,7 @@ script: "${docker_run} ${ci_wasm} ./tests/scripts/task_config_build_wasm.sh build", label: 'Create WASM cmake config', ) - cmake_build(ci_wasm, 'build', '-j2') + cmake_build(ci_wasm, 'build') make_cpp_tests(ci_wasm, 'build') cpp_unittest(ci_wasm) ci_setup(ci_wasm) diff --git a/ci/jenkins/unity_jenkinsfile.groovy b/ci/jenkins/unity_jenkinsfile.groovy index a0c1120fa3e7..d1562248cc4a 100755 --- a/ci/jenkins/unity_jenkinsfile.groovy +++ b/ci/jenkins/unity_jenkinsfile.groovy @@ -225,10 +225,10 @@ try { // Run make. First try to do an incremental make from a previous workspace in hope to // accelerate the compilation. If something is wrong, clean the workspace and then // build from scratch. -def make(docker_type, path, make_flag) { +def make(docker_type, path) { timeout(time: max_time, unit: 'MINUTES') { try { - cmake_build(docker_type, path, make_flag) + cmake_build(docker_type, path) // always run cpp test when build // sh "${docker_run} ${docker_type} ./tests/scripts/task_cpp_unittest.sh" } catch (hudson.AbortException ae) { @@ -241,7 +241,7 @@ def make(docker_type, path, make_flag) { script: "${docker_run} ${docker_type} ./tests/scripts/task_clean.sh ${path}", label: 'Clear old cmake workspace', ) - cmake_build(docker_type, path, make_flag) + cmake_build(docker_type, path) cpp_unittest(docker_type) } } @@ -310,7 +310,7 @@ def python_unittest(image) { } -def cmake_build(image, path, make_flag) { +def cmake_build(image, path) { sh ( script: "${docker_run} ${image} ./tests/scripts/task_build.py --sccache-bucket tvm-sccache-prod --sccache-region us-west-2", label: 'Run cmake build', @@ -342,17 +342,17 @@ stage('Build and Test') { init_git() sh "${docker_run} ${ci_gpu} nvidia-smi" sh "${docker_run} ${ci_gpu} ./tests/scripts/task_config_build_gpu.sh build" - make("${ci_gpu}", 'build', '-j2') + make("${ci_gpu}", 'build') sh "${docker_run} ${ci_gpu} ./tests/scripts/unity/task_python_relax_gpuonly.sh" } } }, 'BUILD: CPU': { - node('CPU-SMALL') { + node('CPU') { ws(per_exec_ws('tvm/build-cpu')) { init_git() sh "${docker_run} ${ci_cpu} ./tests/scripts/task_config_build_cpu.sh build" - make(ci_cpu, 'build', '-j2') + make(ci_cpu, 'build') sh "${docker_run} ${ci_cpu} ./tests/scripts/unity/task_python_relax.sh" } } diff --git a/tests/scripts/task_config_build_cortexm.sh b/tests/scripts/task_config_build_cortexm.sh deleted file mode 100755 index a32e8dd61b6d..000000000000 --- a/tests/scripts/task_config_build_cortexm.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/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 -# 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 -euxo pipefail - -BUILD_DIR=$1 -mkdir -p "$BUILD_DIR" -cd "$BUILD_DIR" -cp ../cmake/config.cmake . - -echo set\(USE_SORT ON\) >> config.cmake -echo set\(USE_UMA ON\) >> config.cmake -echo set\(USE_PROFILER ON\) >> config.cmake -echo set\(USE_LLVM llvm-config-15\) >> config.cmake -echo set\(CMAKE_CXX_FLAGS -Werror\) >> config.cmake -echo set\(HIDE_PRIVATE_SYMBOLS ON\) >> config.cmake -echo set\(BACKTRACE_ON_SEGFAULT ON\) >> config.cmake -echo set\(USE_CCACHE OFF\) >> config.cmake -echo set\(SUMMARIZE ON\) >> config.cmake diff --git a/tests/scripts/task_config_build_minimal.sh b/tests/scripts/task_config_build_minimal.sh deleted file mode 100755 index 7321223f0002..000000000000 --- a/tests/scripts/task_config_build_minimal.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/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 -# 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 -euxo pipefail - -BUILD_DIR=$1 -mkdir -p "$BUILD_DIR" -cd "$BUILD_DIR" -cp ../cmake/config.cmake . - -echo set\(USE_SORT ON\) >> config.cmake -echo set\(USE_LLVM llvm-config\) >> config.cmake -echo set\(USE_RELAY_DEBUG ON\) >> config.cmake -echo set\(CMAKE_BUILD_TYPE=Debug\) >> config.cmake -echo set\(CMAKE_CXX_FLAGS \"-Werror -Wp,-D_GLIBCXX_ASSERTIONS\"\) >> config.cmake -echo set\(HIDE_PRIVATE_SYMBOLS ON\) >> config.cmake -echo set\(USE_LIBBACKTRACE COMPILE\) >> config.cmake -echo set\(USE_CCACHE OFF\) >> config.cmake -echo set\(SUMMARIZE ON\) >> config.cmake diff --git a/tests/scripts/task_config_build_minimal_cross_isa.sh b/tests/scripts/task_config_build_minimal_cross_isa.sh deleted file mode 100755 index eacbb80d3440..000000000000 --- a/tests/scripts/task_config_build_minimal_cross_isa.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/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 -# 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 -euxo pipefail - -BUILD_DIR=$1 -mkdir -p "$BUILD_DIR" -cd "$BUILD_DIR" -cp ../cmake/config.cmake . - -echo set\(USE_SORT ON\) >> config.cmake -echo set\(USE_RELAY_DEBUG ON\) >> config.cmake -echo set\(CMAKE_BUILD_TYPE=Debug\) >> config.cmake -echo set\(CMAKE_CXX_FLAGS \"-Werror -Wp,-D_GLIBCXX_ASSERTIONS\"\) >> config.cmake -echo set\(HIDE_PRIVATE_SYMBOLS ON\) >> config.cmake -echo set\(USE_LIBBACKTRACE OFF\) >> config.cmake -echo set\(USE_CCACHE OFF\) >> config.cmake -echo set\(SUMMARIZE ON\) >> config.cmake - -architecture_type=$(uname -i) -if [ "$architecture_type" != "aarch64" ]; then - echo set\(USE_LLVM \"/usr/llvm-aarch64/bin/llvm-config --link-static\"\) >> config.cmake - - # Cross compile to aarch64 - echo set\(CMAKE_C_COMPILER aarch64-linux-gnu-gcc\) >> config.cmake - echo set\(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++\) >> config.cmake - - echo set\(CMAKE_FIND_ROOT_PATH /usr/aarch64-linux-gnu\) >> config.cmake - echo set\(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER\) >> config.cmake - echo set\(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY\) >> config.cmake - echo set\(ZLIB_LIBRARY /lib/aarch64-linux-gnu/libz.a\) >> config.cmake -else - # This usually runs in the ci_arm docker image. - echo -e 'find_program(LLVM_CONFIG "llvm-config")\nif (LLVM_CONFIG) \n\tset(USE_LLVM llvm-config) \nelse() \n\tset(USE_LLVM llvm-config-15)\nendif()' >> config.cmake -fi diff --git a/tests/scripts/task_config_build_riscv.sh b/tests/scripts/task_config_build_riscv.sh deleted file mode 100755 index f979b0052b1a..000000000000 --- a/tests/scripts/task_config_build_riscv.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/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 -# 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 -euxo pipefail - -BUILD_DIR=$1 -mkdir -p "$BUILD_DIR" -cd "$BUILD_DIR" -cp ../cmake/config.cmake . - -echo set\(USE_SORT ON\) >> config.cmake -echo set\(USE_UMA ON\) >> config.cmake -echo set\(USE_PROFILER ON\) >> config.cmake -echo set\(USE_LLVM llvm-config-15\) >> config.cmake -echo set\(CMAKE_CXX_FLAGS -Werror\) >> config.cmake -echo set\(HIDE_PRIVATE_SYMBOLS ON\) >> config.cmake -echo set\(USE_CCACHE OFF\) >> config.cmake -echo set\(SUMMARIZE ON\) >> config.cmake diff --git a/tests/scripts/task_demo_microtvm.sh b/tests/scripts/task_demo_microtvm.sh deleted file mode 100755 index 552ddcb56f37..000000000000 --- a/tests/scripts/task_demo_microtvm.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/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 -# 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 -euxo pipefail - -# Skip this script for now. -exit 0 diff --git a/tests/scripts/task_microtvm_cpp_tests.sh b/tests/scripts/task_microtvm_cpp_tests.sh deleted file mode 100755 index 4c1284d885cf..000000000000 --- a/tests/scripts/task_microtvm_cpp_tests.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/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 -# 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 -euxo pipefail - -BUILD_DIR=$1 -# Keep this script to pass the CI. diff --git a/tests/scripts/task_python_frontend.sh b/tests/scripts/task_python_frontend.sh deleted file mode 100755 index 22d9d9ee22db..000000000000 --- a/tests/scripts/task_python_frontend.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/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 -# 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 -euxo pipefail - -source tests/scripts/setup-pytest-env.sh -# to avoid openblas threading error -export TVM_BIND_THREADS=0 -export OMP_NUM_THREADS=1 - -export TVM_TEST_TARGETS="llvm;cuda" - -# TODO(Siyuan): Keep this file for passing CI diff --git a/tests/scripts/task_python_frontend_cpu.sh b/tests/scripts/task_python_frontend_cpu.sh deleted file mode 100755 index 73f21c3c924b..000000000000 --- a/tests/scripts/task_python_frontend_cpu.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/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 -# 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. - -# Test frontends that only need CPU resources -set -euxo pipefail - -source tests/scripts/setup-pytest-env.sh -# to avoid openblas threading error -export TVM_BIND_THREADS=0 -export OMP_NUM_THREADS=1 - -export TVM_TEST_TARGETS="llvm" - -# TODO(Siyuan): Keep this file for passing CI diff --git a/tests/scripts/task_python_microtvm.sh b/tests/scripts/task_python_microtvm.sh deleted file mode 100755 index faa9e13e927b..000000000000 --- a/tests/scripts/task_python_microtvm.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/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 -# 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 -euxo pipefail - -# TODO: Remove this once we have a way to run microTVM tests. -exit 0 diff --git a/tests/scripts/task_riscv_microtvm.sh b/tests/scripts/task_riscv_microtvm.sh deleted file mode 100755 index 552ddcb56f37..000000000000 --- a/tests/scripts/task_riscv_microtvm.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/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 -# 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 -euxo pipefail - -# Skip this script for now. -exit 0