==> program.toml <==1# A native worker program (README "Native workers"): an executable per target,
2# built by scripts/build-programs.sh into <catalog>/gemm/<target triple>/gemm.
3name = "gemm"
4abi = 6
5backends = ["native"]
6view_bytes = 0x8000
7snap_bytes = 0x40
8nodes = 1
9# Jobs (plan F5): each item (OP_JOB) is one size^3 GEMM (the view's size word;
10# OP_INIT sets 1024, a job's `setup 7:<n>` another), result its microseconds,
11# job_out (n, GFLOP/s): `job submit gemm items 200 setup 7:2048`. On demand:
12# `task gemm 0 <n>` runs one of n, `task gemm 4 <n>` the plain Rust loop,
13# `task gemm 5 <n>` the fast path on one thread, `task gemm 3 <n>` (n <= 64)
14# writes C to the view at 0x1000 for the reference check.
15policy = "job"
16job_out = "0x6000:8"
17counters = ["gemms", "gflop", "plain", "checks"]
18fields = ["size:u32:0x04", "n:u32:0x08", "us:u32:0x0c", "gflops:f32:0x10", "best:f32:0x14", "plain:f32:0x18", "single:f32:0x1c", "impl:u32:0x20", "threads:u32:0x24", "runs:u32:0x28"]
19autostart = false