From 08ebd728511ba7a3d9eaca728a3c015bf84a75ce Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Tue, 2 Aug 2016 15:32:03 +0200 Subject: Buildbot: Use annoying hybrid setup of two CUDA toolkits This is for until we'll solve issues with toolkit 8.0. --- build_files/buildbot/slave_compile.py | 6 ++++++ intern/cycles/kernel/CMakeLists.txt | 16 +++++++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/build_files/buildbot/slave_compile.py b/build_files/buildbot/slave_compile.py index 127d58c7f3e..d763ddfb3e0 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 c0b58558563..42298a0811d 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}) -- cgit v1.2.3