我尝试使用nvcc(CUDA 5.0 RC)编译以下程序(main.cu):
#include <Eigen/Core>
#include <iostream>
int main( int argc, char** argv )
{
std::cout << "Pure CUDA" << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,我得到了一堆警告和错误,我只能使用nvcc而不是Microsoft编译来解释.
这个假设是对的吗?有没有办法用nvcc编译Eigen?(我实际上不想将Eigen矩阵转移到GPU,只是访问他们的成员)?
如果用nvcc编译Eigen不起作用,是否有一个很好的指南/教程,关于分离主机和设备代码的聪明方法?
我正在使用CUDA 5.0 RC,Visual Studio 2008,Eigen 3.0.5.要编译我同时使用的.cu文件,CUDA中包含的规则文件,以及CMake生成的自定义构建步骤.使用CUDA规则文件,我以build capability 3.0为目标.
谢谢你的建议.
PS:如果我使用主机编译器编译相同的代码,它可以很好地工作.