피드로 돌아가기
Dev.toAI/ML
원문 읽기
trtexec 단위 파싱 버그로 인한 Workspace 할당 실패 및 성능 저하 분석
512MiB 512MB — the silent trtexec bug
AI 요약
Context
Jetson Orin Nano의 NvMap CMA 512MB 커널 메모리 제한 환경에서 TensorRT FP16 엔진 빌드 시도. 606MB의 메모리 요구량으로 인해 빌드 실패가 발생하는 제약 상황 직면.
Technical Solution
--memPoolSize플래그를 통한 Workspace 크기 제한으로 메모리 사용량 최적화 시도MiB단위를 입력했으나trtexec파서의 유효 접미사(B, K, M, G) 미검증으로 인한 silent failure 발생- 인식 불가능한 접미사 입력 시 내부적으로 문자열을 제거하여 약 1KB의 극소량 메모리만 할당하는 Fallback 동작 확인
- 부족한 Scratch memory 환경에서도 최적의 Kernel tactic 대신 하위 호환 Tactic을 선택하여 무오류 빌드 및 추론 수행
- 로그 내
Maximum workspace size수치 확인을 통한 실제 할당량 검증 및M단위로 수정하여 정상 할당 구현 - NvMap 제한의 근본적 해결을 위해
cudaMalloc을 직접 호출하는Custom IGpuAllocator설계 및 도입
실천 포인트
1. 외부 라이브러리 CLI 인자 입력 시 공식 도움말(`--help`)을 통해 허용되는 정확한 단위 접미사 확인
2. 빌드 성공 여부와 별개로 로그 내 정량적 할당 지표(Workspace size 등)를 교차 검증하여 성능 저하 가능성 배제
3. Silent failure 가능성이 있는 파서 구조를 경계하고, 예상치 못한 Fallback 동작 여부를 프로파일링 도구로 확인