Skip to content
Snippets Groups Projects
Commit 2a43380d authored by Sergey Sharybin's avatar Sergey Sharybin
Browse files

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.
parent 35d0e992
Branches
Tags
No related merge requests found
...@@ -276,7 +276,9 @@ if 'blenderlite' in B.targets: ...@@ -276,7 +276,9 @@ if 'blenderlite' in B.targets:
env[k] = v env[k] = v
if 'cudakernels' in B.targets: if 'cudakernels' in B.targets:
env['WITH_BF_CYCLES'] = True
env['WITH_BF_CYCLES_CUDA_BINARIES'] = 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 # Extended OSX_SDK and 3D_CONNEXION_CLIENT_LIBRARY and JAckOSX detection for OSX
if env['OURPLATFORM']=='darwin': if env['OURPLATFORM']=='darwin':
......
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']
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']
BF_BUILDDIR = '../blender-build/linux-glibc211-i686' BF_BUILDDIR = '../blender-build/linux-glibc211-i686'
BF_INSTALLDIR = '../blender-install/linux-glibc211-i686' BF_INSTALLDIR = '../blender-install/linux-glibc211-i686'
BF_NUMJOBS = 2 BF_NUMJOBS = 4
# Python configuration # Python configuration
BF_PYTHON_VERSION = '3.3' BF_PYTHON_VERSION = '3.3'
...@@ -109,8 +109,7 @@ BF_JACK_LIB_STATIC = '${BF_ZLIB}/lib/libjack.a' ...@@ -109,8 +109,7 @@ BF_JACK_LIB_STATIC = '${BF_ZLIB}/lib/libjack.a'
# Cycles # Cycles
WITH_BF_CYCLES = True WITH_BF_CYCLES = True
WITH_BF_CYCLES_CUDA_BINARIES = True WITH_BF_CYCLES_CUDA_BINARIES = False
BF_CYCLES_CUDA_BINARIES_ARCH = ['sm_13', 'sm_20', 'sm_21', 'sm_30']
WITH_BF_OIIO = True WITH_BF_OIIO = True
WITH_BF_STATICOIIO = True WITH_BF_STATICOIIO = True
......
BF_BUILDDIR = '../blender-build/linux-glibc211-x86_64' BF_BUILDDIR = '../blender-build/linux-glibc211-x86_64'
BF_INSTALLDIR = '../blender-install/linux-glibc211-x86_64' BF_INSTALLDIR = '../blender-install/linux-glibc211-x86_64'
BF_NUMJOBS = 2 BF_NUMJOBS = 4
# Python configuration # Python configuration
BF_PYTHON_VERSION = '3.3' BF_PYTHON_VERSION = '3.3'
...@@ -109,8 +109,7 @@ BF_JACK_LIB_STATIC = '${BF_ZLIB}/lib/libjack.a' ...@@ -109,8 +109,7 @@ BF_JACK_LIB_STATIC = '${BF_ZLIB}/lib/libjack.a'
# Cycles # Cycles
WITH_BF_CYCLES = True WITH_BF_CYCLES = True
WITH_BF_CYCLES_CUDA_BINARIES = True WITH_BF_CYCLES_CUDA_BINARIES = False
BF_CYCLES_CUDA_BINARIES_ARCH = ['sm_13', 'sm_20', 'sm_21', 'sm_30']
WITH_BF_OIIO = True WITH_BF_OIIO = True
WITH_BF_STATICOIIO = True WITH_BF_STATICOIIO = True
......
BF_BUILDDIR = '../blender-build/linux-glibc211-i686' BF_BUILDDIR = '../blender-build/linux-glibc211-i686'
BF_INSTALLDIR = '../blender-install/linux-glibc211-i686' BF_INSTALLDIR = '../blender-install/linux-glibc211-i686'
BF_NUMJOBS = 2 BF_NUMJOBS = 4
# Python configuration # Python configuration
BF_PYTHON_VERSION = '3.3' BF_PYTHON_VERSION = '3.3'
......
BF_BUILDDIR = '../blender-build/linux-glibc211-x86_64' BF_BUILDDIR = '../blender-build/linux-glibc211-x86_64'
BF_INSTALLDIR = '../blender-install/linux-glibc211-x86_64' BF_INSTALLDIR = '../blender-install/linux-glibc211-x86_64'
BF_NUMJOBS = 2 BF_NUMJOBS = 4
# Python configuration # Python configuration
BF_PYTHON_VERSION = '3.3' BF_PYTHON_VERSION = '3.3'
......
...@@ -60,6 +60,26 @@ else: ...@@ -60,6 +60,26 @@ else:
if builder.find('linux') != -1: if builder.find('linux') != -1:
import shutil 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 # We're using the same rules as release builder, so tweak
# build and install dirs # build and install dirs
build_dir = os.path.join('..', 'build', builder) build_dir = os.path.join('..', 'build', builder)
...@@ -74,14 +94,6 @@ else: ...@@ -74,14 +94,6 @@ else:
buildbot_dir = os.path.dirname(os.path.realpath(__file__)) buildbot_dir = os.path.dirname(os.path.realpath(__file__))
config_dir = os.path.join(buildbot_dir, 'config') 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: for config in configs:
config_fpath = os.path.join(config_dir, config) config_fpath = os.path.join(config_dir, config)
...@@ -94,14 +106,19 @@ else: ...@@ -94,14 +106,19 @@ else:
scons_options += common_options scons_options += common_options
if config.find('player') == -1: if config.find('player') != -1:
scons_options.append('blender')
else:
scons_options.append('blenderplayer') 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) 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: if retcode != 0:
print('Error building rules wuth config ' + config) print('Error building rules wuth config ' + config)
sys.exit(retcode) sys.exit(retcode)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment