본문 바로가기
Development/TensorRT

[TensoRT] SM version not supported in this NVRTC version 오류 해결

by shuka 2021. 8. 30.
728x90
728x90

Tensorrt 사용 시 NVRTC version 오류

보통 tesnrort를 docker image를 다운로드 받던지 library파일을 다운로드 받을 때 현재 사용하고 있는 desktop pc에 대해 어떤 운영체제를 사용하고 있는지, Cuda는 어떤 버전이고, 또 cudnn은 어떤 버전인지만 확인하고 다운로드를 받아서 사용을 했다.

그래서, 나는 주로 TensorRT-7.2.1, Ubuntu16.04, CUDA-10.2인 tensorrt의 version을 사용해 왔기 때문에 다른 gpu 그래픽 카드가 꽂혀 있는 pc에서도 같은 버전의 tensorrt version을 사용하기 위해 다운로드를 받았었다.

 

tensorrt library를 다운로드하고, 기존에 제대로 실행되던 코드까지 복사한 다음 실행을 하려고 했는데 다음과 같은 오류가 발생하면서 빌드를 실패하였다.

 

Error Message:

(smVersion < SM_VERSION_A100) && "SM version not supported in this NVRTC version

 

 

SM version not supported in this NVRTC version이 발생하는 원인

"SM version not supported in this NVRTC version" 오류가 발생하는 원인이 알고 보니 어떤 종류의 GPU 그래픽 카드를 사용하는지에 따라 사용하기 위한 CUDA 버전을 맞춰서 사용했어야 했데 생각을 안하고 해서 발생한 오류였다.

 

예전에 tensorrt의 artichecture별 호환성이라는 글을 작성하면서 각각의 gpu 그래픽 카드 종류마다 최소로 지원하는 cuda version과 해당 gpu 그래픽 카드의 nvcc arch / gen code를 맞춰줘야 한다고 했었던 적이 있었다.

 

그런데 그 사이 해당 내용에 대해 까먹어서 신경을 쓰지 않고 pc에 설치되어 있는 gpu 그래픽 카드에 대한 cuda version을 맞춰주지 않은 것이였다.

 

주로 사용하던 gpu 그래픽 카드가 10 series와 20 series는 GPU Architecture가 Pascal과 Turing으로 cuda의 version이 10.0 이상이면 상관이 없는데, 30 series의 gpu 그래픽 카드를 찾아봤더니 Ampere로 cuda의 version이 11.0 이상부터 사용 가능한 것이다.

 

밑의 참고 자료1 링크는 30 series에 대한 gpu의 설명이고, 참고 자료2 링크는 예전에 작성했었던 tensorrt의 architecture 별 호환성을 작성했던 글의 링크이다. 

참고 자료1: https://www.nvidia.com/ko-kr/geforce/graphics-cards/30-series/

 

NVIDIA GeForce 그래픽 카드

GeForce RTX 30 및 20과 GTX 16 그래픽 카드 시리즈

www.nvidia.com


참고 자료2: https://shuka.tistory.com/entry/TensorRT-architecture-%EB%B3%84-%ED%98%B8%ED%99%98%EC%84%B1

 

[TensorRT] architecture 별 호환성

TensorRT란? TensorRT는 NVIDIA gpu를 사용하여 onnx나 tensorflow와 같은 deep learning 모델들을 최적화시켜 모델의 처리 속도를 향상시켜주는 엔진으로 요즘 nvidia gpu에서 deep learning model을 추론하기 위해 많이

shuka.tistory.com

 

이번 오류를 경험하면서 드는 생각이 기존에는 하나의 버전을 사용하면 새로운 버전이 나와도 upgrade 못하고 기존의 version을 사용해 왔었다.

 

앞으로는 그러면 안될 것 같고 새로운 version이 나올 때 마다 test를 해보면서 아예 최신 version은 아니더라도 version upgrade를 해줘야 다음과 같은 오류를 다음에도 또 경험하지 않을 것 같다.

728x90
반응형

댓글