Skip to content

Commit 30fc960

Browse files
committed
feat(standalone): emit FP32/rv32imf platform kernels for Stage-2 problems
The platform's Stage-2 paper (fwht/winograd/spmm) is float32 with -march=rv32imf and self-describing inputs; the previous Q16.16 int32 kernels could never pass it. - _emit_platform_fwht: int32 -> float32 (flw/fsw/fadd.s/fsub.s), same butterfly order as the oracle - _emit_platform_conv: rewrite to the winograd ABI ([batch,H,W,Cin,Cout,K] header, NHWC feat, OIHW weights, NCHW out, SAME pad, no bias) - _emit_platform_spmm: rewrite to the spmm ABI ([M,K,N,nnz] + row_ptr + col_idx int32 + values + B float32) - emit_platform_asm: route Conv/WinogradConv to the FP32 conv kernel - tests: extend the in-test interpreter with RV32F ops; move platform-kernel and Stage-2 references to float32/new ABI Verified: platform_asm + kernels 16 passed; Stage-2 30 passed; submitted to the platform -> fwht 30/30, winograd 30/30, spmm 40/40.
1 parent 91286f6 commit 30fc960

3 files changed

Lines changed: 390 additions & 348 deletions

File tree

0 commit comments

Comments
 (0)