Создание объектных файлов CUDA с использованием cmake - программирование
Подтвердить что ты не робот

Создание объектных файлов CUDA с использованием cmake

У меня была следующая настройка. Я собираюсь расширить структуру, написанную на С++, используя MPI и другие материалы с использованием CUDA. В проекте используется cmake для строительства. Я хотел бы избежать использования библиотеки для своих расширений и создания объектных файлов из моих источников cuda. Впоследствии я хотел бы связать эти объектные файлы объектов и некоторые другие файлы, скомпилированные с другими компиляторами. Кто-нибудь имеет ключ к hwo для достижения этого?

Я просмотрел http://code.google.com/p/cudpp/wiki/BuildingCUDPPwithCMake для получения обзора о том, как использовать CUDA с cmake, но это решение также использует библиотеку.

4b9b3361

Ответ 1

Можно компилировать объектные файлы с поддержкой CUDA, которая поставляется с более новыми версиями cmake. Вы используете команду cuda_compile. См. Ниже.

# CMakeLists.txt for G4CU project                                                                                                                                                                          
project(test-cuda-thrust-gdb)

# required cmake version                                                                                                                                                                                   
cmake_minimum_required(VERSION 2.8)

# packages                                                                                                                                                                                                 
find_package(CUDA)

# nvcc flags                                                                                                                                                                                               
set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS};-gencode arch=compute_20,code=sm_20)

cuda_compile(HELPER_O helper.cu)
cuda_compile(DRIVER_O driver.cu OPTIONS -G)

cuda_add_executable(driver ${HELPER_O} ${DRIVER_O})

Если вам нужна дополнительная информация, посмотрите файл FindCUDA.cmake.