diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-01-10 12:01:19 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-01-10 12:01:19 +0400 |
commit | 2a43380dedd2aec7d5cb0260448e894c22da04fb (patch) | |
tree | c63157c0878431b8070d8a404e306fa23ace6115 /build_files/buildbot | |
parent | 35d0e99299cc653c9064026ccbb2b2453483c515 (diff) |
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.
Diffstat (limited to 'build_files/buildbot')
7 files changed, 47 insertions, 20 deletions
diff --git a/build_files/buildbot/config/user-config-cuda-glibc211-i686.py b/build_files/buildbot/config/user-config-cuda-glibc211-i686.py new file mode 100644 index 00000000000..16733be5a48 --- /dev/null +++ b/build_files/buildbot/config/user-config-cuda-glibc211-i686.py @@ -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'] diff --git a/build_files/buildbot/config/user-config-cuda-glibc211-x86_64.py b/build_files/buildbot/config/user-config-cuda-glibc211-x86_64.py new file mode 100644 index 00000000000..60afeccae49 --- /dev/null +++ b/build_files/buildbot/config/user-config-cuda-glibc211-x86_64.py @@ -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'] diff --git a/build_files/buildbot/config/user-config-glibc211-i686.py b/build_files/buildbot/config/user-config-glibc211-i686.py index 149a01433a6..56eedc3203b 100644 --- a/build_files/buildbot/config/user-config-glibc211-i686.py +++ b/build_files/buildbot/config/user-config-glibc211-i686.py @@ -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 @@ BF_JACK_LIB_STATIC = '${BF_ZLIB}/lib/libjack.a' # 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 diff --git a/build_files/buildbot/config/user-config-glibc211-x86_64.py b/build_files/buildbot/config/user-config-glibc211-x86_64.py index 0fae7f0cdb3..ab3efedfb86 100644 --- a/build_files/buildbot/config/user-config-glibc211-x86_64.py +++ b/build_files/buildbot/config/user-config-glibc211-x86_64.py @@ -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 @@ BF_JACK_LIB_STATIC = '${BF_ZLIB}/lib/libjack.a' # 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 diff --git a/build_files/buildbot/config/user-config-player-glibc211-i686.py b/build_files/buildbot/config/user-config-player-glibc211-i686.py index 37fe511fac8..a99337f03e6 100644 --- a/build_files/buildbot/config/user-config-player-glibc211-i686.py +++ b/build_files/buildbot/config/user-config-player-glibc211-i686.py @@ -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' diff --git a/build_files/buildbot/config/user-config-player-glibc211-x86_64.py b/build_files/buildbot/config/user-config-player-glibc211-x86_64.py index 8f51c5ad8be..c17cff2893d 100644 --- a/build_files/buildbot/config/user-config-player-glibc211-x86_64.py +++ b/build_files/buildbot/config/user-config-player-glibc211-x86_64.py @@ -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' diff --git a/build_files/buildbot/slave_compile.py b/build_files/buildbot/slave_compile.py index fa933a84841..b66a09afe25 100644 --- a/build_files/buildbot/slave_compile.py +++ b/build_files/buildbot/slave_compile.py @@ -60,6 +60,26 @@ else: 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 @@ else: 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 @@ else: scons_options += common_options - if config.find('player') == -1: - scons_options.append('blender') - else: + 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') + 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) |