내 GPU 장치 인 Quadro FX 3700은 arch> sm_11을 지원하지 않습니다. 재배치 가능 장치 코드 (rdc)를 사용할 수 없었습니다. 따라서 나는 필요한 모든 유틸리티를 1 개의 큰 파일 (x.cu)로 결합했습니다. x.cu에 대한 개요를 알려면 각 구성원 기능이 5 개인 2 개의 클래스, 장치 기능 20 개, 전역 커널 1 개, 커널 호출자 기능 1 개가 들어 있습니다.CUDA 아키텍처 -sm_11 NSight에서 컴파일 문제가 발생했습니다.
지금, Nsight를 통해 컴파일하려고하면 %를 (를) 빌드하여 3을 표시합니다.. 내가 그것은 다음과 같은 메시지를 보여주고 오랜만에 컴파일
nvcc x.cu -o output -I"."
를 사용하여 컴파일 시도, optimalOrderKernel 글로벌 커널입니다
/tmp/tmpxft_0000236a_00000000-9_Kernel.cpp3.i(0): Warning: Olimit was exceeded on function _Z18optimalOrderKernelPdP18PrepositioningCUDAdi; will not perform function-scope optimization.
To still perform function-scope optimization, use -OPT:Olimit=0 (no limit) or -OPT:Olimit=45022
/tmp/tmpxft_0000236a_00000000-9_Kernel.cpp3.i(0): Warning: To override Olimit for all functions in file, use -OPT:Olimit=45022
(Compiler may run out of memory or run very slowly for large Olimit values)
. 컴파일하는 데 시간이 많이 걸리지 않아야합니다. 이 메시지 뒤에있는 이유, 특히 Olimit을 이해하고 싶습니다.
[CUDA 컴파일 및 링크] (http://stackoverflow.com/questions/20966846/cuda-compilation-and-linking)의 문제는 카드의 계산 기능 때문 이었습니까? – JackOLantern
정확히 도움이 필요한 것은 무엇입니까? 느린 컴파일? 다른 것? – talonmies