TL;DR
작성자는 지난해 RK3588 NPU의 닫힌 toolchain을 우회해 vision encoder를 실행한 뒤, 1년간 역공학으로 레지스터 형식을 파악했습니다. 이를 바탕으로 vendor SDK 없이 PyTorch, ONNX, JAX 모델을 RK3588 NPU에서 실행하는 MIT 라이선스 컴파일러와 런타임 OpenNPU를 만들었습니다. OpenNPU는 GPT-2와 SigLIP을 실행 대상으로 지원하며, 모델을 하드웨어 명령으로 변환하고 런타임에서 처리하는 공개 경로를 제공합니다. 게시물은 관련 개발 과정과 OpenNPU v1.0 보고서로 연결됩니다.
섹션별 상세
용어 해설
- 역공학(Reverse Engineering)
- — 공개되지 않은 하드웨어나 소프트웨어의 동작을 분석해 내부 구조와 명령 형식을 파악하는 작업입니다. 이 글에서는 vendor SDK 없이 RK3588 NPU의 레지스터 형식과 실행 방식을 알아내는 과정에 해당합니다.
- 레지스터 형식(Register Format)
- — 프로세서가 연산 명령과 설정값을 전달받는 레지스터의 배치와 값 해석 규칙입니다. OpenNPU는 RK3588 NPU의 레지스터 형식을 역공학해 모델 연산을 하드웨어 명령으로 변환하는 기반을 마련했습니다.
- 컴파일러와 런타임(Compiler and Runtime)
- — 컴파일러는 PyTorch·ONNX·JAX 모델을 특정 하드웨어가 실행할 수 있는 형식으로 변환하고, 런타임은 변환된 명령을 실제 장치에서 실행합니다. OpenNPU는 두 기능을 하나의 공개 toolchain으로 제공합니다.
- Vendor SDK
- — 하드웨어 제조사가 제공하는 컴파일러, 라이브러리, 개발 도구 묶음입니다. 이 글의 OpenNPU는 제조사 SDK에 의존하지 않고 RK3588 NPU의 동작을 직접 파악해 모델 실행 경로를 구성했다는 점에 의미가 있습니다.
- ONNX
- — 서로 다른 Machine Learning framework 사이에서 모델을 교환하기 위한 개방형 형식입니다. 글에서는 OpenNPU가 PyTorch와 JAX에서 작성한 모델뿐 아니라 ONNX 형식의 모델도 입력으로 받아 RK3588 NPU에서 실행한다고 설명합니다.
언급된 도구
RK3588 NPU에서 PyTorch·ONNX·JAX 모델을 실행하기 위한 MIT 라이선스 컴파일러와 런타임입니다.
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.