This is an automated email from the ASF dual-hosted git repository.

tqchen pushed a commit to branch refactor
in repository https://gitbox.apache.org/repos/asf/tvm.git

commit 6a34d95c3ed2636516018db3f3075ee5a308b815
Author: tqchen <[email protected]>
AuthorDate: Sat Feb 15 09:45:13 2025 -0500

    Remove cpptest on gpu stage as it can be very slow on GPU nodes, cpptest 
should only run on cpu and test most basic stuffs
---
 ci/jenkins/generated/gpu_jenkinsfile.groovy    | 125 +++----------------------
 ci/jenkins/templates/gpu_jenkinsfile.groovy.j2 |  27 +-----
 2 files changed, 16 insertions(+), 136 deletions(-)

diff --git a/ci/jenkins/generated/gpu_jenkinsfile.groovy 
b/ci/jenkins/generated/gpu_jenkinsfile.groovy
index 89d7784705..3d3f3175c3 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-14T17:21:20.702568
+// Generated at 2025-02-15T09:43:05.709342
 
 import org.jenkinsci.plugins.pipeline.modeldefinition.Utils
 // These are set at runtime from data in ci/jenkins/docker-images.yml, update
@@ -541,7 +541,7 @@ build()
 
 
 
-def shard_run_unittest_GPU_1_of_3(node_type) {
+def shard_run_unittest_GPU_1_of_2(node_type) {
   echo 'Begin running on node_type ' + node_type
   if (!skip_ci && is_docs_only_build != 1) {
     node(node_type) {
@@ -553,38 +553,10 @@ def shard_run_unittest_GPU_1_of_3(node_type) {
           withEnv([
             'PLATFORM=gpu',
             'TEST_STEP_NAME=unittest: GPU',
-            'TVM_NUM_SHARDS=3',
+            '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}/gpu2",
-                  label: 'Download artifacts from S3',
-                )
-
-              sh "${docker_run} --no-gpu ${ci_gpu} 
./tests/scripts/task_config_build_gpu_other.sh build"
-              // These require a GPU to finish the build (i.e. CUDA needs to 
be load-able)
-              // make_cpp_tests(ci_gpu, 'build')
-              // cpp_unittest(ci_gpu)
-
-              sh "rm -rf build"
-              sh(
-                  script: "./${jenkins_scripts_root}/s3.py --action download 
--bucket ${s3_bucket} --prefix ${s3_prefix}/gpu",
-                  label: 'Download artifacts from S3',
-                )
-
-              ci_setup(ci_gpu)
-              sh "${docker_run} --no-gpu ${ci_gpu} 
./tests/scripts/task_config_build_gpu.sh build"
-              make_cpp_tests(ci_gpu, 'build')
-              cpp_unittest(ci_gpu)
-              sh (
-                script: "${docker_run} ${ci_gpu} python3 
./tests/scripts/task_build.py --sccache-bucket tvm-sccache-prod 
--sccache-region us-west-2 --cmake-target opencl-cpptest --build-dir build",
-                label: 'Make OpenCL cpp unit tests',
-              )
-              sh (
-                script: "${docker_run} ${ci_gpu} 
./tests/scripts/task_opencl_cpp_unittest.sh",
-                label: 'Run OpenCL cpp unit tests',
-              )
-              sh (
+            sh (
                 script: "${docker_run} ${ci_gpu} 
./tests/scripts/task_python_unittest_gpuonly.sh",
                 label: 'Run Python GPU unit tests',
               )
@@ -609,11 +581,11 @@ def shard_run_unittest_GPU_1_of_3(node_type) {
     }
     echo 'End running on node_type ' + node_type
   } else {
-    Utils.markStageSkippedForConditional('unittest: GPU 1 of 3')
+    Utils.markStageSkippedForConditional('unittest: GPU 1 of 2')
   }
 }
 
-def shard_run_unittest_GPU_2_of_3(node_type) {
+def shard_run_unittest_GPU_2_of_2(node_type) {
   echo 'Begin running on node_type ' + node_type
   if (!skip_ci && is_docs_only_build != 1) {
     node(node_type) {
@@ -625,16 +597,10 @@ def shard_run_unittest_GPU_2_of_3(node_type) {
           withEnv([
             'PLATFORM=gpu',
             'TEST_STEP_NAME=unittest: GPU',
-            'TVM_NUM_SHARDS=3',
+            '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}/gpu",
-                  label: 'Download artifacts from S3',
-                )
-
-              ci_setup(ci_gpu)
-              sh (
+            sh (
                 script: "${docker_run} ${ci_gpu} 
./tests/scripts/task_java_unittest.sh",
                 label: 'Run Java unit tests',
               )
@@ -663,57 +629,7 @@ def shard_run_unittest_GPU_2_of_3(node_type) {
     }
     echo 'End running on node_type ' + node_type
   } else {
-    Utils.markStageSkippedForConditional('unittest: GPU 2 of 3')
-  }
-}
-
-def shard_run_unittest_GPU_3_of_3(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/ut-python-gpu") {
-        // NOTE: if exception happens, it will be caught outside
-        init_git()
-        docker_init(ci_gpu)
-        timeout(time: max_time, unit: 'MINUTES') {
-          withEnv([
-            'PLATFORM=gpu',
-            'TEST_STEP_NAME=unittest: GPU',
-            'TVM_NUM_SHARDS=3',
-            'TVM_SHARD_INDEX=2',
-            "SKIP_SLOW_TESTS=${skip_slow_tests}"], {
-            sh(
-                  script: "./${jenkins_scripts_root}/s3.py --action download 
--bucket ${s3_bucket} --prefix ${s3_prefix}/gpu",
-                  label: 'Download artifacts from S3',
-                )
-
-              ci_setup(ci_gpu)
-              sh (
-                script: "${docker_run} ${ci_gpu} 
./tests/scripts/task_python_unittest_gpuonly.sh",
-                label: 'Run Python GPU unit tests',
-              )
-              sh (
-                script: "${docker_run} ${ci_gpu} 
./tests/scripts/task_python_integration_gpuonly.sh",
-                label: 'Run Python GPU integration 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/unittest_GPU --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('unittest: GPU 3 of 3')
+    Utils.markStageSkippedForConditional('unittest: GPU 2 of 2')
   }
 }
 
@@ -783,37 +699,26 @@ def test() {
       SKIP_SLOW_TESTS = "${skip_slow_tests}"
     }
     parallel(
-    'unittest: GPU 1 of 3': {
-      try {
-      shard_run_unittest_GPU_1_of_3('GPU-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_unittest_GPU_1_of_3('GPU')
-      }
-    },
-    'unittest: GPU 2 of 3': {
+    'unittest: GPU 1 of 2': {
       try {
-      shard_run_unittest_GPU_2_of_3('GPU-SPOT')
+      shard_run_unittest_GPU_1_of_2('GPU-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_unittest_GPU_2_of_3('GPU')
+        shard_run_unittest_GPU_1_of_2('GPU')
       }
     },
-    'unittest: GPU 3 of 3': {
+    'unittest: GPU 2 of 2': {
       try {
-      shard_run_unittest_GPU_3_of_3('GPU-SPOT')
+      shard_run_unittest_GPU_2_of_2('GPU-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_unittest_GPU_3_of_3('GPU')
+        shard_run_unittest_GPU_2_of_2('GPU')
       }
     },
     'docs: GPU 1 of 1': {
diff --git a/ci/jenkins/templates/gpu_jenkinsfile.groovy.j2 
b/ci/jenkins/templates/gpu_jenkinsfile.groovy.j2
index 0adb492b98..1d025f0160 100644
--- a/ci/jenkins/templates/gpu_jenkinsfile.groovy.j2
+++ b/ci/jenkins/templates/gpu_jenkinsfile.groovy.j2
@@ -40,37 +40,12 @@
 
 {% call(shard_index, num_shards) m.sharded_test_step(
   name="unittest: GPU",
-  num_shards=3,
+  num_shards=2,
   ws="tvm/ut-python-gpu",
   platform="gpu",
   docker_image="ci_gpu",
   test_method_names=test_method_names,
 ) %}
-  {% if shard_index == 1 %}
-  {{ m.download_artifacts(tag='gpu2') }}
-  sh "${docker_run} --no-gpu ${ci_gpu} 
./tests/scripts/task_config_build_gpu_other.sh build"
-  // These require a GPU to finish the build (i.e. CUDA needs to be load-able)
-  // make_cpp_tests(ci_gpu, 'build')
-  // cpp_unittest(ci_gpu)
-
-  sh "rm -rf build"
-  {{ m.download_artifacts(tag='gpu') }}
-  ci_setup(ci_gpu)
-  sh "${docker_run} --no-gpu ${ci_gpu} 
./tests/scripts/task_config_build_gpu.sh build"
-  make_cpp_tests(ci_gpu, 'build')
-  cpp_unittest(ci_gpu)
-  sh (
-    script: "${docker_run} ${ci_gpu} python3 ./tests/scripts/task_build.py 
--sccache-bucket tvm-sccache-prod --sccache-region us-west-2 --cmake-target 
opencl-cpptest --build-dir build",
-    label: 'Make OpenCL cpp unit tests',
-  )
-  sh (
-    script: "${docker_run} ${ci_gpu} 
./tests/scripts/task_opencl_cpp_unittest.sh",
-    label: 'Run OpenCL cpp unit tests',
-  )
-  {% else %}
-  {{ m.download_artifacts(tag='gpu') }}
-  ci_setup(ci_gpu)
-  {% endif %}
   {% if shard_index == 2 or num_shards < 2 %}
   sh (
     script: "${docker_run} ${ci_gpu} ./tests/scripts/task_java_unittest.sh",

Reply via email to