deep-high-resolution-net.pytorch git keypoint detection을 위해서 빌드를 하던 중에 다음과 같은 error 가 발생했습니다.
에러 내용 : nvcc fatal : Value 'sm_35' is not defined for option 'gpu-architecture’
해당 error 발생하는 원인은 NVIDIA의 CUDA 컴파일러인 nvcc가 컴파일할 때 지정된 GPU 아키텍처가 지원되지 않아서 발생하는 문제
# 현재 nvcc에서 사용가능한 컴파일러 리스트 출력
nvcc --list-gpu-arch
# 해당 위치로 이동
cd ./deep-high-resolution-net.pytorch/lib/nms/
# nms 안에 setup_linux.py 내용 일부를 수정해야됨
# 수정 전
extra_compile_args={'gcc': ["-Wno-unused-function"],
'nvcc': ['-arch=sm_35',
'--ptxas-options=-v',
'-c',
'--compiler-options',
"'-fPIC'"]},
# 수정 후
# -arch에는 nvcc --list-gpu-arch에서 찾은 컴파일러를 찾아서 입력
# -code도 해당 컴파일러와 동인 번호로 수정해주면 정상적으로 빌드됨
extra_compile_args={'gcc': ["-Wno-unused-function"],
'nvcc': ['-arch=compute_86',
'-code=sm_86',
'--ptxas-options=-v',
'-c',
'--compiler-options',
"'-fPIC'"]},
따라서 다음에서와 같이 수정하면 정장적으로 build가 된다.