3

私のディストリビューションのデフォルトコンパイラであるGCC 6.2.1を使用していくつかのCUDAコードを構築しようとしています(注:CUDAで公式にサポートされているGCCバージョンではないため、これを実験的と呼ぶことができます)。これは、GCC 4.9.3 および CUDA バージョン 7.5 と 8.0 の両方で正常にビルドされるコードです。

さて、次の(それに近い)最小限の例を作成すると:

#include <tuple>

int main() { return 0; }

コマンドラインで

nvcc -std=c++11 -Wno-deprecated-gpu-targets -o main main.cu

次のエラーが表示されます。

/usr/local/cuda/bin/../targets/x86_64-linux/include/math_functions.h(8897): error: cannot overload functions distinguished by return type alone

/usr/local/cuda/bin/../targets/x86_64-linux/include/math_functions.h(8901): error: cannot overload functions distinguished by return type alone

2 errors detected in the compilation of "/tmp/tmpxft_000071fe_00000000-9_b.cpp1.ii".

何故ですか?これを修正/回避するにはどうすればよいですか?

4

1 に答える 1