Routine name → the WGSL source(s) its getPipeline() calls reference. Keys are the exact
shader names getPipeline(device, name) is called with — most routines have one, some pick
one of several conditionally (e.g. sgemv's sgemv_n/sgemv_t, by trans), and some have no
dedicated shader at all:
sgemmtr/ssyrk/ssyr2k all dispatch through sgemmtr_small/sgemmtr_large.
strsm reuses strsv_invert_block and sscal, plus its own block_transfer and the
shared sgemm_small/sgemm_large.
dasum/idamax concatenate several f64 utility shaders with their own — see
getPipeline's shaderName: string[] behaviour.
random has no entry — CPU-only, no getPipeline() call.
Built up entry by entry so each import sits next to the mapping entry that uses it.
Routine name → the WGSL source(s) its
getPipeline()calls reference. Keys are the exact shader namesgetPipeline(device, name)is called with — most routines have one, some pick one of several conditionally (e.g. sgemv'ssgemv_n/sgemv_t, bytrans), and some have no dedicated shader at all:sgemmtr/ssyrk/ssyr2kall dispatch throughsgemmtr_small/sgemmtr_large.strsmreusesstrsv_invert_blockandsscal, plus its ownblock_transferand the sharedsgemm_small/sgemm_large.dasum/idamaxconcatenate several f64 utility shaders with their own — seegetPipeline'sshaderName: string[]behaviour.randomhas no entry — CPU-only, nogetPipeline()call.Built up entry by entry so each import sits next to the mapping entry that uses it.