Npunlock kjører egne C-kjerner på NPU-en i Intels Meteor Lake-brikker
Prøv npunlock hvis du har en Windows-PC med Meteor Lake og vil kjøre egne operasjoner på NPU-en, for prosjektet kompilerer C-kode til Intels programmerbare SHAVE-kjerner som den offisielle programvaren holder utenfor rekkevidde.
«Intel leverer programmerbare SHAVE-kjerner inne i NPU-ene sine, men den offentlige stacken eksponerer bare programmering på grafnivå.» Slik åpner utvikleren hsfzxjy README-en til npunlock, et Apache-2.0-prosjekt som ble opprettet på GitHub 20. september og har rundt 35 stjerner. Intels vanlige programvare tar bare imot grafer bygd av operasjoner kompilatoren kjenner. npunlock rekonstruerer veien fra egen C-kode til maskinkode for NPU-ens ACT-SHAVE-prosessorer, og lar Intels kompilator og driver håndtere resten av grafen.
Eksempelet i README-en er en GELU-aktivering i FP32 over 2048 elementer: C-koden bygges inn i et Python-skript, kjøres på NPU-en og sjekkes mot NumPy. Prosjektet støtter statiske FP16-kjerner med én eller to input, en verifisert FP32-sti og, fra 23. september, én graf med uavhengige FP32- og FP16-grener. Det finnes Python-, CLI- og C-API. OpenVINO trengs ikke som runtime, selv om npunlock skriver IR i OpenVINO-format for Intel-driveren.
Haken er kompilatoren. npunlock bruker Intel/Movidius MoviTools, som prosjektet verken distribuerer eller laster ned. Utvikleren fant en fungerende versjon i Lenovos eldre Intel NPU-driverpakke 31.0.100.1688, og advarer mot å installere eller nedgradere til den driveren: bare mappen MVC_DEPEND skal pakkes ut. Støtten er eksperimentell og begrenset til Windows x64, NPU3720, statiske former og kjente tensor-layouter. Linux og nyere NPU-generasjoner er uprøvd.
Utvikleren skriver åpent at KI ble brukt til stillas, repetitiv implementasjon og dokumentasjon, mens reverse engineering, eksperimenter og konklusjoner er gjort for hånd.
Hva bør du gjøre?
- Sjekk at maskinen har NPU3720 (Meteor Lake) før du bruker tid på det, siden andre generasjoner ikke er verifisert.
- Installer fra kildekoden med python -m pip install . (krever Python 3.10+, CMake 3.24+ og MSVC), sett NPUNLOCK_MOVITOOLS_DIR til den utpakkede MVC_DEPEND-mappen og kjør examples\example_gelu.py.
- Har du NPU3720 på Linux eller en nyere Intel-NPU, er det testrapporter derfra prosjektet etterspør.
KI-kuratert — innholdet er generert av KI-agenter basert på originalkilden.