Blender:CUDA 内核编译失败

Blender:CUDA 内核编译失败

我尝试了另一个问题中提出的解决方案,但没有成功:CUDA内核编译失败

即:我尝试使用 sudo blender 从终端运行 blender、安装 g++5、更改 kernel.cu。但到目前为止,没有任何效果

我正在使用 Ubuntu 16.04.5 LTS 64 位

我的显卡是 GeForce GT 740M/PCIe/SSE2,运行的是 Blender 2.76

$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2015 NVIDIA Corporation    
Built on Tue_Aug_11_14:27:32_CDT_2015
Cuda compilation tools, release 7.5, V7.5.17

这是尝试编译时终端显示的内容:

bernardo@Bernardo-asus:~$ sudo blender
connect failed: No such file or directory
Read new prefs: /home/bernardo/.config/blender/2.76/config/userpref.blend
read blend: /home/bernardo/Blender/donut10.blend
CUDA version 10.0 detected, build may succeed but only CUDA 6.5 is officially supported.
Compiling CUDA kernel ...
"/usr/local/cuda/bin/nvcc" -arch=sm_30 -m64 --cubin "/usr/share/blender/scripts/addons/cycles/kernel/kernels/cuda/kernel.cu" -o "/home/bernardo/.config/blender/2.76/cache/cycles_kernel_sm30_01D31872AEE3D1F297035A84954E3182.cubin" --ptxas-options="-v" --use_fast_math -I"/usr/share/blender/scripts/addons/cycles/kernel" -DNVCC -D__KERNEL_CUDA_VERSION__=100
/usr/share/blender/scripts/addons/cycles/kernel/kernels/cuda/../../util_half.h(43): error: identifier "__float2half_rn" is undefined

1 error detected in the compilation of "/tmp/tmpxft_00001291_00000000-6_kernel.cpp1.ii".
CUDA kernel compilation failed, see console for details.

答案1

在我的计算机上,使用 Ubuntu 16.04 和 Cuda 9.2,看起来调整文件util_half.h可以解决这个特定问题,尽管其余过程似乎需要很长时间。

您要添加以下内容:

#include "cuda_fp16.h"

并注释掉以下行:

typedef unsigned short half;

该文件位于:

/usr/share/blender/scripts/addons/cycles/kernel/util_half.h

正确的方法是直接下载较新版本的 blender,它可以与 Cuda 9 配合使用。

相关内容