Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/actionlint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ self-hosted-runner:
- pqcp-x64
# RISE RISC-V runner
- ubuntu-24.04-riscv
- self-hosted-nucleo-n657x0
4 changes: 0 additions & 4 deletions .github/actions/bench/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,10 +89,6 @@ runs:
--ldflags="${{ inputs.ldflags }}" \
--opt=$([[ ${{ inputs.opt }} == "false" ]] && echo "no_opt" || echo "opt") \
-v ${{ inputs.bench_extra_args }}
- name: Check namespace
shell: ${{ env.SHELL }}
run: |
check-namespace
- name: Store benchmark result
uses: benchmark-action/github-action-benchmark@52576c92bccf6ac60c8223ec7eb2565637cae9ba # v1.22.1
with:
Expand Down
28 changes: 28 additions & 0 deletions .github/workflows/bench.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ jobs:
bench_extra_args: ""
nix_shell: bench
only_no_opt: false
extra_makefile: ""
zephyr_target: ""
- system: rpi5
name: Arm Cortex-A76 (Raspberry Pi 5) benchmarks
bench_pmu: PERF
Expand All @@ -48,6 +50,8 @@ jobs:
nix_shell: bench
only_no_opt: false
cross_prefix: ""
extra_makefile: ""
zephyr_target: ""
- system: a55
name: Arm Cortex-A55 (Snapdragon 888) benchmarks
bench_pmu: PERF
Expand All @@ -57,6 +61,8 @@ jobs:
bench_extra_args: -w exec-on-a55
nix_shell: bench
only_no_opt: false
extra_makefile: ""
zephyr_target: ""
- system: bpi
name: SpacemiT K1 8 (Banana Pi F3) benchmarks
bench_pmu: PERF
Expand All @@ -67,6 +73,8 @@ jobs:
cross_prefix: riscv64-unknown-linux-gnu-
nix_shell: cross-riscv64
only_no_opt: true
extra_makefile: ""
zephyr_target: ""
- system: m1-mac-mini
name: Mac Mini (M1, 2020) benchmarks
bench_pmu: MAC
Expand All @@ -76,12 +84,29 @@ jobs:
bench_extra_args: "-r"
nix_shell: bench
only_no_opt: false
extra_makefile: ""
zephyr_target: ""
- system: nucleo-n657x0
name: Arm Cortex-M55 (NUCLEO-N657X0-Q) benchmarks
bench_pmu: NO
archflags: ""
cflags: ""
ldflags: ""
bench_extra_args: ""
nix_shell: zephyr
only_no_opt: false
cross_prefix: ""
extra_makefile: test/zephyr/platform.mk
zephyr_target: nucleo-n657x0-q
if: github.repository_owner == 'pq-code-package' && !github.event.pull_request.head.repo.fork && (github.event.label.name == 'benchmark' || github.ref == 'refs/heads/main')
runs-on: self-hosted-${{ matrix.target.system }}
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: ./.github/actions/bench
if: ${{ !matrix.target.only_no_opt }}
env:
EXTRA_MAKEFILE: ${{ matrix.target.extra_makefile }}
ZEPHYR_TARGET: ${{ matrix.target.zephyr_target }}
with:
name: ${{ matrix.target.name }} (opt)
cflags: ${{ matrix.target.cflags }}
Expand All @@ -95,6 +120,9 @@ jobs:
cross_prefix: ${{ matrix.target.cross_prefix }}
opt: true
- uses: ./.github/actions/bench
env:
EXTRA_MAKEFILE: ${{ matrix.target.extra_makefile }}
ZEPHYR_TARGET: ${{ matrix.target.zephyr_target }}
with:
name: ${{ matrix.target.name }} (no-opt)
cflags: ${{ matrix.target.cflags }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/zephyr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,5 +53,5 @@ jobs:
ZEPHYR_TARGET: ${{ matrix.target.board }}
run: |
opt=${{ matrix.target.opt == 'all' && 'opt' || 'no_opt' }}
nix develop .#zephyr --command ./scripts/tests bench --no-auto -c PMU --opt=$opt
nix develop .#zephyr --command ./scripts/tests bench --no-auto --components -c PMU --opt=$opt
nix develop .#zephyr --command ./scripts/tests bench --no-auto -c NO --opt=$opt
nix develop .#zephyr --command ./scripts/tests bench --no-auto --components -c NO --opt=$opt
36 changes: 36 additions & 0 deletions BIBLIOGRAPHY.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,16 @@ source code and documentation.
* Referenced from:
- [README.md](README.md)

### `ADOMNICAI23`

* An update on Keccak performance on ARMv7-M
* Author(s):
- Alexandre Adomnicai
* URL: https://eprint.iacr.org/2023/773
* Referenced from:
- [dev/fips202/armv81m_opt/src/keccak_f1600_x1_armv7m_opt_m7.S](dev/fips202/armv81m_opt/src/keccak_f1600_x1_armv7m_opt_m7.S)
- [mldsa/src/fips202/native/armv81m/src/keccak_f1600_x1_armv7m_opt_m7.S](mldsa/src/fips202/native/armv81m/src/keccak_f1600_x1_armv7m_opt_m7.S)

### `ArmARMv8M`

* Armv8-M Architecture Reference Manual (DDI 0553)
Expand Down Expand Up @@ -362,6 +372,18 @@ source code and documentation.
* Referenced from:
- [mldsa/src/sign.c](mldsa/src/sign.c)

### `SLOTHYM7`

* Enabling Microarchitectural Agility: Taking ML-KEM and ML-DSA from Cortex-M4 to M7 with SLOTHY
* Author(s):
- Amin Abdulrahman
- Matthias J. Kannwischer
- Joel Lim
* URL: https://eprint.iacr.org/2025/366
* Referenced from:
- [dev/fips202/armv81m_opt/src/keccak_f1600_x1_armv7m_opt_m7.S](dev/fips202/armv81m_opt/src/keccak_f1600_x1_armv7m_opt_m7.S)
- [mldsa/src/fips202/native/armv81m/src/keccak_f1600_x1_armv7m_opt_m7.S](mldsa/src/fips202/native/armv81m/src/keccak_f1600_x1_armv7m_opt_m7.S)

### `SLOTHY_Paper`

* Fast and Clean: Auditable high-performance assembly via constraint solving
Expand Down Expand Up @@ -395,6 +417,20 @@ source code and documentation.
- [test/abicheck/README.md](test/abicheck/README.md)
- [test/abicheck/x86_64/abicheck_x86_64.c](test/abicheck/x86_64/abicheck_x86_64.c)

### `XKCP`

* eXtended Keccak Code Package
* Author(s):
- Guido Bertoni
- Joan Daemen
- Michaël Peeters
- Gilles Van Assche
- Ronny Van Keer
* URL: https://github.com/XKCP/XKCP
* Referenced from:
- [dev/fips202/armv81m_opt/src/keccak_f1600_x1_armv7m_opt_m7.S](dev/fips202/armv81m_opt/src/keccak_f1600_x1_armv7m_opt_m7.S)
- [mldsa/src/fips202/native/armv81m/src/keccak_f1600_x1_armv7m_opt_m7.S](mldsa/src/fips202/native/armv81m/src/keccak_f1600_x1_armv7m_opt_m7.S)

### `libmceliece`

* libmceliece implementation of Classic McEliece
Expand Down
23 changes: 23 additions & 0 deletions BIBLIOGRAPHY.yml
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,29 @@
- Klein, Fabien
url: https://eprint.iacr.org/2022/1303

- id: ADOMNICAI23
name: "An update on Keccak performance on ARMv7-M"
author: Adomnicai, Alexandre
url: https://eprint.iacr.org/2023/773

- id: SLOTHYM7
name: "Enabling Microarchitectural Agility: Taking ML-KEM and ML-DSA from Cortex-M4 to M7 with SLOTHY"
author:
- Abdulrahman, Amin
- Kannwischer, Matthias J.
- Lim, Joel
url: https://eprint.iacr.org/2025/366

- id: XKCP
name: eXtended Keccak Code Package
author:
- Bertoni, Guido
- Daemen, Joan
- Peeters, Michaël
- Van Assche, Gilles
- Van Keer, Ronny
url: https://github.com/XKCP/XKCP

- id: NeonNTT
name: "Neon NTT: Faster Dilithium, Kyber, and Saber on Cortex-A72 and Apple M1"
year: 2022
Expand Down
66 changes: 0 additions & 66 deletions dev/fips202/armv81m/mve.h

This file was deleted.

Loading
Loading