2013-01-19 4 views
3

지속적으로 error : identifier "atomicAdd" is undefined을 얻은 후 나는 -arch sm_20 플래그로 컴파일 할 솔루션을 찾았습니다. 그러나 VS 2010에서이 컴파일러 플래그를 전달하는 방법은 무엇입니까? 그래서 Project > Properties에서 같은 시도 :Visual Studio 2010에서 CUDA 컴파일러 플래그를 설정하는 방법은 무엇입니까?

enter image description here

그러나 이것은 분명히 영향을 미치지 아니하고 오류가 계속 - 내가 잘못 뭐하는 거지?

감사합니다.

답변

12

이 대화 상자에서 GPU 코드 생성에 대한 옵션을 선택할 수 있습니다 :이 경우 "compute_20"에서

GPU Code Generation

내가 가상 컴퓨팅 아키텍처 2.0 용으로 컴파일하고 있음을 의미 - 가상 아키텍처는 PTX에 영향을 세대 단계.

코마 뒤의 두 번째 부분은 "sm_21"입니다. 이것은 큐빈 생성 단계에 영향을줍니다. 그것은 PTX를 컴파일하고자하는 실제 GPU 아키텍처를 정의합니다.

코드 생성을 제어하는 ​​nvcc 명령 줄 매개 변수 here에 대한 자세한 설명을 찾을 수 있습니다.

2

"CUDA C/C++"아래의 "장치"섹션으로 이동하십시오. 여기에서 "코드 생성"내에서 sm_20을 지정할 수 있습니다. -arch은 필요하지 않습니다.

2

프로젝트와 .cu 파일에 대해 별도의 속성이 있다는 점에 유의하십시오. 분명히 컴파일 전에 병합됩니다.

나는 더 큰 계산 3.0 &을위한 GPU에서 지정하는 노력이에 의해 체포받은 싶지만, .CU 특성은 1.0 & 2.0

에 대한 몇 가지 남은 사양을했다