Scons/CUDA
authorThomas Dinges <blender@dingto.org>
Thu, 8 Dec 2011 19:16:43 +0000 (19:16 +0000)
committerThomas Dinges <blender@dingto.org>
Thu, 8 Dec 2011 19:16:43 +0000 (19:16 +0000)
* Added missing bitness info to the nvcc_flags.
This makes sure that the nvcc compiler builds the correct cubins.

SConstruct
build_files/scons/tools/Blender.py
intern/cycles/kernel/SConscript

index fd99933e976b636305a46121bef6b3b61a47ae4e..0bd7dc7044642432134ca2308bde8f38dfddbb35 100644 (file)
@@ -119,6 +119,12 @@ tempbitness = int(B.arguments.get('BF_BITNESS', bitness)) # default to bitness f
 if tempbitness in (32, 64): # only set if 32 or 64 has been given
     bitness = int(tempbitness)
 
+if bitness:
+    B.bitness = bitness
+else: 
+    B.bitness = tempbitness
+    
+
 # first check cmdline for toolset and we create env to work on
 quickie = B.arguments.get('BF_QUICK', None)
 quickdebug = B.arguments.get('BF_QUICKDEBUG', None)
index 8e431d8f43c8ef9329e513339fa8e15c39c286c8..e9195fe207de47abf5d3dc466a4d6e87c7ed70a9 100644 (file)
@@ -50,6 +50,7 @@ program_list = [] # A list holding Nodes to final binaries, used to create insta
 arguments = None
 targets = None
 resources = []
+bitness = 0
 
 #some internals
 blenderdeps = [] # don't manipulate this one outside this module!
index eb99680efe4eb8a2516da085520f2857e76eb889..be3c37b476c14b5a5aaa713917f369aac8ef9f8d 100644 (file)
@@ -1,6 +1,7 @@
 #!/usr/bin/python
 import sys
 import os
+import Blender as B
 
 def normpath(path):
     return os.path.abspath(os.path.normpath(path))
@@ -9,6 +10,12 @@ Import ('env')
 
 kernel_binaries = []
 
+#Bitness
+if B.bitness == 32:
+    bits = 32
+else:
+    bits = 64
+
 if env['WITH_BF_CYCLES_CUDA_BINARIES']:
     kernel = env.Clone()
 
@@ -27,7 +34,8 @@ if env['WITH_BF_CYCLES_CUDA_BINARIES']:
     svm_dir = os.path.join(source_dir, "../svm")
 
     # nvcc flags
-    nvcc_flags = "--cubin -use_fast_math --ptxas-options=\"-v\" --maxrregcount=24"
+    nvcc_flags = "-m%s" % (bits)
+    nvcc_flags += " --cubin -use_fast_math --ptxas-options=\"-v\" --maxrregcount=24"
     nvcc_flags += " --opencc-options -OPT:Olimit=0"
     nvcc_flags += " -DCCL_NAMESPACE_BEGIN= -DCCL_NAMESPACE_END= -DNVCC"
     nvcc_flags += " -I \"%s\" -I \"%s\"" % (util_dir, svm_dir)