(未解決)INTEL compiler(icc)を使ってビルド(cuda-5.5)
$nvcc tmp.cu --compiler-bindir icc
ビルド出来たら、終了…。
出来ない場合↓
多分、出来ない場合の方が多いと思います。
私の場合に起こるエラー。
$nvcc -ccbin=icc src/test.cu -o test /usr/local/cuda-5.5/bin//..//include/host_config.h(72): catastrophic error: #error directive: -- unsupported ICC configuration! Only ICC 12.1 on Linux x86_64 is supported! #error -- unsupported ICC configuration! Only ICC 12.1 on Linux x86_64 is supported!
intel12.1しかlinux x86_64のアーキテクチャではサポートしていないとのことです。
intelコンパイラーのバージョンの確認。
$icc --version icc (ICC) 12.1.0 20111011 Copyright (C) 1985-2011 Intel Corporation. All rights reserved.
バージョンは12.1で、問題ないはず...。
エラーがでたhost_config.h(72)を見てみる。
#if !(__INTEL_COMPILER == 9999 && __INTEL_COMPILER_BUILD_DATE == 20110811 || !defined(__GNUC__) || !defined(__LP64__)
どうやら、ビルドした日にずれがあるらしい。cuda-5.5は、intel compiler12.1が2011/08/11にビルドしたものでないとエラーが出る。
対処法
https://software.intel.com/en-us/non-commercial-software-development
- cuda Developerに登録して、cudaのソースを書き換える。(書き換えれるか分からない。こちらも登録エラーがでる)