[Bf-committers] Building CUDA in blenkernel

Antony Riakiotakis kalast at gmail.com
Mon May 4 11:46:44 CEST 2015


This error is realy weird, blenkernel has nothing to do at all with
the cycles kernel. This file is sequencer related and we don't really
use CUDA. Is this a custom branch or is this master?

On 4 May 2015 at 10:11, Sergey Sharybin <sergey.vfx at gmail.com> wrote:
> Hi.
>
> It's either path to seqeffects is wrong (missing intern/ ?) or file is
> missing. In any case for such kind of help it's usually much more helpful
> to provide patch instead of describing the changes.
>
> On Sun, May 3, 2015 at 10:16 PM, John Peter Yamauchi <jpyamauchi at gmail.com>
> wrote:
>
>> Hi,
>>
>> I'm trying to build a CUDA file in the blenkernel directory.  So far when I
>> execute "make" it will print "No rule to make target
>> 'blender-git/blender/source/blender/blenkernel/seqeffects.cu', needed by
>> 'source/blender/blenkernel/kernel_sm_20.cubin'. Stop."
>>
>> I copied the cmake code from blender/intern/cycles/kernel/CMakeFiles.txt,
>> stuck it at the end of the
>> blender/source/blender/blenkernel/CMakeFiles.txt, and made some
>> adjustments:
>>
>>
>> find_package(CUDA)
>>
>> # 32 bit or 64 bit
>> if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
>>     set(CUDA_BITS 64)
>> else()
>>     set(CUDA_BITS 32)
>> endif()
>>
>> # CUDA version
>> execute_process (COMMAND ${CUDA_NVCC_EXECUTABLE} "--version"
>> OUTPUT_VARIABLE NVCC_OUT)
>> string(REGEX REPLACE ".*release ([0-9]+)\\.([0-9]+).*" "\\1"
>> CUDA_VERSION_MAJOR ${NVCC_OUT})
>> string(REGEX REPLACE ".*release ([0-9]+)\\.([0-9]+).*" "\\2"
>> CUDA_VERSION_MINOR ${NVCC_OUT})
>> set(CUDA_VERSION "${CUDA_VERSION_MAJOR}${CUDA_VERSION_MINOR}")
>>
>> # warn for other versions
>> if(CUDA_VERSION MATCHES "65")
>> else()
>>     message(WARNING
>>         "CUDA version ${CUDA_VERSION_MAJOR}.${CUDA_VERSION_MINOR} detected,
>> "
>>         "build may succeed but only CUDA 6.5 is officially supported")
>> endif()
>>
>> # build for each arch
>> set(cuda_sources seqeffects.cu ${SRC_HEADERS})
>> set(cuda_cubins)
>>
>>
>> set(cuda_extra_flags "")
>> set(cuda_cubin kernel_${arch}.cubin)
>>
>> set(cuda_debug_flags "")
>>
>> set(cuda_version_flags "-D__KERNEL_CUDA_VERSION__=${CUDA_VERSION}")
>> set(cuda_math_flags "--use_fast_math")
>>
>> add_custom_command(
>>     OUTPUT ${cuda_cubin}
>>     COMMAND ${CUDA_NVCC_EXECUTABLE}
>>         -arch=${arch}
>>         -m${CUDA_BITS}
>>         --cubin ${CMAKE_CURRENT_SOURCE_DIR}/seqeffects.cu
>>         -o ${CMAKE_CURRENT_BINARY_DIR}/${cuda_cubin}
>>         --ptxas-options="-v"
>>         ${cuda_arch_flags}
>>         ${cuda_version_flags}
>>         ${cuda_math_flags}
>>         ${cuda_extra_flags}
>>         ${cuda_debug_flags}
>>         -I${CMAKE_CURRENT_SOURCE_DIR}/../util
>>             -I${CMAKE_CURRENT_SOURCE_DIR}/svm
>>             -DCCL_NAMESPACE_BEGIN=
>>             -DCCL_NAMESPACE_END=
>>             -DNVCC
>>
>>     DEPENDS ${cuda_sources})
>>
>> list(APPEND cuda_cubins ${cuda_cubin})
>>
>> add_custom_target(vse_acceleration ALL DEPENDS ${cuda_cubins})
>>
>>
>> ## Warnings as errors, this is too strict!
>> #if(MSVC)
>> #    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX")
>> #endif()
>>
>> blender_add_lib(bf_blenkernel "${SRC}" "${INC}" "${INC_SYS}")
>>
>> add_dependencies(bf_blenkernel vse_acceleration)
>>
>>
>> What am I doing wrong?
>>
>>
>>
>> Thanks!
>>
>> jpyams
>> _______________________________________________
>> Bf-committers mailing list
>> Bf-committers at blender.org
>> http://lists.blender.org/mailman/listinfo/bf-committers
>>
>
>
>
> --
> With best regards, Sergey Sharybin
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers


More information about the Bf-committers mailing list