[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [53695] trunk/blender: Switch linux buildbot to compile all cuda kernels in 64bit environment

Sergey Sharybin sergey.vfx at gmail.com
Thu Jan 10 09:01:20 CET 2013


Revision: 53695
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53695
Author:   nazgul
Date:     2013-01-10 08:01:19 +0000 (Thu, 10 Jan 2013)
Log Message:
-----------
Switch linux buildbot to compile all cuda kernels in 64bit environment

Solves memory limit issues when building sm_13 for 32bit platform.

Some further refinement of patch could be needed.

Modified Paths:
--------------
    trunk/blender/SConstruct
    trunk/blender/build_files/buildbot/config/user-config-glibc211-i686.py
    trunk/blender/build_files/buildbot/config/user-config-glibc211-x86_64.py
    trunk/blender/build_files/buildbot/config/user-config-player-glibc211-i686.py
    trunk/blender/build_files/buildbot/config/user-config-player-glibc211-x86_64.py
    trunk/blender/build_files/buildbot/slave_compile.py

Added Paths:
-----------
    trunk/blender/build_files/buildbot/config/user-config-cuda-glibc211-i686.py
    trunk/blender/build_files/buildbot/config/user-config-cuda-glibc211-x86_64.py

Modified: trunk/blender/SConstruct
===================================================================
--- trunk/blender/SConstruct	2013-01-10 08:01:07 UTC (rev 53694)
+++ trunk/blender/SConstruct	2013-01-10 08:01:19 UTC (rev 53695)
@@ -276,7 +276,9 @@
             env[k] = v
 
 if 'cudakernels' in B.targets:
+    env['WITH_BF_CYCLES'] = True
     env['WITH_BF_CYCLES_CUDA_BINARIES'] = True
+    env['WITH_BF_PYTHON'] = False
 
 # Extended OSX_SDK and 3D_CONNEXION_CLIENT_LIBRARY and JAckOSX detection for OSX
 if env['OURPLATFORM']=='darwin':

Added: trunk/blender/build_files/buildbot/config/user-config-cuda-glibc211-i686.py
===================================================================
--- trunk/blender/build_files/buildbot/config/user-config-cuda-glibc211-i686.py	                        (rev 0)
+++ trunk/blender/build_files/buildbot/config/user-config-cuda-glibc211-i686.py	2013-01-10 08:01:19 UTC (rev 53695)
@@ -0,0 +1,6 @@
+BF_BUILDDIR = '../blender-build/linux-glibc211-i686'
+BF_INSTALLDIR = '../blender-install/linux-glibc211-i686'
+BF_NUMJOBS = 1
+BF_BITNESS = 32
+
+BF_CYCLES_CUDA_BINARIES_ARCH = ['sm_13', 'sm_20', 'sm_21', 'sm_30']

Added: trunk/blender/build_files/buildbot/config/user-config-cuda-glibc211-x86_64.py
===================================================================
--- trunk/blender/build_files/buildbot/config/user-config-cuda-glibc211-x86_64.py	                        (rev 0)
+++ trunk/blender/build_files/buildbot/config/user-config-cuda-glibc211-x86_64.py	2013-01-10 08:01:19 UTC (rev 53695)
@@ -0,0 +1,6 @@
+BF_BUILDDIR = '../blender-build/linux-glibc211-x86_64'
+BF_INSTALLDIR = '../blender-install/linux-glibc211-x86_64'
+BF_NUMJOBS = 1
+BF_BITNESS = 64
+
+BF_CYCLES_CUDA_BINARIES_ARCH = ['sm_13', 'sm_20', 'sm_21', 'sm_30']

Modified: trunk/blender/build_files/buildbot/config/user-config-glibc211-i686.py
===================================================================
--- trunk/blender/build_files/buildbot/config/user-config-glibc211-i686.py	2013-01-10 08:01:07 UTC (rev 53694)
+++ trunk/blender/build_files/buildbot/config/user-config-glibc211-i686.py	2013-01-10 08:01:19 UTC (rev 53695)
@@ -1,6 +1,6 @@
 BF_BUILDDIR = '../blender-build/linux-glibc211-i686'
 BF_INSTALLDIR = '../blender-install/linux-glibc211-i686'
-BF_NUMJOBS = 2
+BF_NUMJOBS = 4
 
 # Python configuration
 BF_PYTHON_VERSION = '3.3'
@@ -109,8 +109,7 @@
 
 # Cycles
 WITH_BF_CYCLES = True
-WITH_BF_CYCLES_CUDA_BINARIES = True
-BF_CYCLES_CUDA_BINARIES_ARCH = ['sm_13', 'sm_20', 'sm_21', 'sm_30']
+WITH_BF_CYCLES_CUDA_BINARIES = False
 
 WITH_BF_OIIO = True
 WITH_BF_STATICOIIO = True

Modified: trunk/blender/build_files/buildbot/config/user-config-glibc211-x86_64.py
===================================================================
--- trunk/blender/build_files/buildbot/config/user-config-glibc211-x86_64.py	2013-01-10 08:01:07 UTC (rev 53694)
+++ trunk/blender/build_files/buildbot/config/user-config-glibc211-x86_64.py	2013-01-10 08:01:19 UTC (rev 53695)
@@ -1,6 +1,6 @@
 BF_BUILDDIR = '../blender-build/linux-glibc211-x86_64'
 BF_INSTALLDIR = '../blender-install/linux-glibc211-x86_64'
-BF_NUMJOBS = 2
+BF_NUMJOBS = 4
 
 # Python configuration
 BF_PYTHON_VERSION = '3.3'
@@ -109,8 +109,7 @@
 
 # Cycles
 WITH_BF_CYCLES = True
-WITH_BF_CYCLES_CUDA_BINARIES = True
-BF_CYCLES_CUDA_BINARIES_ARCH = ['sm_13', 'sm_20', 'sm_21', 'sm_30']
+WITH_BF_CYCLES_CUDA_BINARIES = False
 
 WITH_BF_OIIO = True
 WITH_BF_STATICOIIO = True

Modified: trunk/blender/build_files/buildbot/config/user-config-player-glibc211-i686.py
===================================================================
--- trunk/blender/build_files/buildbot/config/user-config-player-glibc211-i686.py	2013-01-10 08:01:07 UTC (rev 53694)
+++ trunk/blender/build_files/buildbot/config/user-config-player-glibc211-i686.py	2013-01-10 08:01:19 UTC (rev 53695)
@@ -1,6 +1,6 @@
 BF_BUILDDIR = '../blender-build/linux-glibc211-i686'
 BF_INSTALLDIR = '../blender-install/linux-glibc211-i686'
-BF_NUMJOBS = 2
+BF_NUMJOBS = 4
 
 # Python configuration
 BF_PYTHON_VERSION = '3.3'

Modified: trunk/blender/build_files/buildbot/config/user-config-player-glibc211-x86_64.py
===================================================================
--- trunk/blender/build_files/buildbot/config/user-config-player-glibc211-x86_64.py	2013-01-10 08:01:07 UTC (rev 53694)
+++ trunk/blender/build_files/buildbot/config/user-config-player-glibc211-x86_64.py	2013-01-10 08:01:19 UTC (rev 53695)
@@ -1,6 +1,6 @@
 BF_BUILDDIR = '../blender-build/linux-glibc211-x86_64'
 BF_INSTALLDIR = '../blender-install/linux-glibc211-x86_64'
-BF_NUMJOBS = 2
+BF_NUMJOBS = 4
 
 # Python configuration
 BF_PYTHON_VERSION = '3.3'

Modified: trunk/blender/build_files/buildbot/slave_compile.py
===================================================================
--- trunk/blender/build_files/buildbot/slave_compile.py	2013-01-10 08:01:07 UTC (rev 53694)
+++ trunk/blender/build_files/buildbot/slave_compile.py	2013-01-10 08:01:19 UTC (rev 53695)
@@ -60,6 +60,26 @@
     if builder.find('linux') != -1:
         import shutil
 
+        configs = []
+        if builder.endswith('linux_glibc211_x86_64_scons'):
+            configs = ['user-config-player-glibc211-x86_64.py',
+                       'user-config-cuda-glibc211-x86_64.py',
+                       'user-config-glibc211-x86_64.py']
+            chroot_name = 'buildbot_squeeze_x86_64'
+            cuda_chroot = 'buildbot_squeeze_x86_64'
+        elif builder.endswith('linux_glibc211_i386_scons'):
+            configs = ['user-config-player-glibc211-i686.py',
+                       'user-config-cuda-glibc211-i686.py',
+                       'user-config-glibc211-i686.py']
+            chroot_name = 'buildbot_squeeze_i686'
+
+            # use 64bit cuda toolkit, so there'll be no memory limit issues
+            cuda_chroot = 'buildbot_squeeze_x86_64'
+
+        # Compilation will happen inside of chroot environment
+        prog_scons_cmd = ['schroot', '-c', chroot_name] + scons_cmd
+        cuda_scons_cmd = ['schroot', '-c', cuda_chroot] + scons_cmd
+
         # We're using the same rules as release builder, so tweak
         # build and install dirs
         build_dir = os.path.join('..', 'build', builder)
@@ -74,14 +94,6 @@
         buildbot_dir = os.path.dirname(os.path.realpath(__file__))
         config_dir = os.path.join(buildbot_dir, 'config')
 
-        configs = []
-        if builder.endswith('linux_glibc211_x86_64_scons'):
-            configs = ['user-config-player-glibc211-x86_64.py',
-                       'user-config-glibc211-x86_64.py']
-        elif builder.endswith('linux_glibc211_i386_scons'):
-            configs = ['user-config-player-glibc211-i686.py',
-                       'user-config-glibc211-i686.py']
-
         for config in configs:
             config_fpath = os.path.join(config_dir, config)
 
@@ -94,14 +106,19 @@
 
             scons_options += common_options
 
-            if config.find('player') == -1:
+            if config.find('player') != -1:
+                scons_options.append('blenderplayer')
+                cur_scons_cmd = prog_scons_cmd
+            elif config.find('cuda') != -1:
+                scons_options.append('cudakernels')
+                cur_scons_cmd = cuda_scons_cmd
+            else:
                 scons_options.append('blender')
-            else:
-                scons_options.append('blenderplayer')
+                cur_scons_cmd = prog_scons_cmd
 
             scons_options.append('BF_CONFIG=' + config_fpath)
 
-            retcode = subprocess.call(scons_cmd + scons_options)
+            retcode = subprocess.call(cur_scons_cmd + scons_options)
             if retcode != 0:
                 print('Error building rules wuth config ' + config)
                 sys.exit(retcode)




More information about the Bf-blender-cvs mailing list