файлы заголовков cuda - PullRequest
       4

файлы заголовков cuda

3 голосов
/ 01 сентября 2011

У меня есть файл с именем «KernelUtil.cu» следующим образом

     __device__ int add(int a, int b)
      {
         return a+b;
      }

У меня есть основная программа, которая называется «main.cu».Мне нужно вызвать функцию «добавить» отсюда.Как мне это сделать??Следующее не работает.

    #include "KernelUtil.cu"
     __global__ void test()
   {
      int c = add(10,10);
   } 
   int main()
      {
           test<<<1,1>>>();
      }

с сообщением об ошибке add уже определено в main.cu

1 Ответ

4 голосов
/ 01 сентября 2011

Я предполагаю, что у вас есть правило, которое автоматически компилирует все .cu файлы, то есть KernelUtil.cu эффективно компилируется дважды, один раз сам по себе и один раз, когда включается в main.cu, и поэтому add дублируется.1005 *

Попробуйте переименовать KernelUtil.cu в KernelUtil.h (или .cuh).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...