This repository has been archived on 2026-08-21. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
ciciec2026/doc/mlkem_test_results.md

50 lines
1.7 KiB
Markdown

# ML-KEM Test Results Summary
## Test Setup
- Platform: LoongArch bare-metal target
- Test mode: `STATIC_KAT_COUNT_0`
- Levels: `k=2,3,4`
- Repeat count: `100`
- ML-KEM software allocator: `MLK_CONFIG_CUSTOM_ALLOC_FREE`
- Verification sources: KAT count 0 expected values
## Correctness
All three paths passed in isolated testing:
- `SW_ONLY_FAILS=0`
- `CPU_ONLY_FAILS=0`
- `DMA_ONLY_FAILS=0`
Final result for the isolated diagnostic run:
- `MLKEM512_RESULT=PASS`
- `MLKEM768_RESULT=PASS`
- `MLKEM1024_RESULT=PASS`
- `MLKEM_RESULT=PASS`
## Performance
### Multi-level isolated diagnostic
| Level | SW avg cycles | CPU avg cycles | DMA avg cycles | CPU vs SW | DMA vs SW | DMA vs CPU |
|---|---:|---:|---:|---:|---:|---:|
| k=2 / ML-KEM-512 | 19,684,481 | 432,358 | 189,105 | 45.5x | 104.1x | 2.29x |
| k=3 / ML-KEM-768 | 30,688,338 | 638,556 | 283,023 | 48.1x | 108.4x | 2.26x |
| k=4 / ML-KEM-1024 | 2,355,875 | 872,400 | 392,433 | 2.70x | 6.00x | 2.22x |
### k=4 recheck
| Level | SW avg cycles | CPU avg cycles | DMA avg cycles | CPU vs SW | DMA vs SW | DMA vs CPU |
|---|---:|---:|---:|---:|---:|---:|
| k=4 / ML-KEM-1024 | 6,025,486 | 718,672 | 388,959 | 8.39x | 15.49x | 1.85x |
## Notes
- CPU/DMA hardware paths were stable across 100 iterations for all levels.
- The software path showed run-to-run variance earlier; the custom allocator improved stability, but the k=4 recheck should be used as the cleaner reference for reporting.
- For the hardware accelerator claim, the most stable headline is:
- DMA path is about 2.2x faster than CPU register path.
- Hardware path is substantially faster than software, but the exact SW speedup depends on the software run used as baseline.