Write and run custom C kernels for Intel Core Ultra NPUs - hsfzxjy/npunlock
16 comments
Obviously I am mostly just driving the DPU, as the SHAVE cores are just not beefy enough, but maybe this will be useful at some point, at least to gain more insight into the architecture...
As for the interesting cost variance for reshape you've mentioned, I guess surrounding context is the cause. The NPU compiler might adjust the data layout to match successive OPs' requirements. But, yes, that's annoying~
Studying DPU is not my current priority, but I may dig it up in the future to understand its invocation descriptor, and hopefully to discover more interesting stuff. I hope this project ends up being useful to you!
Of course I will do everything on Linux. Might contribute back
1. Implement uncommon NN operators.
2. Implement a high-precision (FP32, etc.) version of existing OpenVINO operators for numerically sensitive usage.
3. Implement a mega kernel that fuse several small kernels together to reduce SHAVE invocations, and potentially improve performance.
But most importantly, it gives you more control over the hardware you own. That control IMO should have been yours from day one you bought the machine.
Read the full thread on Hacker News →
Related stories
- Lobsters · 34 points · almost 9 years ago
- INTEL-SA-00075 - Intel Manageability Firmware, Escalation of Privilege (CVE-2017-5689)security-center.intel.comLobsters · 2 points · over 9 years ago
- How I write softwareprogrammingisterrible.comLobsters · 11 points · almost 12 years ago
- Ars Technica · 0 points · 7 days ago
- Hacker News · 27 points · 13 days ago
- Hacker News · 1 points · 1 day ago