Сборка проекта CUDA - PullRequest
       6

Сборка проекта CUDA

0 голосов
/ 01 июня 2011

Я сканировал сайт на предмет вопросов, касающихся крупных проектов CUDA, и нашел несколько хороших ответов, в любом случае у меня еще есть некоторые сомнения.

Моя программа, на данный момент (она еще на полпути от завершения), выводит некоторые массивы, которые затем вводятся для функций библиотеки Thrust.

Итак, мое главное сомнение:

1-Учитывая, что я использую CUDA C, у меня есть функции тяги, объявленные как extern "C". Я не был уверен в правильном способе объявления этих функций в заголовочных файлах, и после некоторого поиска в Google я нашел следующий код, который, как я хотел убедиться, является правильным:

extern "C" {
void compact(float*intxc,float*intyc,float*intzc);
void sort(float*intxc,float*intyc,float*intzc);
}

2- Я видел некоторые сообщения здесь на форуме, которые использовали "Main.cpp" в качестве основного файла, неправильно использовать файл "Main.cu" или это безразлично?

Редактировать: После некоторых размышлений (и советов) я действительно думаю, что старые вопросы были немного скучными.

Заранее благодарим и благодарим за советы

1 Ответ

1 голос
/ 02 июня 2011
  1. Нет необходимости объявлять ваши функции вне "C" в самых последних (после 2.3) версиях CUDA.Кроме того, эти функции являются просто функциями C, они не имеют ничего общего с CUDA.

  2. Ваша основная функция может быть в файле .cu или .cpp.Если вы делаете первое, оно должно быть скомпилировано nvcc.Если вы делаете последнее, он должен быть скомпилирован вашим компилятором C ++.Файл не обязательно должен называться «Главный».

...