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/slave_compile.py | |
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/slave_compile.py')
-rw-r--r-- | build_files/buildbot/slave_compile.py | 41 |
1 files changed, 29 insertions, 12 deletions
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) |