CUDA内核编译失败

水晶

我安装了geforce 1070,ubuntu-studio 16.10,并安装了CUDA 8(来自此处:https//developer.nvidia.com/cuda-toolkit)。我还安装了g ++ 5并进行了符号链接

ln -s / usr / bin / gcc-5 / usr / local / cuda / bin / gcc

但是,当我尝试在Blender中渲染模型时,在“编译CUDA内核”之后收到一堆消息。所有日志(从控制台运行)

crystal@ustudio:~$ blender
connect failed: No such file or directory
Read new prefs: /home/crystal/.config/blender/2.77/config/userpref.blend
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock
AL lib: (WW) ALCjackBackendFactory_init: jack_client_open() failed, 0x11
AL lib: (WW) alc_initconfig: Failed to initialize backend "jack"
read blend: /home/crystal/Downloads/BMW27.blend
skipping driver '-90*brake', automatic scripts are disabled
skipping driver '100*power', automatic scripts are disabled
skipping driver '90*brake', automatic scripts are disabled
skipping driver '-100*power', automatic scripts are disabled
skipping driver '100*power', automatic scripts are disabled
skipping driver '-90*brake', automatic scripts are disabled
skipping driver '90*brake', automatic scripts are disabled
skipping driver '-100*power', automatic scripts are disabled
skipping driver '-90*brake', automatic scripts are disabled
skipping driver '100*power', automatic scripts are disabled
skipping driver '-100*power', automatic scripts are disabled
skipping driver '90*brake', automatic scripts are disabled
skipping driver '100*power', automatic scripts are disabled
skipping driver '-100*power', automatic scripts are disabled
skipping driver '90*brake', automatic scripts are disabled
skipping driver '-90*brake', automatic scripts are disabled
skipping driver '100*power', automatic scripts are disabled
skipping driver '-90*brake', automatic scripts are disabled
skipping driver '-100*power', automatic scripts are disabled
skipping driver '90*brake', automatic scripts are disabled
skipping driver '100*power', automatic scripts are disabled
skipping driver '90*brake', automatic scripts are disabled
skipping driver '-100*power', automatic scripts are disabled
skipping driver '-90*brake', automatic scripts are disabled
CUDA version 8.0 detected, build may succeed but only CUDA 7.5 is officially supported.
Compiling CUDA kernel ...
"/usr/local/cuda/bin/nvcc" -arch=sm_61 -m64 --cubin "/usr/share/blender/scripts/addons/cycles/kernel/kernels/cuda/kernel.cu" -o "/home/crystal/.config/blender/2.77/cache/cycles_kernel_sm61_19BAB894867FFAFF2ADC00F401D5E4EB.cubin" --ptxas-options="-v" --use_fast_math -I"/usr/share/blender/scripts/addons/cycles/kernel" -DNVCC -D__KERNEL_CUDA_VERSION__=80
/usr/share/blender/scripts/addons/cycles/kernel/kernels/cuda/kernel.cu:94:2: error: #error "Unknown or unsupported CUDA architecture, can't determine launch bounds"
 #error "Unknown or unsupported CUDA architecture, can't determine launch bounds"
  ^
/usr/share/blender/scripts/addons/cycles/kernel/kernels/cuda/kernel.cu:112:87: error: division by zero in #if
 #if CUDA_MULTIPRESSOR_MAX_REGISTERS/(CUDA_THREADS_BLOCK_WIDTH*CUDA_THREADS_BLOCK_WIDTH*CUDA_KERNEL_MAX_REGISTERS) > CUDA_MULTIPROCESSOR_MAX_BLOCKS
                                                                                       ^
CUDA kernel compilation failed, see console for details.

Refer to the Cycles GPU rendering documentation for possible solutions:
http://www.blender.org/manual/render/cycles/gpu_rendering.html

skipping driver '100*power', automatic scripts are disabled
skipping driver '90*brake', automatic scripts are disabled
skipping driver '-100*power', automatic scripts are disabled
skipping driver '-90*brake', automatic scripts are disabled
Error: CUDA kernel compilation failed, see console for details.

blender --version
Blender 2.77(sub 0)

如何解决?提前致谢。

43Tesseracts

这在Blender 2.76b(Ubuntu 16.04)上为我工作

  1. 打开kernel.cu

sudo gedit /usr/share/blender/scripts/addons/cycles/kernel/kernels/cuda/kernel.cu

  1. 找到看起来像这样的行:

/* 5.0 and 5.2 */

#elif __CUDA_ARCH__ == 500 || __CUDA_ARCH__ == 520

可能会略有不同,但是应该以 #elif __CUDA_ARCH___ ==

  1. 将该行更改为: #elif __CUDA_ARCH__ >= 500

这将使Blender可以针对较新的CUDA架构进行编译。它可能无法按预期方式工作,并且您可能会在第一次运行它时(在编译时)收到警告,但不会再出现编译错误。另外,这在具有Blender 2.76b和CUDA 8.0的Ubuntu 16.04上对我有用

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章