Eigenbibliothek mit nvcc kompilieren (CUDA)

Ich habe versucht folgendes Programm (main.cu) mit dem nvcc (CUDA 5.0 RC) zu kompilieren:

#include <Eigen/Core>
#include <iostream>

int main( int argc, char** argv )
{
    std::cout << "Pure CUDA" << std::endl;
}

Leider erhalte ich eine Reihe von Warnungen und Fehlern, die ich nur mit nvcc anstelle der Microsoft-Kompilierung erklären kann.

Ist diese Annahme richtig? Gibt es eine Möglichkeit, Eigen mit nvcc zu kompilieren? (Ich möchte eigentlich keine Eigenmatrizen auf die GPU übertragen, sondern nur auf deren Mitglieder zugreifen)?

Wenn es nicht funktionieren sollte, Eigen mit nvcc zu kompilieren, gibt es eine nette Anleitung / ein Tutorial über clevere Möglichkeiten, Host- und Gerätecode zu trennen?

Ich verwende CUDA 5.0 RC, Visual Studio 2008, Eigen 3.0.5. Zum Kompilieren der .cu-Datei habe ich sowohl die in CUDA enthaltene Regeldatei als auch den von CMake erstellten benutzerdefinierten Build-Schritt verwendet. Unter Verwendung der CUDA-Regeldatei habe ich den Build auf Compute Capability 3.0 ausgerichtet.

Danke für deinen Rat.

PS: Wenn ich den gleichen Code mit dem Host-Compiler kompiliere, funktioniert es einwandfrei.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage