[{"data":1,"prerenderedAt":321},["ShallowReactive",2],{"project-42623593":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":29,"sentiment":30,"stance_mix":31,"scored_comments":36,"aspects":37,"strip":46,"post_text":47,"what":48,"said":94,"maker_in_thread":184,"shape":194,"grid":198,"attempts":283,"same_week":284,"maker_shows":39,"maker_hidden":313,"reader_version":314,"card":315},"42623593","HipScript","Run CUDA in the browser with WebAssembly and WebGPU","title","Show HN: HipScript – Run CUDA in the browser with WebAssembly and WebGPU","https:\u002F\u002Fhipscript.lights0123.com\u002F","hipscript.lights0123.com","lights0123",1736264674,2025,309,32,175,3837,5,"legend","dev_tools","gpu programming playground","web_app",[24,25,26,27,28],"cuda in browser","webgpu","webassembly","gpgpu","cuda to webgpu","mixed",0.232,{"positive":32,"neutral":33,"mixed":34,"critical":35},10,7,2,6,25,{"performance":38,"execution":40,"idea":42,"docs":43,"design":45},{"positive":39,"critical":34},1,{"positive":18,"critical":41},3,{"positive":41,"critical":39},{"positive":44,"critical":44},0,{"positive":44,"critical":44},[18,44,39,44,39,44,18,41,18,18,18,18,41,44,39,41,41,44,39,39,39,18,44,18,41,41,18,18,41,41,41,44],"CUDA is NVIDIA's language for GPU programming, allowing you to mix write CPU and GPU code in C++ in one file. By chaining a few projects that compile CUDA to OpenCL, then Vulkan, then WebGPU, you can experiment with this GPGPU language on any hardware.",{"problem":49,"audience":55,"pricing":55,"motivation":56,"time_to_build":55,"stack":60,"openness":92,"stage":93,"team_size":92},{"value":50,"source":51,"evidence":52},"Lets people experiment with CUDA GPU programming on any hardware without installing NVIDIA tooling.","maker",[53],{"id":54},"post",null,{"value":57,"source":51,"evidence":58},"Experimenting with CUDA on any hardware by chaining existing compilers.",[59],{"id":54},[61,65,69,77,81,85],{"value":62,"source":51,"evidence":63},"WebAssembly",[64],{"id":54},{"value":66,"source":51,"evidence":67},"WebGPU",[68],{"id":54},{"value":70,"source":71,"evidence":72},"chipStar (CUDA to OpenCL)","commenter",[73],{"id":74,"by":75,"text":76},"42626598","CharlesW","From the \"Learn More\" link (https:\u002F\u002Flights0123.com\u002Fblog\u002F2025\u002F01\u002F07\u002Fhip-script\u002F): \"By chaining chipStar¹ (a HIP and NVIDIA® CUDA® to OpenCL compiler), Clspv² (an OpenCL to Vulkan…",{"value":78,"source":71,"evidence":79},"Clspv (OpenCL to Vulkan)",[80],{"id":74,"by":75,"text":76},{"value":82,"source":71,"evidence":83},"Tint (Vulkan to WebGPU)",[84],{"id":74,"by":75,"text":76},{"value":86,"source":71,"evidence":87},"Wasmer SDK \u002F WASIX",[88],{"id":89,"by":90,"text":91},"42628963","syrusakbary","This is an awesome use of WASIX [1] and the Wasmer SDK [2]. Quite exciting to see! I recommend as well reading through the blogpost (repo on [3]):…","unknown","prototype",{"praise":95,"objections":123,"requests":149,"questions":163,"alternatives":179},[96,115],{"value":97,"source":71,"evidence":98},"Impressive, clean demo that runs well, especially on Apple devices.",[99,103,107,111],{"id":100,"by":101,"text":102},"42626636","bagels","What an incredible demo\u002Fhack. This is actually the simplest way to actually execute CUDA code that I've seen.",{"id":104,"by":105,"text":106},"42626879","btown","Not to mention that it Just Works on Apple devices! Really, really cool.",{"id":108,"by":109,"text":110},"42629443","grconner","This is just amazing. So clean and straightforward. On a Mac just run it in Chrome see things work automagically. For real fun change the generations constant to 2000 and delete…",{"id":112,"by":113,"text":114},"42631044","mlepath","This is really awesome. Tested it on both Nvidia and Mac GPUs. Interested to know how debugging in a real application would work since WASM is pretty hard to debug and GPU code…",{"value":116,"source":71,"evidence":117},"Runs on varied GPUs including Mac, Nvidia and AMD RDNA2.",[118,119],{"id":112,"by":113,"text":114},{"id":120,"by":121,"text":122},"42629608","uncheckederror","Impressed that this runs on my RX 6900XT (an RDNA2 GPU) in Chrome without any trouble. Very cool demo, excited to see how people leverage this capability.",[124,134],{"value":125,"source":71,"evidence":126},"Blocked on Firefox release and some browsers; feature detection questioned.",[127,131],{"id":128,"by":129,"text":130},"42626693","_nalply","Firefox supports WebGPU, but needs a setting in about:config. I enabled the setting but HipScript still denies running on Firefox with the message: \"Please try a Chromium-based…",{"id":132,"by":129,"text":133},"42632658","OK, I installed Firefox Nightly and enabled dom.webgpu.enabled and gfx.webrender.all corresponding to this article:…",{"value":135,"source":71,"evidence":136},"Performance questions; unclear it matches native CUDA.",[137,141,145],{"id":138,"by":139,"text":140},"42626855","Ameo","The GoL example it loaded with seemed to be running way slower than I expected it to. It turns out that there's actually a `usleep(1000 * 100)` call in the code which was…",{"id":142,"by":143,"text":144},"42627113","punnerud","How performant is the CUDA code in browser compared to standalone program? Could we have PyTorch \u002F ML training with CUDA through the browser performing ok?",{"id":146,"by":147,"text":148},"42632327","machinekob","WebGPU don't have access to most accelerators in GPU so it would be super slow compared to CUDNN version but pure CUDA would be only x times times faster.",[150,157],{"value":151,"source":71,"evidence":152},"Standalone app that skips WebGPU and runs Vulkan directly.",[153],{"id":154,"by":155,"text":156},"42628128","Cieric","I love the idea of this, but sadly I can't get it to work in Firefox, Chrome or Edge on my work pc, probably because I can't find \"--enable-features=Vulkan\" equivalent in the…",{"value":158,"source":71,"evidence":159},"Support for running without a detected GPU.",[160],{"id":161,"by":11,"text":162},"42628604","I don't currently expose the option to run the compiler if a GPU isn't detected, but on systems that do, it exposes a download option that lets you download the SPIR-V kernel to…",[164,171,175],{"value":165,"source":71,"evidence":166},"How is this different from web-llm?",[167],{"id":168,"by":169,"text":170},"42627392","bloomingkales","How is this different than web-llm?",{"value":172,"source":71,"evidence":173},"Could PyTorch or ML training run acceptably in the browser?",[174],{"id":142,"by":143,"text":144},{"value":176,"source":71,"evidence":177},"How hard is debugging CUDA code running through WASM?",[178],{"id":112,"by":113,"text":114},[180],{"value":181,"source":71,"evidence":182},"web-llm",[183],{"id":168,"by":169,"text":170},{"comments":185,"answered":39,"key":186},4,[187,190,193],{"id":188,"text":189},"42627396","I do do feature detection—WebGPU is blocked on Release Firefox regardless of config, you'll need nightly. It does support Safari with its experimental mode enabled for example.",{"id":191,"text":192},"42629625","I believe I just fixed this—JavaScriptCore doesn't have support for a recently-introduced function.",{"id":161,"text":162},{"commenters":195,"max_depth":18,"maker_replies":185,"first_comment_mins":196,"lifespan_hours":197},24,247,27,[199,201,204,206,208,211,213,216,217,219,220,222,223,225,226,229,231,235,238,240,243,247,251,255,256,259,264,266,271,275,278,280],[138,44,18,200,139,44],"project\u002Fpositive\u002Fperformance",[202,44,44,203,105,44],"42628170","commenter\u002Fneutral\u002Fperformance",[128,39,39,205,129,44],"project\u002Fcritical\u002Fexecution",[188,39,44,207,11,39],"project\u002Fneutral\u002Fexecution",[209,39,39,205,210,44],"42627647","doctoboggan",[191,39,44,212,11,39],"maker\u002Fneutral\u002Fexecution",[214,39,18,215,210,44],"42631130","maker\u002Fpositive\u002Fexecution",[132,39,41,207,129,44],[89,34,18,218,90,44],"project\u002Fpositive\u002Fidea",[100,41,18,218,101,44],[104,41,18,221,105,44],"project\u002Fpositive\u002Fexecution",[108,185,18,221,109,44],[154,18,41,224,155,44],"project\u002Fmixed\u002Fexecution",[161,18,44,212,11,39],[227,18,39,205,228,44],"42629062","sroussey",[142,35,41,230,143,44],"project\u002Fneutral\u002Fperformance",[232,35,41,233,234,44],"42627457","project\u002Fneutral\u002Fidea","mordechai9000",[236,35,44,237,228,44],"42629054","other\u002Fneutral\u002Fnone",[146,35,39,239,147,44],"project\u002Fcritical\u002Fperformance",[241,35,39,239,242,44],"42632538","saagarjha",[244,33,39,245,246,44],"42630958","project\u002Fcritical\u002Fidea","samagra14",[248,249,18,218,250,44],"42626744",8,"JackYoustra",[252,253,44,237,254,44],"42636988",9,"nullbyte",[112,32,18,221,113,44],[257,32,41,258,242,44],"42632539","maker\u002Fneutral\u002Fdocs",[260,261,41,262,263,44],"42628091",11,"project\u002Fmixed\u002Fdesign","JonChesterfield",[120,265,18,221,121,44],12,[267,268,18,269,270,44],"42627109",13,"maker\u002Fpositive\u002Fnone","ryanmerket",[272,273,41,233,274,44],"42631620",14,"Lockal",[74,276,41,277,75,44],15,"project\u002Fneutral\u002Fdocs",[168,279,41,233,169,44],16,[281,279,44,282,11,39],"42627465","maker\u002Fneutral\u002Fidea",[],[285,290,295,300,304,308],{"id":286,"name":287,"points":288,"category":289},"42634787","Atlas of Space",770,"learning_science",{"id":291,"name":292,"points":293,"category":294},"42624116","Tramway SDK",660,"games",{"id":296,"name":297,"points":298,"category":299},"42585009","Pimosa",526,"creative",{"id":301,"name":302,"points":303,"category":20},"42635942","Stagehand",326,{"id":305,"name":306,"points":307,"category":20},"42600586","CSS Flexbox Playground",315,{"id":309,"name":310,"points":311,"category":312},"42584896","DeepFace",257,"ai",false,"v2",{"id":316,"name":5,"line":6,"ai":313,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":317,"top":18,"kw":318,"maker":11,"domain":10,"tier":19,"attempts":44,"strip":319,"url":9,"mix":320,"praise":97,"objection":125,"sub":21},42623593,0.23,[24,25,26,27,28],"50101053555530133011150533553330",[32,33,34,35],1793991110321]