web-dev-qa-db-ja.com

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

しかし、ブレンダーでモデルをレンダリングしようとすると、「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 2.77(サブ0)

修正方法前もって感謝します。

3
Crystal

これは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で動作しています

0
43Tesseracts

Ubuntu 17.04およびCUDA 8.0でBlender 2.78を使用しています。

  • g ++ 5のインストールが機能しませんでした
  • kernel.cuの変更は機能しませんでした(Blender 2.78にはすでに変更があります)

しかし、これはうまくいきました:

  1. 「Sudo blender」を使用して、SudoモードでBlenderを実行します。 GPUによるレンダリングはカーネルをロードし、レンダリングは機能しました
  2. 次に、Blenderを通常どおり実行し(Sudoなし)、GPUレンダリングが機能するようになりました
0
user2489151

G ++ 5をインストールすると問題が解決します。次のコマンドを使用してください。

Sudo apt install g++-5
0
Pavak Paul