2014-01-17 6 views
2

나는 이클립스 Nsight 새 프로젝트를 만들려고하지만 프로젝트를 빌드 할 때 내가 얻을 :CUDA가 지원되지 않는 GPU 아키텍처 이클립스 Nsight

nvcc fatal : Unsupported gpu architecture 'compute_21'. 
In build setting i use Generate GPU code 2.1. The command build that Eclipse launches is: 

Building file: ../src/prova.cu 
Invoking: NVCC Compiler 
/usr/local/cuda-5.5/bin/nvcc -G -g -O0 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_20,code=sm_21 -odir "src" -M -o "src/prova.d" "../src/prova.cu" 
/usr/local/cuda-5.5/bin/nvcc --compile -G -O0 -g -gencode arch=compute_20,code=compute_20 -gencode arch=compute_20,code=compute_21 -gencode arch=compute_20,code=sm_20 -x cu -o "src/prova.o" "../src/prova.cu" 

내가 오류가없는 code=compute_21code=compute_20로 변경하는 경우. Eclipse Nsight에서 이것을 어떻게 바꿀 수 있습니까?

+0

이 항목은'code = sm_21'이 아니고'code = compute_21'이 아니어야합니다. nsight가 이것을 자동으로 설정해야하므로 이상하게 보입니다. 관련 설정은 프로젝트 생성 ... 속성 ... 빌드 ... cuda에서 코드 생성 대상을 선택할 수 있습니다. 그러나 프로젝트를 어떻게 든 사용자 지정하지 않으면이 설정을 가져서는 안됩니다. 새로운 프로젝트를 처음부터 새로 만들고 어떤 일이 일어나는지 알고 싶을 수도 있습니다. –

답변

3

아치 명령은 중급 ptx를 생성하는 데 사용되는 가상 구조를 지정합니다.

코드 명령은 코드가 생성 될위한 실제 아키텍처, 실제 실행 코드 또는 PTX 실제 아키텍처 특정 코드 중 하나를 지정합니다.

compute_21존재하지 않음 모두 가상 아키텍처입니다. 실제 21 아키텍처 용 코드가 필요한 경우 arch=compute_20,code=sm_21


구성에 문제가 있습니다. Nsight 가져 오기 마법사를 사용하여 CUDA 샘플 (출처 : https://devtalk.nvidia.com/default/topic/490324/issue-with-gencode-and-compute_21-results-in-unsupported-gpu-architecture/)을 시도하고 문제가 지속되는지 확인하십시오.

+0

모두 사실이지만, nsight가 이러한 값을 어떻게 산출하는지 설명하지 않습니다. 'compute_21'은 nsight 내에서 선택 가능한 설정이 아닙니다. nsight EE를 사용할 때 사용자는 일반적으로 이러한 문자열을 입력하지 않습니다. –

+0

일부 힌트로 수정 함 –

+0

제공된 링크에서 Nsight 가져 오기 마법사에 대한 참조를 찾을 수 없으며 가져 오기 기능 만 관련이 있습니다. 이미 makefile이 설정된 cuda 샘플의 경우. 어떤 것이 든, 가져온 마법사를 사용하여 파열 된 메이크 파일 *을 사용하면 여기에 설명 된 문제가 발생할 수 있습니다. –

0

페도라 19 (cuda_5.5.22_linux_64.run)에서 사용할 수있는 최신 CUDA 툴킷을 설치했고 같은 문제가 발생했습니다.

문제는 내가 기본 설치 위치를 변경했다는 것입니다. CUDA 툴킷을 기본 위치 (/usr/local/cuda-5.5)에 다시 설치하고 cuda-workspace 디렉토리를 삭제하여 Eclipse Nsight가 다시 만들도록 한 후에 문제가 발생했습니다.