2016-06-20 5 views
0

CUDA와 동적 병렬 처리를 사용하려고하지만 컴파일 단계를 수행 할 수 없습니다.동적 병렬성을 포함하는 CUDA 코드 컴파일/실행 문제가 발생했습니다.

Compute Capability 3.5와 CUDA 버전 7.5가있는 GPU를 작업하고 있습니다.

nvcc -arch=compute_35 -rdc=true cudaDynamic.cu -o cudaDynamic.out -lcudadevrt 
:

내가, 내가, 다른 오류 메시지가 무엇입니까 사용하는 컴파일 명령에 스위치에 따라하지만 documentation를 사용하여,

  • 나는 성공적으로 컴파일을 선도 한 줄에 도착

    그러나 프로그램이 시작될 때 모든 프로그램이 실패합니다.

    ========= CUDA-MEMCHECK 
    ========= Program hit cudaErrorUnknown (error 30) due to "unknown error" on CUDA API call to ... 
    
  • 나는 또한이 줄을 시도
  • (CUDA 동적 샘플 메이크 파일에서 가져온) :

    nvcc -ccbin g++ -I../../common/inc -m64 -dc -gencode arch=compute_35,code=compute_35 -o cudaDynamic.out -c cudaDynamic.cu 
    
    CUDA-memcheck으로, API 함수를 호출 할 때마다, 나는 같은 오류 메시지가

    그러나이 실행시, 내가 얻을 :

    cudaDynamic.out: Permission denied 
    

내가 리터 것 ike가 CUDA 동적 코드를 올바르게 컴파일하는 방법을 이해해야합니다. 왜냐하면 지금까지 시도한 다른 모든 컴파일 라인이 실패했기 때문입니다.

+0

코드를 실행할 때 코드가 실패했다고해서 컴파일 명령 줄이 잘못되었음을 의미하지는 않습니다. 일반적으로 명령 줄이 올바르게 보입니다. 귀하의 오류는 귀하의 코드에 어떤 종류의 문제가 될 수 있습니다. 귀하의 컴퓨터에 CUDA가 올바르게 설치되었는지 확신합니까? 다른 CUDA 코드 (예 : CUDA 샘플)가 올바르게 실행됩니까? 이것이 창문에 있다면, 아마도 WDDM 타임 아웃을하고 있습니까? 실제로 잘못된 정보를 진단하는 데 충분한 정보가 없습니다. –

+0

CUDA가 시스템에 올바르게 설치되었습니다. 오랜 기간 동안 비 동적 CUDA에서 작업 해 왔습니다. 우분투에서 실행 중입니다. 샘플 cdpSimplePrint를 컴파일하려고 시도했지만 다음 오류가 발생했습니다. make :/usr/local/cuda/bin/nvcc : 명령을 찾을 수 없습니다. Makefile : 196 : 'cdpSimplePrint.o'대상의 제조법이 실패했습니다. make : *** [cdpSimplePrint.o] Error 127 – VincentN

+0

컴퓨터에서'which nvcc'를 실행 한 결과는 무엇입니까? –

답변

0

CUDA를 완전히 재설치하여 문제를 해결했습니다.

이제 CUDA 샘플과 내 코드를 모두 컴파일 할 수있게되었습니다.