TECH 으로 돌아가기
TECH HACKER NEWS 오늘 6분 읽기 32 READS

인텔 NPU에 직접 C 커널을 심는다: 오픈소스 프로젝트 npunlock

인텔 NPU에 직접 C 커널을 심는다: 오픈소스 프로젝트 npunlock
SOURCE IMAGE · HACKER NEWS

인텔 코어 울트라 프로세서에 탑재된 NPU(신경망 처리 장치)는 AI 추론을 담당하지만, 개발자가 접근할 수 있는 공식 경로는 제한적이다. 인텔이 공개한 소프트웨어 스택은 컴파일러가 지원하는 연산들을 조합한 '그래프' 수준의 프로그래밍만 노출하며, 특정 연산에 대해 개발자가 직접 작성한 구현을 넣는 공개 워크플로는 제공하지 않는다. 최근 GitHub에 공개된 npunlock은 바로 이 빈 구간, 즉 사용자가 작성한 C 코드를 실제로 NPU에서 돌아가는 커널로 만드는 경로를 역공학으로 재구성한 프로젝트다. 라이선스는 아파치 2.0이다.

막혀 있던 프로그래머블 코어

핵심 배경은 하드웨어 자체는 프로그래밍 가능하다는 점이다. 인텔 NPU 내부에는 SHAVE 코어, 그중에서도 ACT-SHAVE라 불리는 프로세서가 있고 이들은 소프트웨어 커널을 실행할 수 있다. 다만 공식 스택이 이 능력을 외부로 열어두지 않았을 뿐이다. npunlock은 주변 그래프의 구성과 하드웨어 실행은 여전히 인텔의 컴파일러와 드라이버에 맡기면서, 호환되는 커스텀 그래프 연산에 한해 이 ACT-SHAVE 프로세서를 사용할 수 있게 만든다. 즉 인텔 스택을 대체하는 것이 아니라, 그 위에서 비어 있던 한 단계를 채우는 접근이다.

주목할 점은 OpenVINO 의존성 처리 방식이다. npunlock은 OpenVINO를 런타임이나 파이썬 패키지, 컴파일러 프런트엔드로 요구하지 않는다. 다만 설치된 인텔 드라이버가 소비할 수 있도록 OpenVINO 형식의 IR을 내보낸다. 파이썬 패키지 안에는 npunlock.dll과 npunlock_worker.exe가 함께 번들되어, 일반적인 파이썬 사용 시 별도의 네이티브 경로를 신경 쓸 필요가 없도록 했다.

GELU 예제로 보는 동작 방식

저장소가 제시하는 대표 예제는 FP32 GELU 활성화 함수다. C로 작성한 커널을 파이썬 코드에 임베드해 NPU 그래프에 배치하고, 실행 결과를 NumPy 기준값과 비교해 최대 오차를 보고하는 구조다. 이때 npu3720_kernel.h 타깃 헤더가 NPU3720 호출 규약과 텐서 주소 관련 헬퍼를 제공한다. 흥미로운 세부는 수학 함수 처리인데, 검증된 MoviTools 툴체인에서는 를 포함하지 않고도 상당수의 표준 libm 함수를 커널에서 바로 쓸 수 있어, 예제는 tanhf를 직접 호출한다. 사용 가능한 심볼 후보는 mlibm.a 목록으로 정리돼 있다. 이 외에 FP16 GELU, 다중 계층 2입력 예제, 그리고 단항·이항 커스텀 분기를 섞은 혼합 정밀도 그래프 예제도 함께 제공된다.

2026년 9월 23일자로 공개된 진전은 하나의 네이티브 그래프가 FP32 단항 분기와 FP16 이항 분기를 서로 독립적으로 실행할 수 있게 된 것이다. 여기서 컴파일러가 분기 순서를 재배열하는 문제를 명시적인 ACT 그룹 프리플라이트로 처리했다고 설명한다.

실무자가 유념할 제약

실무 적용을 검토한다면 전제 조건이 까다롭다는 점을 먼저 봐야 한다. 커스텀 C 컴파일에는 인텔/모비디우스의 MoviTools가 필요한데, npunlock은 이를 재배포하거나 자동으로 내려받지 않는다. 개발자는 동작이 확인된 MoviTools를 레노버의 구형 인텔 NPU 드라이버 패키지(31.0.100.1688)에서 MVC_DEPEND 페이로드로 추출해야 한다. 다만 저장소는 그 드라이버 자체를 설치하거나 다운그레이드하지 말라고 분명히 경고한다. 필요한 것은 번들된 툴체인뿐이다.

검증 범위 역시 좁다. 현재 지원은 윈도우 x64, 메테오레이크 세대의 NPU3720, 정적 셰이프, 호환되는 ACT 캐리어, 알려진 텐서 레이아웃으로 한정된 실험적 단계다. 연결된 혼합 정밀도 변환 그룹은 아직 패치로 탐색되지 않아, 검증된 혼합 정밀도 예제도 독립 분기 방식을 쓴다. 다른 NPU 세대는 검증되지 않았다. 리눅스 이식과 최신 NPU 지원은 유망하지만 미검증 가설로 남아 있어, 하드웨어 검증과 드라이버·펌웨어 버전 기록, 호스트 기준값 대비 출력 비교를 함께 수행할 기여자를 찾고 있다.

제작자는 프로젝트에 AI를 활용했다는 점도 밝혔다. 스캐폴딩, 반복적인 구현 작업, 역공학 결과의 문서 정리, 영어 교정에는 AI를 썼으나 역공학과 실험, 디버깅, 기술적 결론은 직접 손으로 얻은 것이라고 구분했다. 정리하면 npunlock은 당장 프로덕션에 투입할 도구라기보다, 그동안 닫혀 있던 인텔 NPU의 프로그래머블 코어를 실제로 두드려볼 수 있게 해주는 실험적 통로에 가깝다. 온디바이스 AI 커널을 저수준에서 다뤄야 하는 개발자라면, 하드웨어와 검증 범위가 맞는지부터 확인한 뒤 접근하는 것이 현실적이다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://github.com/hsfzxjy/npunlock
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기
처리 중...