[{"data":1,"prerenderedAt":351},["ShallowReactive",2],{"project-45674126":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":35,"aspects":36,"strip":39,"post_text":42,"what":43,"said":74,"maker_in_thread":145,"shape":154,"grid":157,"attempts":315,"same_week":316,"maker_shows":41,"maker_hidden":343,"reader_version":344,"card":345},"45674126","Cuq","Formal Verification of Rust GPU Kernels","title","Show HN: Cuq – Formal Verification of Rust GPU Kernels","https:\u002F\u002Fgithub.com\u002Fneelsomani\u002Fcuq","github.com","nsomani",1761161934,2025,94,63,774,3837,21,"notable","dev_tools","formal verification","cli",[21,24,25,26,27],"rust cuda","coq","gpu kernels","ptx memory model","mixed",-0.321,{"positive":31,"neutral":32,"mixed":33,"critical":34},1,7,2,8,18,{"idea":37},{"positive":38,"critical":38},0,[38,40,40,38,31,38,38,38,31,38,38,38,38,38,38,38,38,40,31,38,38,38,40,38,31,38,38,38,31,40,41,38,38,38,31,31,40,38,31,38],3,5,null,{"problem":44,"audience":51,"pricing":42,"motivation":55,"time_to_build":42,"stack":59,"openness":72,"stage":73,"team_size":72},{"value":45,"source":46,"evidence":47},"Checking safety of GPU kernels written in Rust, such as atomics, barriers and memory scopes","maker",[48],{"id":49,"by":11,"text":50},"45674137","Hi all, this is a small research prototype I built that connects Rust's MIR (Mid-level IR) to Coq, the proof assistant used for formal verification. cuq takes the MIR dump of a…",{"value":52,"source":46,"evidence":53},"Researchers in Rust verification, GPU compilers and Coq tooling",[54],{"id":49,"by":11,"text":50},{"value":56,"source":46,"evidence":57},"Take a first step toward formally checking safety of GPU kernels written in Rust",[58],{"id":49,"by":11,"text":50},[60,64,68],{"value":61,"source":46,"evidence":62},"Rust",[63],{"id":49,"by":11,"text":50},{"value":65,"source":46,"evidence":66},"Coq",[67],{"id":49,"by":11,"text":50},{"value":69,"source":46,"evidence":70},"PTX memory model",[71],{"id":49,"by":11,"text":50},"unknown","prototype",{"praise":75,"objections":91,"requests":115,"questions":134,"alternatives":144},[76,84],{"value":77,"source":78,"evidence":79},"Project is pretty cool","commenter",[80],{"id":81,"by":82,"text":83},"45674955","Hexigonz","This is pretty cool! Are you sure about the name...",{"value":85,"source":78,"evidence":86},"Formal verification for GPU kernels could make massively parallel Rust code safer",[87],{"id":88,"by":89,"text":90},"45678023","orliesaurus","Reading through this thread, it seems the naming debate is taking up most of the oxygen, but the underlying technical goal behind the project is worth highlighting. Formal…",[92,107],{"value":93,"source":78,"evidence":94},"The name sounds like a slur or rude word",[95,99,103],{"id":96,"by":97,"text":98},"45675292","skrrtww","This might be the worst named project of all time. Not funny and demonstrates an absolutely terrible impulse on the part of the author. Probably the worst way possible to…",{"id":100,"by":101,"text":102},"45679553","jonathrg","It sounds like cuck.",{"id":104,"by":105,"text":106},"45680161","7bit","Yeah, coq is already bad, but cuq is the cherry on top of it. I don't like both.",{"value":108,"source":78,"evidence":109},"Name is distracting from the technical work",[110,111],{"id":88,"by":89,"text":90},{"id":112,"by":113,"text":114},"45680598","the_real_cher","I wished this name had been reserved for some sort of monitoring software.",[116,127],{"value":117,"source":78,"evidence":118},"Rename the project",[119,120,124],{"id":96,"by":97,"text":98},{"id":121,"by":122,"text":123},"45677737","ahallock","Aren't we more mature than this? Granted, it's the first thing I thought of as well",{"id":125,"by":105,"text":126},"45680201","Can we instead please be mature about choosing a adequate sounding name?",{"value":128,"source":78,"evidence":129},"Consider targeting cuTile instead of PTX",[130],{"id":131,"by":132,"text":133},"45675310","gaogao","Do you think it might be easier to target cuTile instead of PTX? (Probably not, since it has a less formalized model?)",[135,139],{"value":136,"source":78,"evidence":137},"Is a proof-driven approach scalable beyond toy examples",[138],{"id":88,"by":89,"text":90},{"value":140,"source":78,"evidence":141},"Is the name intentional",[142,143],{"id":81,"by":82,"text":83},{"id":96,"by":97,"text":98},[],{"comments":41,"answered":31,"key":146},[147,148,151],{"id":49,"text":50},{"id":149,"text":150},"45675657","That instinct is right. cuTile would be easier to parse but harder to reason about formally.",{"id":152,"text":153},"45679729","Oh really? I can't find anything about the memory model online. I'm not sure what's the best way to do this, but if there's a way for us to get in contact, I'd be interested in…",{"commenters":155,"max_depth":34,"maker_replies":41,"first_comment_mins":31,"lifespan_hours":156},42,51,[158,160,161,162,165,166,169,171,174,178,181,183,185,188,191,193,196,199,202,204,207,210,212,215,217,219,221,224,227,230,233,235,238,240,243,246,249,252,253,256,259,261,263,265,267,268,271,273,277,280,283,285,288,290,293,294,295,297,301,304,305,309,312],[49,38,38,159,11,31],"project\u002Fneutral\u002Fidea",[131,38,40,159,132,38],[149,38,38,159,11,31],[163,38,40,159,164,38],"45679595","jroesch",[152,38,38,159,11,31],[167,38,38,168,132,38],"45681712","commenter\u002Fneutral\u002Fnone",[96,31,31,170,97,38],"project\u002Fcritical\u002Fnone",[172,31,38,168,173,38],"45675351","Dilettante_",[175,31,38,176,177,38],"45675482","other\u002Fneutral\u002Fnone","webdevver",[179,31,38,180,11,31],"45675644","project\u002Fneutral\u002Fnone",[182,31,38,168,97,38],"45675784",[184,31,38,168,11,31],"45675866",[186,31,31,170,187,38],"45676972","skavi",[189,31,40,180,190,38],"45675679","OneDeuxTriSeiGo",[192,31,38,176,177,38],"45675767",[194,31,38,176,195,38],"45677342","spartanatreyu",[197,31,38,176,198,38],"45676270","ironmagma",[200,31,38,176,201,38],"45677848","bigstrat2003",[203,31,38,176,198,38],"45677864",[205,31,38,168,206,38],"45680314","CaptainOfCoit",[208,31,38,168,209,38],"45680435","matt_kantor",[211,31,38,176,198,38],"45684420",[213,31,38,176,214,38],"45677959","nickpsecurity",[216,31,38,176,173,38],"45679146",[218,31,38,176,214,38],"45688935",[220,31,38,176,173,38],"45699723",[222,31,38,176,223,38],"45678719","auggierose",[225,31,40,180,226,38],"45676842","Aloisius",[228,31,31,170,229,38],"45675741","lacker",[231,31,38,176,232,38],"45679447","thefz",[234,31,38,168,105,38],"45680192",[236,31,38,176,237,38],"45680220","3836293648",[239,31,38,168,232,38],"45686991",[241,31,38,176,242,38],"45680276","zorobo",[244,31,38,176,245,38],"45680574","pwdisswordfishy",[247,31,40,180,248,38],"45676302","kurtis_reed",[250,31,38,176,251,38],"45676764","kelseyfrog",[100,31,31,170,101,38],[254,31,38,176,255,38],"45676382","antonvs",[257,31,38,176,258,38],"45676616","nvader",[260,31,38,168,255,38],"45677366",[262,31,38,168,105,38],"45680169",[264,31,38,176,255,38],"45690947",[266,31,38,176,232,38],"45679436",[104,31,31,170,105,38],[269,31,40,180,270,38],"45689146","tracker1",[81,33,40,272,82,38],"project\u002Fmixed\u002Fnone",[274,33,41,275,276,38],"45675054","project\u002Fpositive\u002Fnone","NitpickLawyer",[278,33,38,176,279,38],"45675481","bitwize",[281,33,38,176,282,38],"45675801","sayrer",[284,33,38,176,190,38],"45676777",[286,33,38,176,287,38],"45684194","vlovich123",[289,33,38,176,206,38],"45675074",[291,33,40,180,292,38],"45675129","hnuser123456",[121,33,31,170,122,38],[125,33,31,170,105,38],[88,40,40,296,89,38],"project\u002Fmixed\u002Fidea",[298,299,38,176,300,38],"45683735",4,"kaffekaka",[302,299,38,176,303,38],"45684486","Rendello",[112,41,31,170,113,38],[306,307,38,176,308,38],"45676778",6,"ModernMech",[310,32,38,176,311,38],"45690944","heromal",[313,34,38,176,314,38],"45675666","thrownawaysz",[],[317,322,326,330,334,338],{"id":318,"name":319,"points":320,"category":321},"45617948","detective",318,"games",{"id":323,"name":324,"points":325,"category":20},"45633453","Duck-UI",213,{"id":327,"name":328,"points":329,"category":20},"45642911","Playwright Skill",189,{"id":331,"name":332,"points":333,"category":321},"45609478","Abstract Board Games",180,{"id":335,"name":336,"points":337,"category":20},"45645120","I created a cross-platform GUI for the JJ VCS (Git compatible)",140,{"id":339,"name":340,"points":341,"category":342},"45656952","Katakate",124,"infrastructure",false,"v2",{"id":346,"name":5,"line":6,"ai":343,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":347,"top":18,"kw":348,"maker":11,"domain":10,"tier":19,"attempts":38,"strip":349,"url":9,"mix":350,"praise":77,"objection":93,"sub":21},45674126,-0.32,[21,24,25,26,27],"0330100010000000031000301000135000113010",[31,32,33,34],1794036684547]