Я попробовал решения, представленные в этом другом вопросе без любого успеха: компиляция ядра CUDA перестала работать
Т.е.: я попробовал рабочий блендер от терминала с помощью sudo блендер, установив g ++ 5, изменившись kernel.cu. Но ничто до сих пор не работало
Я использую Ubuntu 16.04.5 64-разрядный LTS
Моя видеокарта является GeForce GT 740M/PCIe/SSE2, и я выполняю Блендер 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.
На моей машине, использующей 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
Правильный способ - просто скачать новую версию блендера, которая работает с Cuda 9 из коробки.