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.
This commit is contained in:
@@ -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':
|
||||||
|
@@ -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']
|
@@ -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']
|
@@ -1,6 +1,6 @@
|
|||||||
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'
|
|||||||
|
|
||||||
# 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
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
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'
|
|||||||
|
|
||||||
# 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
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
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'
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
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:
|
|||||||
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:
|
|||||||
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:
|
|||||||
|
|
||||||
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)
|
||||||
|
Reference in New Issue
Block a user