Konfiguration von CMake setup CUDA auf Windows

Ich versuche, mit CMake für die Kompilierung der CUDA-basierten Anwendungen für Windows (Visual Studio 2005). Hier ist ein Beispiel abgespeckte CMake-Datei:

cmake_minimum_required (VERSION 2.6)
project (HELLO)

#Support for CUDA Integration
FIND_PACKAGE(CUDA)
if(CUDA_FOUND)
    SET(CUDA_NVCC_FLAGS "-arch;sm_13")
CUDA_ADD_EXECUTABLE(Hello hello.cu)
else(CUDA_FOUND)
    message("CUDA is not installed on this system.")
endif()

Es gibt ein paar Dinge, die ich wünschte, um zu verstehen, mit diesem.

Wenn ich öffnen Sie die Projektmappen-Datei (Hello.sln), sehe ich keinen custom build Regel setup für das Projekt (Rechte Maustaste auf Projekt -> Benutzerdefinierte Regeln erstellen)

Sehe ich ein "Hello_generated_hello.cu.obj" Hinzugefügt, um mein Projekt in Visual Studio. Was ist diese Datei und warum ist es zu dem Projekt Hinzugefügt?

Standardmäßig CUDA-Runtime-API-Abschnitt kommt nicht in den Projekteigenschaften.

Wenn ich Sie aktivieren eine entsprechende benutzerdefinierte buildregel (NvCudaRuntimeApi.Regeln), ich kann jetzt sehen, CUDA-runtime-API beschrieben. Wenn ich jetzt nach GPU-Unterabschnitt, sehe ich die GPU-Architektur noch festgelegt werden sm_10.

Selbst wenn ich CUDA_INCLUDE_DIRECTORIES () - Makro, fügen Sie einige Verzeichnisse, die für CUDA-Kompilierung, ich will nicht sehen, diese Einstellungen in den Projekt-Eigenschaften -> die CUDA Runtime API -> allgemein -> Zusätzliche Include-Verzeichnisse.

Möchte ich wissen, ob FindCUDA () - Paket ist sehr in der Lage, richtig zu konfigurieren VS 2005-Projekt für die CUDA-basierten Zusammenstellung. Vielleicht muss ich noch weitere Optionen festlegen, um richtig zu konfigurieren Sie das Projekt. Ich würde sicherlich wissen wollen. Ich möchte sichergehen, dass die Optionen, die ich angegeben habe, durch die CMakeLists-Datei, ich sollte in der Lage sein, Sie zu überprüfen, einfach in meinen generiert VS 2005-Projekt.

Was ist der geeignete Weg, um dies zu konfigurieren?

  • Sieht für mich wie Sie fehlt der host-C/C++ - code in den Aufruf CUDA_ADD_EXECUTABLE. Versuchen Sie set(CUDA_VERBOSE_BUILD ON) und sehen, ob das hilft.
Schreibe einen Kommentar