[{"data":1,"prerenderedAt":71},["ShallowReactive",2],{"notebook-failed-half-precision-solver":3},{"id":4,"title":5,"algorithms":6,"author":8,"body":9,"canonical_url":43,"description":36,"experiment_id":44,"extension":45,"kind":46,"languages":47,"maturity":49,"meta":50,"modified":51,"navigation":52,"path":53,"projects":54,"published":51,"relations":56,"repository_commit":57,"seo":58,"slug":59,"stem":60,"summary":61,"tags":62,"technologies":65,"topics":67,"__hash__":70},"notebook\u002Fnotebook\u002Ffailed-half-precision-solver.md","Half precision made the solver look converged",[7],"conjugate-gradient","Lucas Aruodore Adomi",{"type":10,"value":11,"toc":35},"minimark",[12,17,21,25,28,32],[13,14,16],"h2",{"id":15},"context","Context",[18,19,20],"p",{},"The goal was to reduce memory traffic in a batched conjugate-gradient solve by storing state in half precision.",[13,22,24],{"id":23},"observation","Observation",[18,26,27],{},"The reported residual stopped changing, but a double-precision recomputation showed that the solution was not converged. The half-precision update direction had fallen below the representable scale of the accumulated state.",[13,29,31],{"id":30},"next-steps","Next steps",[18,33,34],{},"Keep matrix products in reduced precision while accumulating the solution and residual norm in single precision. Treat a flat reported residual as a numerical warning rather than automatic convergence.",{"title":36,"searchDepth":37,"depth":37,"links":38},"",3,[39,41,42],{"id":15,"depth":40,"text":16},2,{"id":23,"depth":40,"text":24},{"id":30,"depth":40,"text":31},"https:\u002F\u002Fjournal.aruodore.com\u002Fnotebook\u002Ffailed-half-precision-solver","exp-2026-06-29-cg-02","md","failed-experiment",[48],"python","verified",{},"2026-06-29",true,"\u002Fnotebook\u002Ffailed-half-precision-solver",[55],"iterative-solvers",[],null,{"title":5,"description":36},"failed-half-precision-solver","notebook\u002Ffailed-half-precision-solver","A residual plateau was mistaken for convergence after reduced precision erased the update direction.",[63,64],"floating-point","convergence",[66],"pytorch",[68,69],"numerical-methods","scientific-computing","RxKmVew6NSk0u51AXExA2ETdZpNWn2sNwjCRWAygnnI",1785815463969]