Commit: 08ebd728511ba7a3d9eaca728a3c015bf84a75ce
Author: Sergey Sharybin
Date:   Tue Aug 2 15:32:03 2016 +0200
Branches: master
https://developer.blender.org/rB08ebd728511ba7a3d9eaca728a3c015bf84a75ce

Buildbot: Use annoying hybrid setup of two CUDA toolkits

This is for until we'll solve issues with toolkit 8.0.

===================================================================

M       build_files/buildbot/slave_compile.py
M       intern/cycles/kernel/CMakeLists.txt

===================================================================

diff --git a/build_files/buildbot/slave_compile.py 
b/build_files/buildbot/slave_compile.py
index 127d58c..d763ddf 100644
--- a/build_files/buildbot/slave_compile.py
+++ b/build_files/buildbot/slave_compile.py
@@ -73,6 +73,7 @@ if 'cmake' in builder:
         if builder.endswith('x86_64_10_6_cmake'):
             
cmake_extra_options.append('-DCMAKE_OSX_ARCHITECTURES:STRING=x86_64')
         
cmake_extra_options.append('-DCUDA_NVCC_EXECUTABLE=/usr/local/cuda-hack/bin/nvcc')
+        
cmake_extra_options.append('-DCUDA_NVCC8_EXECUTABLE=/usr/local/cuda8-hack/bin/nvcc')
 
     elif builder.startswith('win'):
         if builder.endswith('_vc2015'):
@@ -89,6 +90,8 @@ if 'cmake' in builder:
             elif builder.startswith('win32'):
                 bits = 32
                 cmake_options.extend(['-G', 'Visual Studio 12 2013'])
+        cmake_extra_options.append('-DCUDA_NVCC_EXECUTABLE:FILEPATH=C:/Program 
Files/NVIDIA GPU Computing Toolkit/CUDA/v7.5/bin/nvcc.exe')
+        
cmake_extra_options.append('-DCUDA_NVCC8_EXECUTABLE:FILEPATH=C:/Program 
Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0/bin/nvcc.exe')
 
     elif builder.startswith('linux'):
         tokens = builder.split("_")
@@ -108,6 +111,9 @@ if 'cmake' in builder:
             cuda_chroot_name = 'buildbot_' + deb_name + '_x86_64'
             targets = ['player', 'blender', 'cuda']
 
+        
cmake_extra_options.append('-DCUDA_NVCC_EXECUTABLE=/usr/local/cuda-7.5/bin/nvcc')
+        
cmake_extra_options.append('-DCUDA_NVCC8_EXECUTABLE=/usr/local/cuda-8.0/bin/nvcc')
+
     cmake_options.append("-C" + os.path.join(blender_dir, cmake_config_file))
 
     # Prepare CMake options needed to configure cuda binaries compilation.
diff --git a/intern/cycles/kernel/CMakeLists.txt 
b/intern/cycles/kernel/CMakeLists.txt
index c0b5855..42298a0 100644
--- a/intern/cycles/kernel/CMakeLists.txt
+++ b/intern/cycles/kernel/CMakeLists.txt
@@ -244,12 +244,20 @@ if(WITH_CYCLES_CUDA_BINARIES)
                        set(cuda_debug_flags "")
                endif()
 
-               set(cuda_version_flags 
"-D__KERNEL_CUDA_VERSION__=${CUDA_VERSION}")
+               set(cuda_nvcc_command ${CUDA_NVCC_EXECUTABLE})
+               set(cuda_nvcc_version ${CUDA_VERSION})
+
+               if(DEFINED CUDA_NVCC8_EXECUTABLE  AND ((${arch} STREQUAL 
"sm_60") OR (${arch} STREQUAL "sm_61")))
+                       set(cuda_nvcc_command ${CUDA_NVCC8_EXECUTABLE})
+                       set(cuda_nvcc_version "80")
+               endif()
+
+               set(cuda_version_flags 
"-D__KERNEL_CUDA_VERSION__=${cuda_nvcc_version}")
                set(cuda_math_flags "--use_fast_math")
 
                add_custom_command(
                        OUTPUT ${cuda_cubin}
-                       COMMAND ${CUDA_NVCC_EXECUTABLE}
+                       COMMAND ${cuda_nvcc_command}
                                        -arch=${arch}
                                        ${CUDA_NVCC_FLAGS}
                                        -m${CUDA_BITS}
@@ -266,7 +274,6 @@ if(WITH_CYCLES_CUDA_BINARIES)
                                        -DCCL_NAMESPACE_BEGIN=
                                        -DCCL_NAMESPACE_END=
                                        -DNVCC
-
                        DEPENDS ${cuda_sources})
 
                delayed_install("${CMAKE_CURRENT_BINARY_DIR}" "${cuda_cubin}" 
${CYCLES_INSTALL_PATH}/lib)
@@ -274,6 +281,9 @@ if(WITH_CYCLES_CUDA_BINARIES)
 
                unset(cuda_extra_flags)
                unset(cuda_debug_flags)
+
+               unset(cuda_nvcc_command)
+               unset(cuda_nvcc_version)
        endmacro()
 
        foreach(arch ${CYCLES_CUDA_BINARIES_ARCH})

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to