1

CUDA 5.0でこれらのコンパイラ組み込み関数を使用できないのはなぜですか?

Visual Studio 2010では、CUDAツールキット5.0とNsightがインストールされているため、ほとんどのCUDAコードをコンパイルして実行できますが、__fadd_ruその他は未定義として報告されます。これは私がコンパイルしようとしているコードです。

編集:同じプロジェクトで次のインクルードのいずれかが作成されると、組み込み関数が未定義になるようです。

#include "cuda_runtime.h"
#include "device_launch_parameters.h"
4

1 に答える 1

2

この問題は、プロジェクトにCUDAランタイムヘッダーを含めることによって(どういうわけか)引き起こされます。

NVCCコンパイラはcudaランタイムのインクルードを自動的に管理するため、コンパイルするために手動でインクルードする必要はありません。追加する主な理由

#include "cuda_runtime.h"
#include "device_launch_parameters.h"

コードに追加するのは、IDEに誤った構文エラーが表示されないようにするためです。何らかの理由device_launch_parameters.hで(にcuda_runtime.h依存します)を追加すると、算術演算用のNVCCの組み込みコンパイラ関数が未定義で表示されます。

したがって、修正:コンパイルするときに、これら2つのインクルードをプロジェクトから削除します。

于 2012-12-20T17:28:56.243 に答える