次のプログラム(main.cu)をnvcc(CUDA 5.0 RC)でコンパイルしようとしました:
#include <Eigen/Core>
#include <iostream>
int main( int argc, char** argv )
{
std::cout << "Pure CUDA" << std::endl;
}
残念ながら、Microsoftコンパイルの代わりにnvccを使用してしか説明できない警告やエラーがたくさん表示されます。
この仮定は正しいですか?nvccでEigenをコンパイルする方法はありますか?(実際には、EigenマトリックスをGPUに転送するのではなく、メンバーにアクセスするだけです)?
Eigenをnvccでコンパイルすることがうまくいかない場合は、ホストとデバイスのコードを分離するための賢い方法についての優れたガイド/チュートリアルがありますか?
CUDA 5.0 RC、Visual Studio 2008、Eigen3.0.5を使用しています。両方を使用した.cuファイル、CUDAに含まれているルールファイル、およびCMakeによって生成されたカスタムビルドステップをコンパイルします。CUDAルールファイルを使用して、ビルドをコンピューティング機能3.0でターゲットにしました。
アドバイスありがとうございます。
PS:ホストコンパイラで同じコードをコンパイルすると、完全に機能します。