Cycles: scons cuda kernel compile now does one kernel at a time, to reduce memory
usage.
This commit is contained in:
@@ -34,6 +34,7 @@ if env['WITH_BF_CYCLES_CUDA_BINARIES']:
|
|||||||
|
|
||||||
# dependencies
|
# dependencies
|
||||||
dependencies = ['kernel.cu'] + kernel.Glob('*.h') + kernel.Glob('../util/*.h') + kernel.Glob('svm/*.h')
|
dependencies = ['kernel.cu'] + kernel.Glob('*.h') + kernel.Glob('../util/*.h') + kernel.Glob('svm/*.h')
|
||||||
|
last_cubin_file = None
|
||||||
|
|
||||||
# add command for each cuda architecture
|
# add command for each cuda architecture
|
||||||
for arch in cuda_archs:
|
for arch in cuda_archs:
|
||||||
@@ -46,5 +47,10 @@ if env['WITH_BF_CYCLES_CUDA_BINARIES']:
|
|||||||
|
|
||||||
kernel_binaries.append(cubin_file)
|
kernel_binaries.append(cubin_file)
|
||||||
|
|
||||||
|
# trick to compile one kernel at a time to reduce memory usage
|
||||||
|
if last_cubin_file:
|
||||||
|
kernel.Depends(cubin_file, last_cubin_file)
|
||||||
|
last_cubin_file = cubin_file
|
||||||
|
|
||||||
Return('kernel_binaries')
|
Return('kernel_binaries')
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user