[zorg] r324023 - [buildbot] Updated CUDA buildbot config.

Artem Belevich via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 1 14:28:35 PST 2018


Author: tra
Date: Thu Feb  1 14:28:35 2018
New Revision: 324023

URL: http://llvm.org/viewvc/llvm-project?rev=324023&view=rev
Log:
[buildbot] Updated CUDA buildbot config.

* use default clang version for builds.
* build tests for sm_35 and sm_61
* run tests on multiple GPUS
* Run tests per each GPU specified in gpu_devices
  with only that GPU visible. This way tests don't have to
  implement any loop-over-all-visible-GPUs logic.

Differential Revision: https://reviews.llvm.org/D42814

Modified:
    zorg/trunk/buildbot/osuosl/master/config/builders.py
    zorg/trunk/zorg/buildbot/builders/CUDATestsuiteBuilder.py

Modified: zorg/trunk/buildbot/osuosl/master/config/builders.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/osuosl/master/config/builders.py?rev=324023&r1=324022&r2=324023&view=diff
==============================================================================
--- zorg/trunk/buildbot/osuosl/master/config/builders.py (original)
+++ zorg/trunk/buildbot/osuosl/master/config/builders.py Thu Feb  1 14:28:35 2018
@@ -1375,12 +1375,12 @@ def _get_experimental_scheduled_builders
                      stage1_config='Release',
                      extra_cmake_args=[
                          '-DLLVM_ENABLE_ASSERTIONS=ON',
-                         "-DCMAKE_C_COMPILER:FILEPATH=/usr/bin/clang-3.8",
-                         "-DCMAKE_CXX_COMPILER:FILEPATH=/usr/bin/clang++-3.8"
+                         "-DCMAKE_C_COMPILER:FILEPATH=/usr/bin/clang",
+                         "-DCMAKE_CXX_COMPILER:FILEPATH=/usr/bin/clang"
                      ],
                      externals="/home/botanist/bots/externals",
-                     gpu_arch_list=["sm_35"],
-                     gpu_devices=[0],   # K40c.
+                     gpu_arch_list=["sm_35", "sm_61"],
+                     gpu_devices=[2, 0], # K40c(sm_35), GTX1070(sm_61)
                      extra_ts_cmake_args=[],
                      enable_thrust_tests=False,
          ),

Modified: zorg/trunk/zorg/buildbot/builders/CUDATestsuiteBuilder.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/builders/CUDATestsuiteBuilder.py?rev=324023&r1=324022&r2=324023&view=diff
==============================================================================
--- zorg/trunk/zorg/buildbot/builders/CUDATestsuiteBuilder.py (original)
+++ zorg/trunk/zorg/buildbot/builders/CUDATestsuiteBuilder.py Thu Feb  1 14:28:35 2018
@@ -75,12 +75,7 @@ def getCUDATestsuiteBuildFactory(
         'PATH': WithProperties("%(workdir)s/" + clang_build_dir +
                                "/bin:${PATH}"),
     }
-    # Limit GPUs visible to CUDA.
-    if gpu_devices:
-        cuda_test_env["CUDA_VISIBLE_DEVICES"] = ",".join(
-            str(x) for x in gpu_devices)
     merged_env.update(cuda_test_env)
-
     ts_build_dir = 'test-suite-build'
 
     # Completely remove test suite build dir.
@@ -147,15 +142,32 @@ def getCUDATestsuiteBuildFactory(
         workdir=ts_build_dir,
         env=merged_env))
 
-    f.addStep(NinjaCommand(
-        name='run simple CUDA tests',
-        targets=["check-cuda-simple"],
-        jobs=1, # lit will parallelize the jobs
-        haltOnFailure=True,
-        description=["Running simple CUDA tests"],
-        descriptionDone=["simple CUDA tests done."],
-        workdir=ts_build_dir,
-        env=merged_env))
+    # Limit GPUs visible to CUDA.
+    if gpu_devices:
+        for gpu_id in gpu_devices:
+            # make ID a string as it may be either an integer or a UUID string.
+            gpu_id = str(gpu_id)
+            gpu_env = dict(merged_env)
+            gpu_env["CUDA_VISIBLE_DEVICES"] = gpu_id
+            f.addStep(NinjaCommand(
+                name='run simple CUDA tests on gpu %s' % gpu_id,
+                targets=["check-cuda-simple"],
+                jobs=1, # lit will parallelize the jobs
+                haltOnFailure=True,
+                description=["Running simple CUDA tests on GPU %s" % gpu_id],
+                descriptionDone=["simple CUDA tests on GPU %s done." % gpu_id],
+                workdir=ts_build_dir,
+                env=gpu_env))
+    else:
+        f.addStep(NinjaCommand(
+            name='run simple CUDA tests',
+            targets=["check-cuda-simple"],
+            jobs=1, # lit will parallelize the jobs
+            haltOnFailure=True,
+            description=["Running simple CUDA tests"],
+            descriptionDone=["simple CUDA tests done."],
+            workdir=ts_build_dir,
+            env=merged_env))
 
     # If we've enabled thrust tests, build them now.
     # WARNING: This takes a lot of time to build.




More information about the llvm-commits mailing list