You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
INT8 quantized runtime, CPU perf work, and a big code/docs cleanup
Quantized runtime: the INT8 PW->DW / DW->PW pairs and the residual/fork
tails now run as single streaming kernels (on-the-fly requant, no
intermediate boundary tensor), alongside NCHWc weight prepack, native
NCHWc pointwise GEMM, VNNI RHS prepack at load, and a SIMD requant
epilogue. Output stays bit-identical to the unfused per-op path.
fp32 CPU (Siamese tracker vs ONNX Runtime): fixed parallel GEMM being
short-circuited by the BLAS path, reworked blocked_gemm parallelism, and
added a 12x32 AVX-512 microkernel, pointwise_nx16/16x16 direct kernels,
streaming FusedPwDw/FusedDwPw, an AVX-512 c=16 depthwise path, and
FusedTransposeMatMul.
Cleanup: dropped session-specific notes from comments and deleted 12 dead
probe examples; split the eight biggest files (matmul, conv,
fused_pw_dw_3x3, backend, tensor ops, the ONNX runner, loader) into
directory modules — pure moves, tracker output and latency unchanged.
Refreshed the docs to the new layout, re-measured the README tracker
numbers, and made cargo doc build clean. Also repointed the doc-count
script and two CI microbench thresholds at the new file layout.
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ The workspace has 18 library crates, 3 application binaries (`apps/bench`, `apps
14
14
15
15
Key crates and what they do:
16
16
17
-
-**yscv-tensor** — the foundation. 115 tensor ops in `ops.rs`, f32/f16/bf16 dtype, SIMD (AVX/SSE/NEON).
17
+
-**yscv-tensor** — the foundation. 115 tensor ops in `ops/`, f32/f16/bf16 dtype, SIMD (AVX/SSE/NEON).
18
18
-**yscv-kernels** — CPU and GPU compute backends. SIMD dispatch (AVX + SSE + NEON with scalar fallback), 61 WGSL + 4 Metal compute shaders, rayon threading.
19
19
-**yscv-autograd** — dynamic computation graph with 61 `Op` variants and gradient checkpointing.
20
20
-**yscv-optim** — 8 optimizers (SGD/Adam/AdamW/RAdam/RmsProp/Adagrad/Lamb/Lars) all with NEON+AVX+SSE SIMD, Lookahead meta-optimizer, 11 LR schedulers.
Copy file name to clipboardExpand all lines: README.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,7 +13,7 @@
13
13
14
14
A complete computer vision and deep learning framework in pure Rust. One `cargo add yscv` gives you image processing (160 ops, faster than OpenCV), neural network training (39 layer types, 8 optimizers), ONNX inference (122 operators, INT4/INT8 quantization), LLM generation (KV-cache, RoPE, GQA), real-time detection + tracking + recognition (67µs per frame), H.264/HEVC/AV1 video decoding (4.5× faster than ffmpeg), hardware decode (VideoToolbox/VAAPI/NVDEC/MediaFoundation), and GPU compute via Vulkan/Metal/DX12 — all in a single statically-linked binary with zero Python or C++ dependencies.
15
15
16
-
> Project focus. YSCV is built for CPU inference on edge devices — Raspberry Pi, Rockchip / Allwinner SBCs, drone boards, factory PCs, anything ARM Cortex-A or low-power x86. Hot paths are hand-tuned SIMD (NEON / AVX / SSE / scalar) with rayon multi-thread fork-join, profiled and CI-gated against a baseline. On bare-metal ARM SBCs we currently beat ONNX Runtime CPU on a public Siamese tracker; the rest of the perf arc is documented in [`docs/perf-arc-2026-04.md`](docs/perf-arc-2026-04.md). Other backends — wgpu cross-platform GPU, Apple MPSGraph, Rockchip RKNN NPU, Intel/AMD BLAS — exist as opt-in features and keep getting wider, but they're not the headline target. PRs are welcome; see [`CONTRIBUTING.md`](CONTRIBUTING.md).
16
+
> Project focus. YSCV is built for CPU inference on edge devices — Raspberry Pi, Rockchip / Allwinner SBCs, drone boards, factory PCs, anything ARM Cortex-A or low-power x86. Hot paths are hand-tuned SIMD (NEON / AVX / SSE / scalar) with rayon multi-thread fork-join, profiled and CI-gated against a baseline. On bare-metal ARM SBCs we currently beat ONNX Runtime CPU on a public Siamese tracker; benchmarks across threads and hardware are in [`docs/performance-benchmarks.md`](docs/performance-benchmarks.md). Other backends — wgpu cross-platform GPU, Apple MPSGraph, Rockchip RKNN NPU, Intel/AMD BLAS — exist as opt-in features and keep getting wider, but they're not the headline target. PRs are welcome; see [`CONTRIBUTING.md`](CONTRIBUTING.md).
17
17
>
18
18
> Agent-friendly documentation. YSCV is structured so that an AI coding agent can wire it into a downstream project end-to-end without prior context: every crate has a focused `README.md` describing its surface, [`docs/cookbook.md`](docs/cookbook.md) has recipes per task, [`docs/feature-flags.md`](docs/feature-flags.md) is exhaustive on Cargo features and runtime env knobs, [`AGENTS.md`](AGENTS.md) has the workflow + style rules verbatim, and per-op profile labels (`YSCV_RUNNER_PROFILE=path` dumps fused-path JSON) make hot-path issues self-diagnosing. The benefit is downstream: agents can build working code on top of yscv quickly, not the other way around. Responsibility for any PR — including patches drafted by an agent — rests with the human author submitting it.
19
19
@@ -134,8 +134,8 @@ Every operation has hand-tuned SIMD on all platforms — NEON on ARM, AVX/SSE on
134
134
| YOLO11n MPSGraph |**5.9ms**| all competitors FAIL |**WIN**|
135
135
| Siamese tracker 1T (Orange Pi Zero 3, 2026-04-21) |**461.6ms**| onnxruntime 499.3ms |**1.08× faster**|
136
136
| Siamese tracker 4T (Orange Pi Zero 3, 2026-04-21) |**150.2ms**| onnxruntime 164.6ms |**1.10× faster**|
0 commit comments