{"version":2,"work":"research-prism-1","title":"PRISM-1","source_revision":"a12c6b2d9ac68b73031075180f51a8c98d38ee1e","sources":[{"repository_path":"research/prism-1/Komorebi_PRISM_1_Final_Updated.tex","file_url":"documents/files/73123b74e7e27909923d06d39719273937f2d4a4/Komorebi_PRISM_1_Final_Updated.tex","url":"read/research-prism-1/komorebi-prism-1-final-updated-c016290219f1.html","sha256":"ddd4cfc3951592a305e76811ebcd746ea0c9a103bfc77d966211e6a50e62d23a","git_blob_sha1":"73123b74e7e27909923d06d39719273937f2d4a4","size":74889,"passages":178,"macros":{"headrulewidth":"0pt","Pcal":"\\mathcal P","Acal":"\\mathcal A","Scal":"\\mathcal S","Rcal":"\\mathcal R","Tcal":"\\mathcal T"}},{"repository_path":"research/prism-1/README.md","file_url":"documents/files/8583279fd4c622502f435e88aa339e096ac714b7/README.md","url":"read/research-prism-1/readme-85e370249f5a.html","sha256":"90b6b7a59be74bf4c771b0bbea7965a29f989a14d5ed9eefae291981a48861fb","git_blob_sha1":"8583279fd4c622502f435e88aa339e096ac714b7","size":2190,"source_url":"read/research-prism-1/readme-85e370249f5a-source.html","passages":0,"macros":{}},{"repository_path":"research/prism-1/docs/datasheet_table.tex","file_url":"documents/files/0f17c623a147c19685d7afcf6feb15883d169234/datasheet_table.tex","url":"read/research-prism-1/datasheet-table-a206abceb960.html","sha256":"c6e56d778c2b4e32dbf2ef81b0f5d30e98b4c2d854bc1efc9e7394368f6e0bee","git_blob_sha1":"0f17c623a147c19685d7afcf6feb15883d169234","size":1382,"passages":1,"macros":{}},{"repository_path":"research/prism-1/rtl_skeleton/README.md","file_url":"documents/files/11820bd7f47d033aec4d74ef91e5f84d907a7e8c/README.md","url":"read/research-prism-1/readme-157f44c3bdc4.html","sha256":"45d67924ed14c43156840b22de3e05eb23ac609a3600de7998dda47e59333261","git_blob_sha1":"11820bd7f47d033aec4d74ef91e5f84d907a7e8c","size":1090,"source_url":"read/research-prism-1/readme-157f44c3bdc4-source.html","passages":0,"macros":{}}],"pdfs":[{"repository_path":"research/prism-1/Komorebi_PRISM_1_Final_Updated.pdf","url":"read/research-prism-1/komorebi-prism-1-final-updated-018ea4620218.html","sha256":"e9c22972da6602de617880e8263dd6fff613bf630cbde95307b8974e9a85d94d"}],"passages":[{"line":132,"start":7705,"end":7713,"expression":"0.046032","context":0,"kind":"use","source":0},{"line":132,"start":7727,"end":7740,"expression":"14.8919\\times","context":0,"kind":"use","source":0},{"line":132,"start":7856,"end":7864,"expression":"0.079872","context":0,"kind":"use","source":0},{"line":132,"start":7878,"end":7891,"expression":"10.9355\\times","context":0,"kind":"use","source":0},{"line":132,"start":7995,"end":8006,"expression":"1.218\\times","context":1,"kind":"use","source":0},{"line":132,"start":8041,"end":8047,"expression":"0.1582","context":2,"kind":"use","source":0},{"line":132,"start":8090,"end":8096,"expression":"0.5073","context":3,"kind":"use","source":0},{"line":134,"start":8545,"end":8555,"expression":"2.96\\times","context":4,"kind":"use","source":0},{"line":134,"start":8596,"end":8606,"expression":"1.64\\times","context":4,"kind":"use","source":0},{"line":134,"start":8643,"end":8653,"expression":"1.42\\times","context":5,"kind":"use","source":0},{"line":136,"start":8778,"end":8788,"expression":"37.8\\times","context":6,"kind":"use","source":0},{"line":203,"start":12830,"end":12957,"expression":"\nX=\\bigoplus_{\\alpha\\in I}X_\\alpha,\n\\qquad\nP_\\alpha P_\\beta=\\delta_{\\alpha\\beta}P_\\alpha,\n\\qquad\n\\sum_{\\alpha\\in I}P_\\alpha=I.\n","context":7,"kind":"use","source":0},{"line":210,"start":12977,"end":12985,"expression":"T:X\\to X","context":7,"kind":"use","source":0},{"line":211,"start":13033,"end":13070,"expression":"\nT_{\\beta\\alpha}=P_\\beta T P_\\alpha.\n","context":7,"kind":"use","source":0},{"line":215,"start":13117,"end":13164,"expression":"\n\\boxed{T=\\sum_{\\alpha,\\beta}T_{\\beta\\alpha}.}\n","context":7,"kind":"use","source":0},{"line":248,"start":14942,"end":15181,"expression":"\n\\boxed{\n\\begin{aligned}\n\\mathfrak R=\\{&\\text{explicit array},\\ \\text{block},\\ \\text{block sparse},\\ \\text{low rank},\\ \\text{BDLR},\\\\\n&\\text{Kronecker},\\ \\text{sparse chain},\\ \\text{transform plan},\\ \\text{packet graph}\\}.\n\\end{aligned}\n}\n","context":8,"kind":"use","source":0},{"line":266,"start":15890,"end":16079,"expression":"\n\\boxed{\n\\text{lane}\n\\longrightarrow\n\\text{packet warp}\n\\longrightarrow\n\\text{execution group}\n\\longrightarrow\n\\text{Packet Streaming Multiprocessor}\n\\longrightarrow\n\\text{packet graph}.\n}\n","context":9,"kind":"use","source":0},{"line":312,"start":18003,"end":18004,"expression":"S","context":10,"kind":"use","source":0},{"line":313,"start":18009,"end":18028,"expression":"\nAB=(AS)(S^{-1}B).\n","context":10,"kind":"use","source":0},{"line":317,"start":18041,"end":18076,"expression":"\nA=L D_A S^{-1},\n\\qquad\nB=S D_B R.\n","context":10,"kind":"use","source":0},{"line":323,"start":18086,"end":18110,"expression":"\n\\boxed{AB=L(D_AD_B)R.}\n","context":10,"kind":"use","source":0},{"line":326,"start":18119,"end":18120,"expression":"L","context":10,"kind":"use","source":0},{"line":326,"start":18124,"end":18125,"expression":"S","context":10,"kind":"use","source":0},{"line":326,"start":18133,"end":18134,"expression":"R","context":10,"kind":"use","source":0},{"line":326,"start":18163,"end":18166,"expression":"D_A","context":10,"kind":"use","source":0},{"line":326,"start":18170,"end":18173,"expression":"D_B","context":10,"kind":"use","source":0},{"line":330,"start":18516,"end":18540,"expression":"\nA=F_LF_{L-1}\\cdots F_1\n","context":11,"kind":"use","source":0},{"line":333,"start":18564,"end":18568,"expression":"O(n)","context":11,"kind":"use","source":0},{"line":333,"start":18602,"end":18603,"expression":"A","context":11,"kind":"use","source":0},{"line":333,"start":18612,"end":18617,"expression":"O(nL)","context":11,"kind":"use","source":0},{"line":333,"start":18624,"end":18635,"expression":"L=O(\\log n)","context":11,"kind":"use","source":0},{"line":333,"start":18651,"end":18661,"expression":"O(n\\log n)","context":11,"kind":"use","source":0},{"line":338,"start":19213,"end":19214,"expression":"o","context":12,"kind":"use","source":0},{"line":338,"start":19234,"end":19238,"expression":"c(o)","context":12,"kind":"use","source":0},{"line":338,"start":19256,"end":19260,"expression":"e(o)","context":12,"kind":"use","source":0},{"line":339,"start":19314,"end":19422,"expression":"\nJ(v)=\\min_{o\\in\\mathcal O_v}\n\\left[\n c(o)+\\lambda e(o)^2+\n \\sum_{u\\in\\operatorname{child}(o)}J(u)\n\\right].\n","context":12,"kind":"use","source":0},{"line":379,"start":21271,"end":21281,"expression":"16\\times16","context":13,"kind":"use","source":0},{"line":397,"start":21906,"end":21914,"expression":"4\\times4","context":14,"kind":"use","source":0},{"line":432,"start":24130,"end":24140,"expression":"16\\times16","context":15,"kind":"use","source":0},{"line":433,"start":24185,"end":24364,"expression":"\n\\boxed{\n\\begin{aligned}\n\\text{FP16 or BF16} &\\approx 196.6\\text{ TFLOP/s},\\\\\n\\text{FP32} &\\approx 98.3\\text{ TFLOP/s},\\\\\n\\text{FP64} &\\approx 24.6\\text{ TFLOP/s}.\n\\end{aligned}}\n","context":16,"kind":"use","source":0},{"line":469,"start":26575,"end":26585,"expression":"16\\times16","context":17,"kind":"use","source":0},{"line":501,"start":28935,"end":28986,"expression":"\n\\mathsf P=(i,p,a,\\sigma,\\mathbf n,\\ell,\\pi,\\tau),\n","context":18,"kind":"definition-passage","definition_title":"Packet descriptor","source":0},{"line":504,"start":28996,"end":28997,"expression":"i","context":18,"kind":"definition-passage","definition_title":"Packet descriptor","source":0},{"line":504,"start":29018,"end":29019,"expression":"p","context":18,"kind":"definition-passage","definition_title":"Packet descriptor","source":0},{"line":504,"start":29037,"end":29038,"expression":"a","context":18,"kind":"definition-passage","definition_title":"Packet descriptor","source":0},{"line":504,"start":29055,"end":29061,"expression":"\\sigma","context":18,"kind":"definition-passage","definition_title":"Packet descriptor","source":0},{"line":504,"start":29086,"end":29095,"expression":"\\mathbf n","context":18,"kind":"definition-passage","definition_title":"Packet descriptor","source":0},{"line":504,"start":29112,"end":29116,"expression":"\\ell","context":18,"kind":"definition-passage","definition_title":"Packet descriptor","source":0},{"line":504,"start":29144,"end":29147,"expression":"\\pi","context":18,"kind":"definition-passage","definition_title":"Packet descriptor","source":0},{"line":504,"start":29176,"end":29180,"expression":"\\tau","context":18,"kind":"definition-passage","definition_title":"Packet descriptor","source":0},{"line":508,"start":29325,"end":29343,"expression":"P_\\beta T P_\\alpha","context":19,"kind":"use","source":0},{"line":518,"start":29983,"end":29998,"expression":"\n\\Scal\\Acal=I.\n","context":20,"kind":"use","source":0},{"line":535,"start":30808,"end":30819,"expression":"\nA=D+UV^*,\n","context":21,"kind":"use","source":0},{"line":538,"start":30838,"end":30839,"expression":"n","context":21,"kind":"use","source":0},{"line":538,"start":30855,"end":30856,"expression":"b","context":21,"kind":"use","source":0},{"line":538,"start":30869,"end":30870,"expression":"r","context":21,"kind":"use","source":0},{"line":539,"start":30902,"end":30919,"expression":"\n\\boxed{n(b+2r)}\n","context":21,"kind":"use","source":0},{"line":542,"start":30935,"end":30938,"expression":"n^2","context":21,"kind":"use","source":0},{"line":545,"start":30997,"end":31003,"expression":"b+2r<n","context":22,"kind":"use","source":0},{"line":546,"start":31049,"end":31074,"expression":"\n\\boxed{\\frac{n}{b+2r}.}\n","context":22,"kind":"use","source":0},{"line":553,"start":31231,"end":31242,"expression":"(n/b)b^2=nb","context":23,"kind":"use","source":0},{"line":553,"start":31281,"end":31284,"expression":"2nr","context":23,"kind":"use","source":0},{"line":553,"start":31301,"end":31308,"expression":"n(b+2r)","context":23,"kind":"use","source":0},{"line":553,"start":31332,"end":31335,"expression":"n^2","context":23,"kind":"use","source":0},{"line":561,"start":31865,"end":31871,"expression":"n=8192","context":24,"kind":"use","source":0},{"line":561,"start":31875,"end":31879,"expression":"b=64","context":24,"kind":"use","source":0},{"line":561,"start":31887,"end":31890,"expression":"r=8","context":24,"kind":"use","source":0},{"line":567,"start":31997,"end":32005,"expression":"4\\times4","context":25,"kind":"use","source":0},{"line":579,"start":32964,"end":32965,"expression":"v","context":26,"kind":"use","source":0},{"line":579,"start":33007,"end":33014,"expression":"H=(W,F)","context":26,"kind":"use","source":0},{"line":579,"start":33034,"end":33035,"expression":"v","context":26,"kind":"use","source":0},{"line":579,"start":33101,"end":33102,"expression":"v","context":26,"kind":"use","source":0},{"line":582,"start":33147,"end":33152,"expression":"\\prec","context":27,"kind":"use","source":0},{"line":582,"start":33208,"end":33215,"expression":"\\prec_H","context":27,"kind":"use","source":0},{"line":582,"start":33272,"end":33273,"expression":"v","context":27,"kind":"use","source":0},{"line":582,"start":33279,"end":33284,"expression":"\\prec","context":27,"kind":"use","source":0},{"line":582,"start":33290,"end":33297,"expression":"\\prec_H","context":27,"kind":"use","source":0},{"line":586,"start":33508,"end":33515,"expression":"\\prec_H","context":28,"kind":"use","source":0},{"line":586,"start":33540,"end":33541,"expression":"v","context":28,"kind":"use","source":0},{"line":586,"start":33560,"end":33561,"expression":"v","context":28,"kind":"use","source":0},{"line":586,"start":33642,"end":33643,"expression":"v","context":28,"kind":"use","source":0},{"line":607,"start":34498,"end":34499,"expression":"U","context":29,"kind":"use","source":0},{"line":607,"start":34521,"end":34529,"expression":"E_\\alpha","context":29,"kind":"use","source":0},{"line":608,"start":34589,"end":34614,"expression":"\nP_\\alpha=U^*E_\\alpha U.\n","context":29,"kind":"use","source":0},{"line":611,"start":34648,"end":34649,"expression":"U","context":29,"kind":"use","source":0},{"line":611,"start":34737,"end":34740,"expression":"U^*","context":29,"kind":"use","source":0},{"line":615,"start":34883,"end":34906,"expression":"\n\\boxed{\\Scal\\Acal=I.}\n","context":30,"kind":"use","source":0},{"line":622,"start":35070,"end":35092,"expression":"\\sum_\\alpha E_\\alpha=I","context":31,"kind":"use","source":0},{"line":623,"start":35103,"end":35168,"expression":"\n\\Scal\\Acal x\n=U^*\\left(\\sum_\\alpha E_\\alpha\\right)Ux\n=U^*Ux\n=x.\n","context":31,"kind":"use","source":0},{"line":639,"start":35568,"end":35579,"expression":"\nA=D+UV^*,\n","context":32,"kind":"use","source":0},{"line":643,"start":35597,"end":35613,"expression":"\nAX=DX+U(V^*X).\n","context":32,"kind":"use","source":0},{"line":646,"start":35661,"end":35670,"expression":"r\\times q","context":32,"kind":"use","source":0},{"line":655,"start":35924,"end":35925,"expression":"q","context":33,"kind":"use","source":0},{"line":655,"start":35968,"end":35969,"expression":"b","context":33,"kind":"use","source":0},{"line":656,"start":36006,"end":36026,"expression":"\n\\boxed{2qn(b+2r).}\n","context":33,"kind":"use","source":0},{"line":659,"start":36053,"end":36058,"expression":"2qn^2","context":33,"kind":"use","source":0},{"line":663,"start":36135,"end":36139,"expression":"2qnb","context":34,"kind":"use","source":0},{"line":663,"start":36159,"end":36163,"expression":"V^*X","context":34,"kind":"use","source":0},{"line":663,"start":36172,"end":36176,"expression":"2nrq","context":34,"kind":"use","source":0},{"line":663,"start":36198,"end":36199,"expression":"U","context":34,"kind":"use","source":0},{"line":663,"start":36216,"end":36220,"expression":"2nrq","context":34,"kind":"use","source":0},{"line":667,"start":36544,"end":36550,"expression":"n=8192","context":35,"kind":"use","source":0},{"line":667,"start":36557,"end":36561,"expression":"q=32","context":35,"kind":"use","source":0},{"line":687,"start":37660,"end":37668,"expression":"D_\\alpha","context":36,"kind":"use","source":0},{"line":688,"start":37704,"end":37764,"expression":"\n(D+UV^*)^{-1}\n=D^{-1}-D^{-1}U(I+V^*D^{-1}U)^{-1}V^*D^{-1}.\n","context":36,"kind":"use","source":0},{"line":701,"start":38082,"end":38145,"expression":"\nA=\\sum_{e\\in E}A_e,\n\\qquad\n\\widehat A=\\sum_{e\\in E}(A_e+E_e).\n","context":37,"kind":"use","source":0},{"line":706,"start":38157,"end":38158,"expression":"e","context":37,"kind":"use","source":0},{"line":706,"start":38178,"end":38187,"expression":"\\alpha(e)","context":37,"kind":"use","source":0},{"line":707,"start":38197,"end":38280,"expression":"\n\\boxed{\n\\norm{(\\widehat A-A)x}\n\\le\n\\sum_{e\\in E}\\norm{E_e}\\norm{P_{\\alpha(e)}x}.}\n","context":37,"kind":"use","source":0},{"line":717,"start":38348,"end":38390,"expression":"\n(\\widehat A-A)x=\\sum_eE_eP_{\\alpha(e)}x.\n","context":38,"kind":"use","source":0},{"line":724,"start":38533,"end":38537,"expression":"\\tau","context":39,"kind":"use","source":0},{"line":725,"start":38571,"end":38619,"expression":"\n\\varepsilon_e\n=\\frac{\\tau c_e}{s_e\\sum_f c_f},\n","context":39,"kind":"use","source":0},{"line":729,"start":38629,"end":38632,"expression":"s_e","context":39,"kind":"use","source":0},{"line":729,"start":38654,"end":38657,"expression":"c_e","context":39,"kind":"use","source":0},{"line":810,"start":42805,"end":42906,"expression":"\n\\text{residue packet}\n\\to\n\\text{transfer}\n\\to\n\\text{refinement}\n\\to\n\\text{weighted reconstruction}.\n","context":40,"kind":"use","source":0},{"line":918,"start":48825,"end":48833,"expression":"A=D+UV^*","context":41,"kind":"use","source":0},{"line":918,"start":49054,"end":49055,"expression":"U","context":41,"kind":"use","source":0},{"line":918,"start":49062,"end":49063,"expression":"V","context":41,"kind":"use","source":0},{"line":918,"start":49138,"end":49140,"expression":"DX","context":42,"kind":"use","source":0},{"line":918,"start":49152,"end":49156,"expression":"V^*X","context":43,"kind":"use","source":0},{"line":918,"start":49204,"end":49211,"expression":"U(V^*X)","context":44,"kind":"use","source":0},{"line":932,"start":49829,"end":49833,"expression":"V^*X","context":45,"kind":"use","source":0},{"line":956,"start":52391,"end":52395,"expression":"c(y)","context":46,"kind":"use","source":0},{"line":956,"start":52446,"end":52447,"expression":"y","context":46,"kind":"use","source":0},{"line":956,"start":52460,"end":52464,"expression":"c(y)","context":46,"kind":"use","source":0},{"line":975,"start":53824,"end":53947,"expression":"\nS_{\\mathrm{total}}\n=\nS_{\\mathrm{representation}}\nS_{\\mathrm{architecture}}\nS_{\\mathrm{kernel}}\nS_{\\mathrm{amortization}}.\n","context":47,"kind":"use","source":0},{"line":992,"start":54493,"end":54499,"expression":"n=8192","context":48,"kind":"use","source":0},{"line":992,"start":54515,"end":54517,"expression":"64","context":48,"kind":"use","source":0},{"line":992,"start":54579,"end":54587,"expression":"0.046032","context":48,"kind":"use","source":0},{"line":992,"start":54601,"end":54614,"expression":"14.8919\\times","context":48,"kind":"use","source":0},{"line":992,"start":54728,"end":54736,"expression":"0.097280","context":48,"kind":"use","source":0},{"line":992,"start":54769,"end":54777,"expression":"0.079872","context":49,"kind":"use","source":0},{"line":992,"start":54802,"end":54815,"expression":"10.9355\\times","context":50,"kind":"use","source":0},{"line":992,"start":54919,"end":54930,"expression":"1.218\\times","context":51,"kind":"use","source":0},{"line":994,"start":54964,"end":54970,"expression":"n=1024","context":52,"kind":"use","source":0},{"line":994,"start":54978,"end":54984,"expression":"0.1582","context":52,"kind":"use","source":0},{"line":994,"start":55030,"end":55036,"expression":"0.5073","context":52,"kind":"use","source":0},{"line":1004,"start":55457,"end":55468,"expression":"\nA=D+UV^*,\n","context":53,"kind":"use","source":0},{"line":1007,"start":55487,"end":55488,"expression":"n","context":53,"kind":"use","source":0},{"line":1007,"start":55504,"end":55505,"expression":"b","context":53,"kind":"use","source":0},{"line":1007,"start":55514,"end":55515,"expression":"r","context":53,"kind":"use","source":0},{"line":1007,"start":55523,"end":55524,"expression":"q","context":53,"kind":"use","source":0},{"line":1008,"start":55578,"end":55589,"expression":"\n2qn(b+2r)\n","context":53,"kind":"use","source":0},{"line":1012,"start":55624,"end":55633,"expression":"\nn(b+2r)\n","context":53,"kind":"use","source":0},{"line":1015,"start":55681,"end":55686,"expression":"2qn^2","context":53,"kind":"use","source":0},{"line":1015,"start":55693,"end":55696,"expression":"n^2","context":53,"kind":"use","source":0},{"line":1016,"start":55705,"end":55752,"expression":"\nn=8192,\n\\qquad b=64,\n\\qquad r=8,\n\\qquad q=32,\n","context":53,"kind":"use","source":0},{"line":1023,"start":55797,"end":55828,"expression":"\n\\boxed{\\frac{n}{b+2r}=102.4.}\n","context":53,"kind":"use","source":0},{"line":1030,"start":55995,"end":56076,"expression":"\nT=\n\\max\\left(\n\\frac{F}{\\eta_cP},\n\\frac{B}{\\eta_bW}\n\\right)\n+T_{\\mathrm{graph}},\n","context":54,"kind":"use","source":0},{"line":1038,"start":56086,"end":56087,"expression":"F","context":54,"kind":"use","source":0},{"line":1038,"start":56105,"end":56106,"expression":"B","context":54,"kind":"use","source":0},{"line":1038,"start":56127,"end":56128,"expression":"P","context":54,"kind":"use","source":0},{"line":1038,"start":56151,"end":56152,"expression":"W","context":54,"kind":"use","source":0},{"line":1038,"start":56173,"end":56179,"expression":"\\eta_c","context":54,"kind":"use","source":0},{"line":1038,"start":56183,"end":56189,"expression":"\\eta_b","context":54,"kind":"use","source":0},{"line":1047,"start":56592,"end":56597,"expression":"70.79","context":55,"kind":"use","source":0},{"line":1047,"start":56641,"end":56645,"expression":"1.87","context":55,"kind":"use","source":0},{"line":1047,"start":56706,"end":56710,"expression":"37.8","context":55,"kind":"use","source":0},{"line":1055,"start":57087,"end":57092,"expression":"14.73","context":56,"kind":"use","source":0},{"line":1055,"start":57095,"end":57098,"expression":"\\mu","context":56,"kind":"use","source":0},{"line":1055,"start":57104,"end":57108,"expression":"8.96","context":56,"kind":"use","source":0},{"line":1055,"start":57111,"end":57114,"expression":"\\mu","context":56,"kind":"use","source":0},{"line":1056,"start":57147,"end":57151,"expression":"4.00","context":57,"kind":"use","source":0},{"line":1056,"start":57154,"end":57157,"expression":"\\mu","context":57,"kind":"use","source":0},{"line":1056,"start":57163,"end":57167,"expression":"1.35","context":57,"kind":"use","source":0},{"line":1056,"start":57170,"end":57173,"expression":"\\mu","context":57,"kind":"use","source":0},{"line":1057,"start":57207,"end":57213,"expression":"427.93","context":58,"kind":"use","source":0},{"line":1057,"start":57216,"end":57219,"expression":"\\mu","context":58,"kind":"use","source":0},{"line":1057,"start":57225,"end":57231,"expression":"300.52","context":58,"kind":"use","source":0},{"line":1057,"start":57234,"end":57237,"expression":"\\mu","context":58,"kind":"use","source":0},{"line":1061,"start":57319,"end":57329,"expression":"1.64\\times","context":59,"kind":"use","source":0},{"line":1061,"start":57333,"end":57343,"expression":"2.96\\times","context":59,"kind":"use","source":0},{"line":1061,"start":57351,"end":57361,"expression":"1.42\\times","context":59,"kind":"use","source":0},{"line":1188,"start":63808,"end":63841,"expression":"\n\\boxed{18/18\\text{ self-tests}}\n","context":60,"kind":"use","source":0},{"line":1192,"start":63886,"end":63915,"expression":"\n\\boxed{18/18\\text{ tests}.}\n","context":60,"kind":"use","source":0},{"line":1196,"start":63982,"end":64003,"expression":"\n1.42\\times10^{-14},\n","context":60,"kind":"use","source":0},{"line":1289,"start":69613,"end":69728,"expression":"\n\\boxed{\n\\text{Do not materialize, move, or schedule structure that the calculus has already declared inactive.}\n}\n","context":61,"kind":"use","source":0},{"line":1295,"start":69754,"end":70053,"expression":"\n\\begin{aligned}\n\\text{seed object}\n&\\longrightarrow \\text{Packet IR}\\\\\n&\\longrightarrow \\text{mixed-representation plan}\\\\\n&\\longrightarrow \\text{packet warps on CUDA or PRISM}\\\\\n&\\longrightarrow \\text{local refinement and synthesis}\\\\\n&\\longrightarrow \\text{certificate and commit}.\n\\end{aligned}\n","context":62,"kind":"use","source":0},{"line":13,"start":358,"end":368,"expression":"16\\times16","context":63,"kind":"use","source":2}],"entries":[{"id":"symbol-380918b946a52664","tex":"=","aliases":"=","display":"=","kind":"definition-passage","occurrences":[41,11,13,14,15,18,19,20,26,30,35,51,52,60,64,65,66,69,83,86,87,88,89,90,101,102,104,105,109,111,115,125,126,134,137,146,147,148]},{"id":"symbol-ca978112ca1bbdca","tex":"a","aliases":"a","display":"a","kind":"definition-passage","occurrences":[41,44]},{"id":"symbol-de7d1b721a1e0632","tex":"i","aliases":"i","display":"i","kind":"definition-passage","occurrences":[41,42]},{"id":"symbol-2aa34ef1611fca9c","tex":"\\mathbf n","aliases":"n mathbf","display":"\\mathbf n","kind":"definition-passage","occurrences":[41,46]},{"id":"symbol-2e99a99588c03ac6","tex":"\\mathsf P","aliases":"P mathsf","display":"\\mathsf P","kind":"definition-passage","occurrences":[41]},{"id":"symbol-148de9c5a7a44d19","tex":"p","aliases":"p","display":"p","kind":"definition-passage","occurrences":[41,43]},{"id":"symbol-f1cf04093d08b6dc","tex":"\\pi","aliases":"π pi","display":"\\pi","kind":"definition-passage","occurrences":[41,48]},{"id":"symbol-9c3245dfb4ac54c1","tex":"\\sigma","aliases":"σ sigma","display":"\\sigma","kind":"definition-passage","occurrences":[41,45]},{"id":"symbol-55d1823545b5b4c3","tex":"\\tau","aliases":"τ tau","display":"\\tau","kind":"definition-passage","occurrences":[41,49,110,111]},{"id":"symbol-5b86eb1897c44804","tex":"\\ell","aliases":"ℓ ell","display":"\\ell","kind":"definition-passage","occurrences":[41,47]},{"id":"symbol-684888c0ebb17f37","tex":"*","aliases":"*","display":"*","kind":"use","occurrences":[52,83,85,88,89,90,97,104,115,119,120,121,137]},{"id":"symbol-a318c24216defe20","tex":"+","aliases":"+","display":"+","kind":"use","occurrences":[35,52,56,58,59,62,89,90,94,104,105,115,137,142,143,147,148]},{"id":"symbol-559aead08264d579","tex":"A","aliases":"A","display":"A","kind":"use","occurrences":[18,19,20,24,26,28,52,89,90,105,108,109,115,137]},{"id":"symbol-7764e407096f3048","tex":"A_e","aliases":"A_e","display":"A_e","kind":"use","occurrences":[105]},{"id":"symbol-0230e8bde40956b0","tex":"\\Acal","aliases":"Acal A mathcal","display":"{\\mathcal A}","kind":"use","occurrences":[51,86,88]},{"id":"symbol-2f0c3277ff0b7098","tex":"\\mathrm{amortization}","aliases":"amortization mathrm","display":"\\mathrm{amortization}","kind":"use","occurrences":[125]},{"id":"symbol-402578a48c09b3d4","tex":"\\mathrm{architecture}","aliases":"architecture mathrm","display":"\\mathrm{architecture}","kind":"use","occurrences":[125]},{"id":"symbol-df7e70e5021544f4","tex":"B","aliases":"B","display":"B","kind":"use","occurrences":[18,19,20,25,148,150]},{"id":"symbol-3e23e8160039594a","tex":"b","aliases":"b","display":"b","kind":"use","occurrences":[54,56,58,59,60,62,65,93,94,96,139,142,143,146,147,148,154]},{"id":"symbol-28bca16a818c103c","tex":"b^2","aliases":"b^2","display":"b^2","kind":"use","occurrences":[60]},{"id":"symbol-2e7d2c03a9507ae2","tex":"c","aliases":"c","display":"c","kind":"use","occurrences":[33,35,111,113,122,124,148,153]},{"id":"symbol-2a62ce5b7390bdd7","tex":"c_e","aliases":"c_e","display":"c_e","kind":"use","occurrences":[111,113]},{"id":"symbol-cdae72f972852da1","tex":"c_f","aliases":"c_f","display":"c_f","kind":"use","occurrences":[111]},{"id":"symbol-860a844f873baee1","tex":"\\operatorname{child}","aliases":"child operatorname","display":"\\operatorname{child}","kind":"use","occurrences":[35]},{"id":"symbol-3f39d5c348e5b79d","tex":"D","aliases":"D","display":"D","kind":"use","occurrences":[19,20,24,25,52,89,90,103,104,115,118,137]},{"id":"symbol-10a6a0ef946e6792","tex":"D^{-1}","aliases":"D^-1","display":"D^{-1}","kind":"use","occurrences":[104]},{"id":"symbol-63ed82a00b685c9b","tex":"D_A","aliases":"D_A","display":"D_A","kind":"use","occurrences":[19,20,24]},{"id":"symbol-ee5bb7d36741efec","tex":"D_B","aliases":"D_B","display":"D_B","kind":"use","occurrences":[19,20,25]},{"id":"symbol-2569dc5eb62aae9e","tex":"D_\\alpha","aliases":"D_α alpha","display":"D_\\alpha","kind":"use","occurrences":[103]},{"id":"symbol-a9f51566bd6705f7","tex":"E","aliases":"E","display":"E","kind":"use","occurrences":[82,83,87,88,105,108,109]},{"id":"symbol-3f79bb7b435b0532","tex":"e","aliases":"e","display":"e","kind":"use","occurrences":[34,35,105,106,107,108,109,111,112,113]},{"id":"symbol-a20a0c8f1552bcce","tex":"E_e","aliases":"E_e","display":"E_e","kind":"use","occurrences":[105,108,109]},{"id":"symbol-29663d1f0bd44f71","tex":"E_\\alpha","aliases":"E_α alpha","display":"E_\\alpha","kind":"use","occurrences":[82,83,87,88]},{"id":"symbol-f67ab10ad4e4c531","tex":"F","aliases":"F","display":"F","kind":"use","occurrences":[26,69,148,149]},{"id":"symbol-252f10c83610ebca","tex":"f","aliases":"f","display":"f","kind":"use","occurrences":[111]},{"id":"symbol-cbeb5f4ee667d5ce","tex":"F_1","aliases":"F_1","display":"F_1","kind":"use","occurrences":[26]},{"id":"symbol-776694e9d4ce89eb","tex":"F_L","aliases":"F_L","display":"F_L","kind":"use","occurrences":[26]},{"id":"symbol-f43c89d5480f3fa1","tex":"F_{L-1}","aliases":"F_L-1","display":"F_{L-1}","kind":"use","occurrences":[26]},{"id":"symbol-1725e2bf2fce3bf7","tex":"\\mathrm{graph}","aliases":"graph mathrm","display":"\\mathrm{graph}","kind":"use","occurrences":[148]},{"id":"symbol-44bd7ae60f478fae","tex":"H","aliases":"H","display":"H","kind":"use","occurrences":[69,73,76,77]},{"id":"symbol-a83dd0ccbffe39d0","tex":"I","aliases":"I","display":"I","kind":"use","occurrences":[11,51,86,87,104]},{"id":"symbol-6da43b944e494e88","tex":"J","aliases":"J","display":"J","kind":"use","occurrences":[35]},{"id":"symbol-a23d735052a1018f","tex":"\\mathrm{kernel}","aliases":"kernel mathrm","display":"\\mathrm{kernel}","kind":"use","occurrences":[125]},{"id":"symbol-72dfcfb0c470ac25","tex":"L","aliases":"L","display":"L","kind":"use","occurrences":[19,20,21,26,29,30]},{"id":"symbol-bfbb661daa93662b","tex":"\\log","aliases":"log","display":"\\log","kind":"use","occurrences":[30,31]},{"id":"symbol-e481658e9c6ce30a","tex":"\\max","aliases":"max","display":"\\max","kind":"use","occurrences":[148]},{"id":"symbol-4d95ab92bdb1dbe9","tex":"\\min","aliases":"min","display":"\\min","kind":"use","occurrences":[35]},{"id":"symbol-c2a0f098f8a86ce1","tex":"\\min_{o\\in\\mathcal O_v}","aliases":"min_o∈ O_v min in mathcal","display":"\\min_{o\\in\\mathcal O_v}","kind":"use","occurrences":[35]},{"id":"symbol-1b16b1df538ba12d","tex":"n","aliases":"n","display":"n","kind":"use","occurrences":[27,29,30,31,53,56,57,58,59,60,61,62,63,64,94,95,96,98,100,101,126,134,138,142,143,144,145,146,147]},{"id":"symbol-12dcb271d25c745a","tex":"n^2","aliases":"n^2","display":"n^2","kind":"use","occurrences":[57,63,95,144,145]},{"id":"symbol-7bc2fe684c29431d","tex":"\\norm","aliases":"norm","display":null,"kind":"use","occurrences":[108]},{"id":"symbol-c4694f2e93d5c4e7","tex":"O","aliases":"O","display":"O","kind":"use","occurrences":[27,29,30,31]},{"id":"symbol-6ca61f3078014d2e","tex":"\\mathcal O","aliases":"O mathcal","display":"\\mathcal O","kind":"use","occurrences":[35]},{"id":"symbol-65c74c15a686187b","tex":"o","aliases":"o","display":"o","kind":"use","occurrences":[32,33,34,35]},{"id":"symbol-6a2e772e59bdd377","tex":"\\mathcal O_v","aliases":"O_v mathcal","display":"\\mathcal O_v","kind":"use","occurrences":[35]},{"id":"symbol-5c62e091b8c0565f","tex":"P","aliases":"P","display":"P","kind":"use","occurrences":[11,13,50,83,108,109,148,151]},{"id":"symbol-33a5f2682723cba6","tex":"P_\\alpha","aliases":"P_α alpha","display":"P_\\alpha","kind":"use","occurrences":[11,13,50,83]},{"id":"symbol-056b9963f80df264","tex":"P_{\\alpha(e)}","aliases":"P_α(e) alpha","display":"P_{\\alpha(e)}","kind":"use","occurrences":[108,109]},{"id":"symbol-aad7607e608d0052","tex":"P_\\beta","aliases":"P_β beta","display":"P_\\beta","kind":"use","occurrences":[11,13,50]},{"id":"symbol-003001ebf5867324","tex":"\\prec","aliases":"prec","display":null,"kind":"use","occurrences":[72,73,75,76,77]},{"id":"symbol-8765519f7f855f36","tex":"\\prec_H","aliases":"prec_H prec","display":null,"kind":"use","occurrences":[73,76,77]},{"id":"symbol-8e35c2cd3bf6641b","tex":"q","aliases":"q","display":"q","kind":"use","occurrences":[91,92,94,95,96,98,100,102,141,142,144,146]},{"id":"symbol-8c2574892063f995","tex":"R","aliases":"R","display":"R","kind":"use","occurrences":[19,20,23]},{"id":"symbol-32fe36360874826c","tex":"\\mathfrak R","aliases":"R mathfrak","display":"\\mathfrak R","kind":"use","occurrences":[15]},{"id":"symbol-454349e422f05297","tex":"r","aliases":"r","display":"r","kind":"use","occurrences":[55,56,58,59,61,62,66,91,94,98,100,140,142,143,146,147]},{"id":"symbol-4a5bc4ec3d738895","tex":"\\mathrm{representation}","aliases":"representation mathrm","display":"\\mathrm{representation}","kind":"use","occurrences":[125]},{"id":"symbol-8de0b3c47f112c59","tex":"S","aliases":"S","display":"S","kind":"use","occurrences":[17,18,19,22,125]},{"id":"symbol-043a718774c572bd","tex":"s","aliases":"s","display":"s","kind":"use","occurrences":[111,112]},{"id":"symbol-cf8c7f65df694c86","tex":"S^{-1}","aliases":"S^-1","display":"S^{-1}","kind":"use","occurrences":[18,19]},{"id":"symbol-9ddb8850545745e5","tex":"S_{\\mathrm{amortization}}","aliases":"S_amortization mathrm","display":"S_{\\mathrm{amortization}}","kind":"use","occurrences":[125]},{"id":"symbol-3ca3008e6912f578","tex":"S_{\\mathrm{architecture}}","aliases":"S_architecture mathrm","display":"S_{\\mathrm{architecture}}","kind":"use","occurrences":[125]},{"id":"symbol-7aa9c815c9ae3803","tex":"s_e","aliases":"s_e","display":"s_e","kind":"use","occurrences":[111,112]},{"id":"symbol-d211ee7d05cd66c9","tex":"S_{\\mathrm{kernel}}","aliases":"S_kernel mathrm","display":"S_{\\mathrm{kernel}}","kind":"use","occurrences":[125]},{"id":"symbol-3b736f10fdbaef26","tex":"S_{\\mathrm{representation}}","aliases":"S_representation mathrm","display":"S_{\\mathrm{representation}}","kind":"use","occurrences":[125]},{"id":"symbol-e0890cf6c64b7328","tex":"S_{\\mathrm{total}}","aliases":"S_total mathrm","display":"S_{\\mathrm{total}}","kind":"use","occurrences":[125]},{"id":"symbol-b764f1cbd00009f2","tex":"\\Scal","aliases":"Scal S mathcal","display":"{\\mathcal S}","kind":"use","occurrences":[51,86,88]},{"id":"symbol-e632b7095b0bf32c","tex":"T","aliases":"T","display":"T","kind":"use","occurrences":[12,13,14,50,148]},{"id":"symbol-8ea3039f3fbba75a","tex":"T_{\\mathrm{graph}}","aliases":"T_graph mathrm","display":"T_{\\mathrm{graph}}","kind":"use","occurrences":[148]},{"id":"symbol-250004212eff8da7","tex":"T_{\\beta\\alpha}","aliases":"T_βα beta alpha","display":"T_{\\beta\\alpha}","kind":"use","occurrences":[13,14]},{"id":"symbol-3e3becea69293024","tex":"\\mathrm{total}","aliases":"total mathrm","display":"\\mathrm{total}","kind":"use","occurrences":[125]},{"id":"symbol-a25513c7e0f6eaa8","tex":"U","aliases":"U","display":"U","kind":"use","occurrences":[52,81,83,84,85,88,89,90,99,104,115,116,120,137]},{"id":"symbol-0bfe935e70c321c7","tex":"u","aliases":"u","display":"u","kind":"use","occurrences":[35]},{"id":"symbol-1296a5898d2e7d5f","tex":"U^*","aliases":"U^*","display":"U^*","kind":"use","occurrences":[83,85,88]},{"id":"symbol-de5a6f78116eca62","tex":"V","aliases":"V","display":"V","kind":"use","occurrences":[52,89,90,97,104,115,117,119,120,121,137]},{"id":"symbol-4c94485e0c21ae6c","tex":"v","aliases":"v","display":"v","kind":"use","occurrences":[35,68,70,71,74,78,79,80]},{"id":"symbol-4b270ddb72d4b503","tex":"V^*","aliases":"V^*","display":"V^*","kind":"use","occurrences":[52,89,90,97,104,115,119,120,121,137]},{"id":"symbol-fcb5f40df9be6bae","tex":"W","aliases":"W","display":"W","kind":"use","occurrences":[69,148,152]},{"id":"symbol-8d3781ce495edcf4","tex":"\\widehat A","aliases":"widehat A widehat","display":"\\widehat A","kind":"use","occurrences":[105,108,109]},{"id":"symbol-4b68ab3847feda7d","tex":"X","aliases":"X","display":"X","kind":"use","occurrences":[11,12,90,97,118,119,120,121]},{"id":"symbol-2d711642b726b044","tex":"x","aliases":"x","display":"x","kind":"use","occurrences":[88,108,109]},{"id":"symbol-1e9458c4c7da9d3b","tex":"X_\\alpha","aliases":"X_α alpha","display":"X_\\alpha","kind":"use","occurrences":[11]},{"id":"symbol-a1fce4363854ff88","tex":"y","aliases":"y","display":"y","kind":"use","occurrences":[122,123,124]},{"id":"symbol-349ba76d907adfab","tex":"\\times","aliases":"× times","display":"\\times","kind":"use","occurrences":[1,3,4,7,8,9,10,36,37,38,40,67,91,129,132,133,170,171,172,175,178]},{"id":"symbol-4893e9df8b5496eb","tex":"\\alpha","aliases":"α alpha","display":"\\alpha","kind":"use","occurrences":[11,13,14,50,82,83,87,88,103,107,108,109]},{"id":"symbol-f3f3804480e8551a","tex":"\\beta","aliases":"β beta","display":"\\beta","kind":"use","occurrences":[11,13,14,50]},{"id":"symbol-d203ba01eef4198c","tex":"\\delta","aliases":"δ delta","display":"\\delta","kind":"use","occurrences":[11]},{"id":"symbol-0fcb1c3cf5e3bf16","tex":"\\delta_{\\alpha\\beta}","aliases":"δ_αβ delta alpha beta","display":"\\delta_{\\alpha\\beta}","kind":"use","occurrences":[11]},{"id":"symbol-daec86669d42946c","tex":"\\varepsilon","aliases":"ε varepsilon","display":"\\varepsilon","kind":"use","occurrences":[111]},{"id":"symbol-2fc46a82cd7318e7","tex":"\\varepsilon_e","aliases":"ε_e varepsilon","display":"\\varepsilon_e","kind":"use","occurrences":[111]},{"id":"symbol-59a94416a2a319ca","tex":"\\eta","aliases":"η eta","display":"\\eta","kind":"use","occurrences":[148,153,154]},{"id":"symbol-d50122673779d86f","tex":"\\eta_b","aliases":"η_b eta","display":"\\eta_b","kind":"use","occurrences":[148,154]},{"id":"symbol-5a74287168683605","tex":"\\eta_c","aliases":"η_c eta","display":"\\eta_c","kind":"use","occurrences":[148,153]},{"id":"symbol-583cf6290785d72c","tex":"\\lambda","aliases":"λ lambda","display":"\\lambda","kind":"use","occurrences":[35]},{"id":"symbol-492247e1bab15272","tex":"\\mu","aliases":"μ mu","display":"\\mu","kind":"use","occurrences":[159,161,163,165,167,169]},{"id":"symbol-1e6eb42c12591791","tex":"\\to","aliases":"→ to","display":"\\to","kind":"use","occurrences":[12,114]},{"id":"symbol-729f2cd8398e9960","tex":"\\in","aliases":"∈ in","display":"\\in","kind":"use","occurrences":[11,35,105,108]},{"id":"symbol-56dadbdf217ad92b","tex":"\\sum","aliases":"∑ sum","display":"\\sum","kind":"use","occurrences":[11,14,35,87,88,105,108,109,111]},{"id":"symbol-ec1616068a6ee172","tex":"\\sum_e","aliases":"∑_e sum","display":"\\sum_e","kind":"use","occurrences":[109]},{"id":"symbol-6d1546afc3ef11e5","tex":"\\sum_{e\\in E}","aliases":"∑_e∈ E sum in","display":"\\sum_{e\\in E}","kind":"use","occurrences":[105,108]},{"id":"symbol-f7155be421cc3965","tex":"\\sum_f","aliases":"∑_f sum","display":"\\sum_f","kind":"use","occurrences":[111]},{"id":"symbol-d36e379ac40623d3","tex":"\\sum_{u\\in\\operatorname{child}(o)}","aliases":"∑_u∈child(o) sum in operatorname","display":"\\sum_{u\\in\\operatorname{child}(o)}","kind":"use","occurrences":[35]},{"id":"symbol-6d8e30d9f2646a56","tex":"\\sum_\\alpha","aliases":"∑_α sum alpha","display":"\\sum_\\alpha","kind":"use","occurrences":[87,88]},{"id":"symbol-722d121a5352a8a2","tex":"\\sum_{\\alpha,\\beta}","aliases":"∑_α,β sum alpha beta","display":"\\sum_{\\alpha,\\beta}","kind":"use","occurrences":[14]},{"id":"symbol-cabedb544f677980","tex":"\\sum_{\\alpha\\in I}","aliases":"∑_α∈ I sum alpha in","display":"\\sum_{\\alpha\\in I}","kind":"use","occurrences":[11]},{"id":"symbol-268b204a015c2f68","tex":"\\approx","aliases":"≈ approx","display":"\\approx","kind":"use","occurrences":[39]},{"id":"symbol-7a03384e6e8b8519","tex":"\\le","aliases":"≤ le","display":"\\le","kind":"use","occurrences":[108]},{"id":"symbol-50af2c348b6b2fe6","tex":"\\bigoplus","aliases":"⊕ bigoplus","display":"\\bigoplus","kind":"use","occurrences":[11]},{"id":"symbol-90b882d77bb3725c","tex":"\\bigoplus_{\\alpha\\in I}","aliases":"⊕_α∈ I bigoplus alpha in","display":"\\bigoplus_{\\alpha\\in I}","kind":"use","occurrences":[11]},{"id":"symbol-4f3867cf1346eed7","tex":"\\cdots","aliases":"⋯ cdots","display":"\\cdots","kind":"use","occurrences":[26]},{"id":"symbol-942faac63e3ce23f","tex":"\\longrightarrow","aliases":"⟶ longrightarrow","display":"\\longrightarrow","kind":"use","occurrences":[16,177]}],"contexts":["The software basis already exists. On the recorded RTX 3070 Ti Laptop GPU, an equal-block packet operator was measured at $0.046032$ ms and ran $14.8919\\times$ faster than its matched device-resident dense GPU row. A BDLR packet path with CUDA Graph replay was measured at $0.079872$ ms and ran $10.9355\\times$ faster than the matched dense GPU row. Graph replay improved the same packet representation by about $1.218\\times$. A compressed BDLR product took $0.1582$ ms, while materializing the output took $0.5073$ ms. These measurements show that the calculus can already execute on CUDA without preserving a dense matrix.","basis already exists. On the recorded RTX 3070 Ti Laptop GPU, an equal-block packet operator was measured at $0.046032$ ms and ran $14.8919\\times$ faster than its matched device-resident dense GPU row. A BDLR packet path with CUDA Graph replay was measured at $0.079872$ ms and ran $10.9355\\times$ faster than the matched dense GPU row. Graph replay improved the same packet representation by about $1.218\\times$. A compressed BDLR product took $0.1582$ ms, while materializing the output took $0.5073$ ms. These measurements show that the calculus can already execute on CUDA without preserving a dense matrix.","Ti Laptop GPU, an equal-block packet operator was measured at $0.046032$ ms and ran $14.8919\\times$ faster than its matched device-resident dense GPU row. A BDLR packet path with CUDA Graph replay was measured at $0.079872$ ms and ran $10.9355\\times$ faster than the matched dense GPU row. Graph replay improved the same packet representation by about $1.218\\times$. A compressed BDLR product took $0.1582$ ms, while materializing the output took $0.5073$ ms. These measurements show that the calculus can already execute on CUDA without preserving a dense matrix.","s measured at $0.046032$ ms and ran $14.8919\\times$ faster than its matched device-resident dense GPU row. A BDLR packet path with CUDA Graph replay was measured at $0.079872$ ms and ran $10.9355\\times$ faster than the matched dense GPU row. Graph replay improved the same packet representation by about $1.218\\times$. A compressed BDLR product took $0.1582$ ms, while materializing the output took $0.5073$ ms. These measurements show that the calculus can already execute on CUDA without preserving a dense matrix.","PRISM addresses the work left after the representation has already improved. Its likely advantages come from resident factor reuse, packet gather and scatter, transform-to-solver handoff, grouped small-block dispatch, local refinement, deterministic graph replay, and certificate accumulation. The architecture model estimates gains of $2.96\\times$ for the resident edge-recovery chain, $1.64\\times$ for a fused multi-atlas path, and $1.42\\times$ for a shape-batched Bayesian portfolio. Those are architecture estimates. They are not silicon measurements.","the representation has already improved. Its likely advantages come from resident factor reuse, packet gather and scatter, transform-to-solver handoff, grouped small-block dispatch, local refinement, deterministic graph replay, and certificate accumulation. The architecture model estimates gains of $2.96\\times$ for the resident edge-recovery chain, $1.64\\times$ for a fused multi-atlas path, and $1.42\\times$ for a shape-batched Bayesian portfolio. Those are architecture estimates. They are not silicon measurements.","The earlier $37.8\\times$ dense-route comparison is retained only as a total route model. It combines a better representation with a different architecture. It is not reported as a PRISM-over-CUDA architecture gain.","Projector-resolved computation starts before that flattening step. Let\n\\[\nX=\\bigoplus_{\\alpha\\in I}X_\\alpha,\n\\qquad\nP_\\alpha P_\\beta=\\delta_{\\alpha\\beta}P_\\alpha,\n\\qquad\n\\sum_{\\alpha\\in I}P_\\alpha=I.\n\\]\nFor an operator $T:X\\to X$, the native objects are the transfer blocks\n\\[\nT_{\\beta\\alpha}=P_\\beta T P_\\alpha.\n\\]\nThe complete operator is reconstructed by\n\\[\n\\boxed{T=\\sum_{\\alpha,\\beta}T_{\\beta\\alpha}.}\n\\]\nThe zero pattern, block shapes, rank structure, parent-child relations, and packet sensitivities are part of the problem. PRISM-1 carries them into the execution model instead of asking software to rediscover them after every kernel boundary.","\\section{No dense preservation requirement}\nThe architecture does not begin with a dense matrix and try to compress it after the fact. It begins with a typed operator. That operator may be represented as\n\\[\n\\boxed{\n\\begin{aligned}\n\\mathfrak R=\\{&\\text{explicit array},\\ \\text{block},\\ \\text{block sparse},\\ \\text{low rank},\\ \\text{BDLR},\\\\\n&\\text{Kronecker},\\ \\text{sparse chain},\\ \\text{transform plan},\\ \\text{packet graph}\\}.\n\\end{aligned}\n}\n\\]\nA dense representation is useful when no better form exists or when a downstream user explicitly asks for every entry. It is not a state that the chip must preserve.","\\section{CUDA-like execution hierarchy}\nCUDA made heterogeneous arithmetic programmable through a hierarchy of lanes, warps, blocks, grids, and memories. PRISM uses an analogous execution hierarchy while retaining the mathematical structure that CUDA kernels normally receive only through software conventions:\n\\[\n\\boxed{\n\\text{lane}\n\\longrightarrow\n\\text{packet warp}\n\\longrightarrow\n\\text{execution group}\n\\longrightarrow\n\\text{Packet Streaming Multiprocessor}\n\\longrightarrow\n\\text{packet graph}.\n}\n\\]\nA packet warp may invoke a matrix group, vector lanes, a transform engine, a small solver, exact arithmetic, or a memory operator. The representation router chooses the form declared by Packet IR. Several forms may appear in one graph.","\\section{Compatible middle bases}\nThe intermediate basis is part of the optimization. For any invertible $S$,\n\\[\nAB=(AS)(S^{-1}B).\n\\]\nSuppose\n\\[\nA=L D_A S^{-1},\n\\qquad\nB=S D_B R.\n\\]\nThen\n\\[\n\\boxed{AB=L(D_AD_B)R.}\n\\]\nWhen $L$, $S$, and $R$ have fast application and $D_A$, $D_B$ are block diagonal, the product inherits the blockwise cost plus the transform costs. Fourier diagonalization of circulants, simultaneous diagonalization, symmetry sectors, and tensor factorizations are instances of the same rule.","\\section{Sparse chains and transform plans}\nA matrix may be dense as an array and cheap as an operator. If\n\\[\nA=F_LF_{L-1}\\cdots F_1\n\\]\nand each factor has $O(n)$ nonzero entries, then applying $A$ costs $O(nL)$. If $L=O(\\log n)$, the cost is $O(n\\log n)$. FFT and butterfly operators fit this pattern. PRISM stores the factor chain and executes it. It does not store the dense array represented by the chain.","For a fixed candidate tree, each choice $o$ has a local cost $c(o)$, a local error $e(o)$, and zero or more children. The planner evaluates\n\\[\nJ(v)=\\min_{o\\in\\mathcal O_v}\n\\left[\n c(o)+\\lambda e(o)^2+\n \\sum_{u\\in\\operatorname{child}(o)}J(u)\n\\right].\n\\]\nBottom-up evaluation is globally optimal on the fixed tree because every feasible plan consists of one local choice followed by feasible child plans.","Execution group array & $16\\times16$ matrix array plus vector lanes","\\section{Compute-chiplet layout}\nThe reference chiplet places a $4\\times4$ mesh of Packet Streaming Multiprocessors at its center. Every multiprocessor contains four execution groups, giving 64 matrix and vector groups per chiplet. Transform engines sit along one edge, solver engines along another, shared SRAM banks line the data path, and the UCIe router occupies a package-facing edge. This is a planning floorplan rather than a placed design. Its purpose is to make communication and locality assumptions visible early.","\\section{Modeled arithmetic peaks}\nWith 256 execution groups and one $16\\times16$ matrix array per group, the model yields\n\\[\n\\boxed{\n\\begin{aligned}\n\\text{FP16 or BF16} &\\approx 196.6\\text{ TFLOP/s},","\\section{Modeled arithmetic peaks}\nWith 256 execution groups and one $16\\times16$ matrix array per group, the model yields\n\\[\n\\boxed{\n\\begin{aligned}\n\\text{FP16 or BF16} &\\approx 196.6\\text{ TFLOP/s},\\\\\n\\text{FP32} &\\approx 98.3\\text{ TFLOP/s},\\\\\n\\text{FP64} &\\approx 24.6\\text{ TFLOP/s}.\n\\end{aligned}}\n\\]\nThese are model peaks. The design is not organized around a claim of superior generic dense throughput. Its purpose is to execute fewer operations and move fewer bytes when the selected representation proves that the explicit array is unnecessary.","\\section{Execution groups}\nEach of the four execution groups contains a $16\\times16$ matrix array and programmable vector lanes. Equal-shape blocks can be grouped across execution groups. The same lanes handle low-rank contractions, Kronecker mode products, sparse-chain factors, selectors, reductions, index generation, and generic leaves.","\\begin{definition}[Packet descriptor]\nA packet descriptor is a typed record\n\\[\n\\mathsf P=(i,p,a,\\sigma,\\mathbf n,\\ell,\\pi,\\tau),\n\\]\nwhere $i$ is the packet ID, $p$ is the parent, $a$ is the atlas, $\\sigma$ is the selector type, $\\mathbf n$ is the shape, $\\ell$ is the storage location, $\\pi$ is the precision tag, and $\\tau$ is the allowed local error contribution.\n\\end{definition}","\\section{Transfer edge descriptor}\nThe transfer descriptor is the hardware form of $P_\\beta T P_\\alpha$. It identifies the source and destination packets, operator class, shape, rank, precision, sensitivity, payload, and dependency token.","\\section{Atlas descriptor}\nAn atlas descriptor records an analysis graph, a synthesis graph, normalization data, and packet selectors. A unitary transform uses its adjoint for synthesis. A redundant exact frame records the canonical dual or another declared synthesis map satisfying\n\\[\n\\Scal\\Acal=I.\n\\]","\\section{Representation-first storage}\nFor an equal-block BDLR operator\n\\[\nA=D+UV^*,\n\\]\nwith dimension $n$, block width $b$, and rank $r$, the stored scalar count is\n\\[\n\\boxed{n(b+2r)}\n\\]\nin place of $n^2$.","\\begin{proposition}[BDLR representation reduction]\nIf $b+2r<n$, BDLR storage reduces the scalar count by\n\\[\n\\boxed{\\frac{n}{b+2r}.}\n\\]\nThe same factor appears in the ideal apply count for a fixed number of right-hand sides.\n\\end{proposition}","\\begin{proof}\nThe block-diagonal part stores $(n/b)b^2=nb$ scalars. The two rank factors store $2nr$. The total is $n(b+2r)$. A full array stores $n^2$ scalars.\n\\end{proof}","\\begin{figure}[H]\n\\centering\n\\includegraphics[width=0.76\\linewidth]{16_representation_memory.pdf}\n\\caption{Stored BDLR representation for the model case $n=8192$, $b=64$, and $r=8$.}\n\\end{figure}","\\section{PSM mesh}\nEach compute chiplet uses a $4\\times4$ mesh of Packet Streaming Multiprocessors. Routers support unicast, multicast, and tree reduction. Multicast distributes low-rank factors, Kronecker factors, and transform data. Reduction combines destination contributions, small contractions, posterior scores, and residuals.","\\section{Local refinement}\nSuppose a parent packet task $v$ is replaced by an acyclic child module $H=(W,F)$. Predecessors of $v$ connect to child entries. Child exits connect to successors of $v$.","\\begin{theorem}[Topological splice]\nLet $\\prec$ be a topological order of the original graph and let $\\prec_H$ be a topological order of the child module. Replacing $v$ in $\\prec$ by $\\prec_H$ gives a topological order of the refined graph. Every unaffected pair of context tasks keeps its relative order.\n\\end{theorem}","\\begin{proof}\nEvery context edge is unchanged. Every child edge is respected by $\\prec_H$. Every predecessor of $v$ appeared before $v$ and therefore before the inserted child order. Every successor appeared after $v$ and therefore after the inserted child order. Removing the inserted children restores the original context order.\n\\end{proof}","\\section{Exact analysis and synthesis}\nLet $U$ be unitary and let $E_\\alpha$ be coordinate selectors. The pulled-back projectors are\n\\[\nP_\\alpha=U^*E_\\alpha U.\n\\]\nThe hardware analysis applies $U$ and selects the coordinates. Synthesis scatters the selected coordinates and applies $U^*$.","\\begin{theorem}[Transform-atlas hardware contract]\nIf the selector family is complete, the analysis and synthesis command graphs satisfy\n\\[\n\\boxed{\\Scal\\Acal=I.}\n\\]\nIf the selector family is incomplete, the certificate must report the omitted-coordinate residual.\n\\end{theorem}","\\begin{proof}\nFor a complete selector family, $\\sum_\\alpha E_\\alpha=I$. Hence\n\\[\n\\Scal\\Acal x\n=U^*\\left(\\sum_\\alpha E_\\alpha\\right)Ux\n=U^*Ux\n=x.\n\\]\nThe incomplete case replaces the identity by the declared selector sum.\n\\end{proof}","\\section{BDLR dataflow}\nFor\n\\[\nA=D+UV^*,\n\\]\nthe apply is\n\\[\nAX=DX+U(V^*X).\n\\]\nThe diagonal blocks remain distributed. The $r\\times q$ contraction is reduced and broadcast.","\\begin{theorem}[BDLR apply count]\nFor $q$ right-hand sides and equal packet width $b$, the modeled arithmetic count is\n\\[\n\\boxed{2qn(b+2r).}\n\\]\nA dense apply requires $2qn^2$ operations.\n\\end{theorem}","\\begin{proof}\nThe block-diagonal product costs $2qnb$. The contraction $V^*X$ costs $2nrq$. Multiplication by $U$ costs another $2nrq$. Adding the terms does not change the leading expression.\n\\end{proof}","\\section{Where BDLR remains useful}\nThe low-rank path is not uniformly favorable. Its benefit depends on block width, correction rank, right-hand-side count, and factor reuse. The reference model sweeps a range of block sizes and ranks while holding $n=8192$ and $q=32$ fixed.","\\section{Woodbury solve}\nThe chip uses packet solves with $D_\\alpha$ and one small dense correction:\n\\[\n(D+UV^*)^{-1}\n=D^{-1}-D^{-1}U(I+V^*D^{-1}U)^{-1}V^*D^{-1}.\n\\]\nThe solver engines handle the rank-sized middle system.","\\begin{theorem}[Packet error bound]\nLet\n\\[\nA=\\sum_{e\\in E}A_e,\n\\qquad\n\\widehat A=\\sum_{e\\in E}(A_e+E_e).\n\\]\nIf edge $e$ starts in packet $\\alpha(e)$, then\n\\[\n\\boxed{\n\\norm{(\\widehat A-A)x}\n\\le\n\\sum_{e\\in E}\\norm{E_e}\\norm{P_{\\alpha(e)}x}.}\n\\]\n\\end{theorem}","\\begin{proof}\nExact packet reconstruction gives\n\\[\n(\\widehat A-A)x=\\sum_eE_eP_{\\alpha(e)}x.\n\\]\nThe triangle inequality gives the bound.\n\\end{proof}","\\section{Precision allocation}\nUnder a logarithmic cost model and total error budget $\\tau$, the continuous allocation is\n\\[\n\\varepsilon_e\n=\\frac{\\tau c_e}{s_e\\sum_f c_f},\n\\]\nwhere $s_e$ is sensitivity and $c_e$ is cost. The compiler maps the result to supported formats.","\\section{Why this belongs on the chip}\nThe arithmetic calculus and the signal calculus share the same structural operations:\n\\[\n\\text{residue packet}\n\\to\n\\text{transfer}\n\\to\n\\text{refinement}\n\\to\n\\text{weighted reconstruction}.\n\\]\nThe exact arithmetic path is smaller than the floating-point path, but it allows the same descriptor and graph system to execute p-adic, recurrence, and finite-field packet workloads.","\\section{Worked BDLR compilation}\nA BDLR operator enters the compiler as the typed identity $A=D+UV^*$. No explicit matrix is constructed. The legality pass checks dimensions and the requested output form. The representation pass keeps the factors. Placement co-locates each diagonal block with the corresponding rows of $U$ and $V$. Precision is assigned per transfer contribution. The schedule computes $DX$, reduces $V^*X$, broadcasts the small contraction, and forms $U(V^*X)$ locally.","on{Worked BDLR compilation}\nA BDLR operator enters the compiler as the typed identity $A=D+UV^*$. No explicit matrix is constructed. The legality pass checks dimensions and the requested output form. The representation pass keeps the factors. Placement co-locates each diagonal block with the corresponding rows of $U$ and $V$. Precision is assigned per transfer contribution. The schedule computes $DX$, reduces $V^*X$, broadcasts the small contraction, and forms $U(V^*X)$ locally.","compilation}\nA BDLR operator enters the compiler as the typed identity $A=D+UV^*$. No explicit matrix is constructed. The legality pass checks dimensions and the requested output form. The representation pass keeps the factors. Placement co-locates each diagonal block with the corresponding rows of $U$ and $V$. Precision is assigned per transfer contribution. The schedule computes $DX$, reduces $V^*X$, broadcasts the small contraction, and forms $U(V^*X)$ locally.","the typed identity $A=D+UV^*$. No explicit matrix is constructed. The legality pass checks dimensions and the requested output form. The representation pass keeps the factors. Placement co-locates each diagonal block with the corresponding rows of $U$ and $V$. Precision is assigned per transfer contribution. The schedule computes $DX$, reduces $V^*X$, broadcasts the small contraction, and forms $U(V^*X)$ locally.","\\section{Block diagonal plus low rank}\nThe host submits packet descriptors for the diagonal blocks and factor rows. The graph contains one block batch, one reduction for $V^*X$, one factor broadcast, one local update, and one certificate. The dense matrix is absent from the graph and from memory.","\\begin{theorem}[Certified commit]\nSuppose a command result is provisional until a certificate $c(y)$ is evaluated. If the commit controller releases $y$ only when $c(y)$ satisfies the declared acceptance rule, then every visible result has passed that rule. A failed result cannot satisfy a downstream completion token.\n\\end{theorem}","\\section{Four different sources of gain}\nA fair result must say what changed. The total route may improve because the mathematics removed work, because the same representation ran better on another device, because a kernel was fused or graph-replayed, or because one-time setup was amortized. These are different quantities:\n\\[\nS_{\\mathrm{total}}\n=\nS_{\\mathrm{representation}}\nS_{\\mathrm{architecture}}\nS_{\\mathrm{kernel}}\nS_{\\mathrm{amortization}}.\n\\]\nThis is a bookkeeping identity only when every factor comes from matched rows with the same output contract and timing scope. Otherwise the factors are reported separately.","\\section{Measured CUDA foundation}\nThe prior packet-GPU study contains 154 matched CPU and GPU rows. The recorded GPU is an RTX 3070 Ti Laptop GPU. For $n=8192$, block width $64$, and 32 right-hand sides, the equal-block packet path took $0.046032$ ms and was $14.8919\\times$ faster than the matched device-resident dense GPU row. For BDLR with rank eight, the standard packet path took $0.097280$ ms and CUDA Graph replay took $0.079872$ ms. The graph row was $10.9355\\times$ faster than the matched dense GPU row. The graph improvement over the standard packet path was about $1.218\\times$.","tion}\nThe prior packet-GPU study contains 154 matched CPU and GPU rows. The recorded GPU is an RTX 3070 Ti Laptop GPU. For $n=8192$, block width $64$, and 32 right-hand sides, the equal-block packet path took $0.046032$ ms and was $14.8919\\times$ faster than the matched device-resident dense GPU row. For BDLR with rank eight, the standard packet path took $0.097280$ ms and CUDA Graph replay took $0.079872$ ms. The graph row was $10.9355\\times$ faster than the matched dense GPU row. The graph improvement over the standard packet path was about $1.218\\times$.","contains 154 matched CPU and GPU rows. The recorded GPU is an RTX 3070 Ti Laptop GPU. For $n=8192$, block width $64$, and 32 right-hand sides, the equal-block packet path took $0.046032$ ms and was $14.8919\\times$ faster than the matched device-resident dense GPU row. For BDLR with rank eight, the standard packet path took $0.097280$ ms and CUDA Graph replay took $0.079872$ ms. The graph row was $10.9355\\times$ faster than the matched dense GPU row. The graph improvement over the standard packet path was about $1.218\\times$.","and 32 right-hand sides, the equal-block packet path took $0.046032$ ms and was $14.8919\\times$ faster than the matched device-resident dense GPU row. For BDLR with rank eight, the standard packet path took $0.097280$ ms and CUDA Graph replay took $0.079872$ ms. The graph row was $10.9355\\times$ faster than the matched dense GPU row. The graph improvement over the standard packet path was about $1.218\\times$.","A compressed BDLR product at $n=1024$ took $0.1582$ ms. Materializing the explicit output took $0.5073$ ms. Those rows have different output contracts. The comparison shows the cost of requesting every entry. It is not a claim that one result is a faster implementation of the other.","\\section{Representation reduction}\nFor\n\\[\nA=D+UV^*,\n\\]\nwith dimension $n$, block width $b$, rank $r$, and $q$ right-hand sides, a factor-first application uses\n\\[\n2qn(b+2r)\n\\]\nmodeled operations and stores\n\\[\nn(b+2r)\n\\]\nscalars. The corresponding dense counts are $2qn^2$ and $n^2$. For\n\\[\nn=8192,\n\\qquad b=64,\n\\qquad r=8,\n\\qquad q=32,\n\\]\nthe arithmetic and storage reduction is\n\\[\n\\boxed{\\frac{n}{b+2r}=102.4.}\n\\]\nThis reduction belongs to the representation. A CUDA backend and a PRISM backend can both use it.","\\section{PRISM architecture model}\nThe architecture model uses\n\\[\nT=\n\\max\\left(\n\\frac{F}{\\eta_cP},\n\\frac{B}{\\eta_bW}\n\\right)\n+T_{\\mathrm{graph}},\n\\]\nwhere $F$ is arithmetic, $B$ is data movement, $P$ is peak arithmetic, $W$ is bandwidth, and $\\eta_c$, $\\eta_b$ are efficiency factors. The model is used to decide which hardware paths are worth building. It is not a silicon measurement.","\\section{Total route model and architecture-only models}\nThe earlier dense-route comparison predicts $70.79$ microseconds for a dense application and $1.87$ microseconds for the PRISM BDLR route. The ratio is about $37.8$. This is a total route model. It includes representation reduction and therefore is not labeled PRISM-over-CUDA architecture gain.","\\midrule\nFused multi-atlas analysis & $14.73$ $\\mu$s & $8.96$ $\\mu$s","Polyphase edge recovery & $4.00$ $\\mu$s & $1.35$ $\\mu$s","Bayesian model portfolio & $427.93$ $\\mu$s & $300.52$ $\\mu$s","\\bottomrule\n\\end{tabular}\n\\end{center}\nThe corresponding modeled gains are $1.64\\times$, $2.96\\times$, and $1.42\\times$. These are the present estimates of what residency, fusion, local solvers, and packet scheduling may add after a structured representation is already in use.","\\begin{certificate}[Current executable result]\nThe behavioral and architecture model passes\n\\[\n\\boxed{18/18\\text{ self-tests}}\n\\]\nand the independent pytest suite passes\n\\[\n\\boxed{18/18\\text{ tests}.}\n\\]\nThe largest semantic residual is the BDLR comparison residual\n\\[\n1.42\\times10^{-14},\n\\]\nwhich is consistent with floating-point roundoff.\n\\end{certificate}","\\chapter{Final architecture statement}\nThe final design follows one principle:\n\\[\n\\boxed{\n\\text{Do not materialize, move, or schedule structure that the calculus has already declared inactive.}\n}\n\\]\nThe machine executes\n\\[\n\\begin{aligned}\n\\text{seed object}\n&\\longrightarrow \\text{Packet IR}","\\chapter{Final architecture statement}\nThe final design follows one principle:\n\\[\n\\boxed{\n\\text{Do not materialize, move, or schedule structure that the calculus has already declared inactive.}\n}\n\\]\nThe machine executes\n\\[\n\\begin{aligned}\n\\text{seed object}\n&\\longrightarrow \\text{Packet IR}\\\\\n&\\longrightarrow \\text{mixed-representation plan}\\\\\n&\\longrightarrow \\text{packet warps on CUDA or PRISM}\\\\\n&\\longrightarrow \\text{local refinement and synthesis}\\\\\n&\\longrightarrow \\text{certificate and commit}.\n\\end{aligned}\n\\]\nPRISM-1 is a CUDA-like packet-programmable processor, not a dense-matrix preservation machine. Its hardware state may be a factor graph, transform chain, packet tree, sparse operator, explicit array, or mixture of those forms. The requested output contract determines what must be returned.","Execution group & $16\\times16$ matrix array plus programmable vector lanes"]}
