2011-09-01 5 views
3

나는 "KernelUtil.cu"라는 이름의 파일이 있습니다. 여기에서 "add"함수를 호출해야합니다. 내가 어떻게 해?? 다음은 작동하지 않습니다. 오류 추가 기능을 제공CUDA 헤더 파일은

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

이미 내가 효과적으로 한 번에 한 번 할 때 자신의과에 두 번 컴파일 KernelUtil.cu 의미, 당신은 자동으로 모든 .cu 파일을 컴파일하는 규칙을 가지고 기대

+0

'add '를 확인 했습니까? cuda.h가 포함되어있는 다른 곳에서는 정의되지 않았습니까? 내가 아는 한 당신이하려는 일은 잘해야합니다. 아마도 KernelUtil.cu에 대한 포함 경비를 사용하면 도움이 될 것입니다. – Dan

답변

4

main.cu에 정의되어 있습니다 main.cu에 포함되어 있으므로 add이 복제됩니다.

KernelUtil.cu에서 KernelUtil.h (또는 .cuh)으로 이름을 변경하십시오.

관련 문제