46 lines
1.6 KiB
Markdown
46 lines
1.6 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
|
|
|
|
The following results are from isolated per-level runs. Each level was tested
|
|
for 100 iterations with software-only, CPU register path, and DMA path separated.
|
|
|
|
| Level | SW avg cycles | CPU avg cycles | DMA avg cycles | CPU vs SW | DMA vs SW | DMA vs CPU |
|
|
|---|---:|---:|---:|---:|---:|---:|
|
|
| k=2 / ML-KEM-512 | 2,587,784 | 352,684 | 185,671 | 7.34x | 13.94x | 1.90x |
|
|
| k=3 / ML-KEM-768 | 4,056,378 | 523,656 | 279,588 | 7.75x | 14.51x | 1.87x |
|
|
| k=4 / ML-KEM-1024 | 6,025,486 | 718,672 | 388,959 | 8.38x | 15.49x | 1.85x |
|
|
|
|
## Notes
|
|
|
|
- CPU/DMA hardware paths were stable across 100 iterations for all levels.
|
|
- Software, CPU register path, and DMA path all passed 100 iterations for k=2, k=3, and k=4.
|
|
- The DMA path is 13.94x to 15.49x faster than software across the tested levels.
|
|
- The CPU register path is 7.34x to 8.38x faster than software across the tested levels.
|
|
- The DMA path is about 1.85x to 1.90x faster than the CPU register path.
|
|
- The hardware advantage increases slightly as k grows, because the accelerated computation grows faster than the fixed software control overhead.
|