[{"data":1,"prerenderedAt":208},["ShallowReactive",2],{"project-49800513":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":37,"post_text":39,"what":40,"said":76,"maker_in_thread":123,"shape":136,"grid":140,"attempts":171,"same_week":172,"maker_shows":125,"maker_hidden":200,"reader_version":201,"card":202},"49800513","Npunlock","Run custom C kernels for Intel NPUs","title","Show HN: Npunlock – Run custom C kernels for Intel NPUs","https:\u002F\u002Fgithub.com\u002Fhsfzxjy\u002Fnpunlock","github.com","hsfzxjy",1790081882,2026,67,16,981,4366,23,"notable","dev_tools","npu kernel development","cli",[24,25,26,27],"intel npu","custom kernels","openvino","shave cores","mixed",0.167,{"positive":31,"neutral":31,"mixed":32,"critical":33},3,0,1,7,{"idea":36},{"positive":33,"critical":32},[32,38,32,38,32,38,32,32,32,31,32,31,33,32,31,32],5,null,{"problem":41,"audience":48,"pricing":39,"motivation":52,"time_to_build":39,"stack":56,"openness":73,"stage":74,"team_size":75},{"value":42,"source":43,"evidence":44},"Intel's OpenVINO only offers preset NPU operators, limiting custom kernels.","maker",[45],{"id":46,"by":11,"text":47},"49812716","The main use is enabling developers to write their own NPU kernels according to their respective need, instead of picking workaround from what Intel provides in OpenVINO. I think…",{"value":49,"source":43,"evidence":50},"Developers who want custom NPU kernels or control over their hardware.",[51],{"id":46,"by":11,"text":47},{"value":53,"source":43,"evidence":54},"Control over hardware the owner bought, and enabling custom NPU kernels.",[55],{"id":46,"by":11,"text":47},[57,63],{"value":58,"source":59,"evidence":60},"C","inferred",[61],{"id":62},"post",{"value":64,"source":43,"evidence":65},"Windows x64 requirement",[66,70],{"id":67,"by":68,"text":69},"49813921","ur-whale","> Requirements Windows x64 plonk.",{"id":71,"by":11,"text":72},"49814024","I have no access to other environment setting, so, sadly, that's the best I can do for now. But based on my understanding, playing this on Linux or newer NPU generations might be…","open_source","beta","unknown",{"praise":77,"objections":90,"requests":95,"questions":108,"alternatives":115},[78],{"value":79,"source":80,"evidence":81},"Bare-metal NPU programming is a welcome idea.","commenter",[82,86],{"id":83,"by":84,"text":85},"49814686","Bayard_ne","Finally, bare-metal NPU programming! Immediately thought of those custom, weird inference tasks Intel won't ever officially support.",{"id":87,"by":88,"text":89},"49813698","__atx__","Nice work! I have been messing with doing some radio DSP on the NPU in my laptop and found the Intel graph compiler to be rather unpredictable. Weird random mis-lowering to fp16…",[91],{"value":92,"source":80,"evidence":93},"Only supports Windows x64 for now.",[94],{"id":67,"by":68,"text":69},[96],{"value":97,"source":80,"evidence":98},"Port to Linux and other NPUs such as Hexagon.",[99,103,107],{"id":100,"by":101,"text":102},"49815039","alex7o","Pls do hexagon next",{"id":104,"by":105,"text":106},"49833747","alightsoul","I failed a few days ago to use the npu with openvino and llama.cpp. I will try again with this and hopefully open source it. Thanks Of course I will do everything on Linux. Might…",{"id":71,"by":11,"text":72},[109],{"value":110,"source":80,"evidence":111},"What is this useful for?",[112],{"id":113,"by":114,"text":110},"49812598","Gigachad",[116],{"value":117,"source":80,"evidence":118},"Intel OpenVINO",[119,120],{"id":104,"by":105,"text":106},{"id":121,"by":105,"text":122},"49835206","Finally npus can be like cuda. Why did Intel limit themselves to openvino? Didn't want to take on the burden of something like cuda? Maybe they want to separate consumer and…",{"comments":124,"answered":125,"key":126},8,2,[127,130,133],{"id":128,"text":129},"49813113","Author here. Feel free to ask any questions :)",{"id":131,"text":132},"49813982","Thanks! I can observe similar behaviors on my laptop. FP32 operations are sometimes siliently lowered to a sequence of (FP32->FP16)->(FP16 OP)->(FP16->FP32), causing precision…",{"id":134,"text":135},"49840432","I have added a prober program which can run specific tests on linux and generate reports. This should be a nice start.",{"commenters":124,"max_depth":137,"maker_replies":124,"first_comment_mins":138,"lifespan_hours":139},4,1081,64,[141,143,145,147,148,150,152,155,157,159,161,162,163,165,166,169],[128,32,32,142,11,33],"maker\u002Fneutral\u002Fnone",[87,32,38,144,88,32],"project\u002Fpositive\u002Fnone",[131,32,32,146,11,33],"project\u002Fneutral\u002Fexecution",[104,33,38,144,105,32],[134,33,32,149,11,33],"project\u002Fneutral\u002Fnone",[83,125,38,151,84,32],"project\u002Fpositive\u002Fidea",[153,125,32,154,11,33],"49814822","other\u002Fneutral\u002Fnone",[121,125,32,156,105,32],"other\u002Fneutral\u002Fidea",[158,125,32,154,11,33],"49840451",[113,31,31,160,114,32],"project\u002Fneutral\u002Fidea",[46,31,32,160,11,33],[100,137,31,149,101,32],[67,38,33,164,68,32],"project\u002Fcritical\u002Fnone",[71,38,32,149,11,33],[167,38,31,149,168,32],"49814328","hypercube33",[170,38,32,149,11,33],"49814419",[],[173,178,183,188,192,196],{"id":174,"name":175,"points":176,"category":177},"49823738","Bastardica",862,"creative",{"id":179,"name":180,"points":181,"category":182},"49783133","Mini-AGI",277,"ai",{"id":184,"name":185,"points":186,"category":187},"49740105","Setup",251,"productivity",{"id":189,"name":190,"points":191,"category":20},"49801329","Drop",193,{"id":193,"name":194,"points":195,"category":20},"49800574","JevBench",154,{"id":197,"name":198,"points":199,"category":182},"49776523","Tiny Brains",116,false,"v2",{"id":203,"name":5,"line":6,"ai":200,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":204,"top":18,"kw":205,"maker":11,"domain":10,"tier":19,"attempts":32,"strip":206,"url":9,"mix":207,"praise":79,"objection":92,"sub":21},49800513,0.17,[24,25,26,27],"0505050003031030",[31,31,32,33],1793991167546]