diff --git a/.github/actions/bench/action.yml b/.github/actions/bench/action.yml index d5c582ef9..8e94997b1 100644 --- a/.github/actions/bench/action.yml +++ b/.github/actions/bench/action.yml @@ -17,6 +17,9 @@ inputs: archflags: description: ARCHFLAGS to pass to compilation default: "" + opt: + description: opt flag to set for tests script + default: "true" bench_extra_args: description: Further arguments to be appended to command line for `bench` script default: "" @@ -59,7 +62,7 @@ runs: - name: Run benchmark shell: ${{ env.SHELL }} run: | - tests bench -c ${{ inputs.perf }} --cflags "${{ inputs.cflags }}" --arch-flags "${{ inputs.archflags }}" -v --output output.json ${{ inputs.bench_extra_args }} + tests bench -c ${{ inputs.perf }} --cflags "${{ inputs.cflags }}" --arch-flags "${{ inputs.archflags }}" --opt "${{ inputs.opt }}" -v --output output.json ${{ inputs.bench_extra_args }} - name: Store benchmark result if: ${{ inputs.store_results == true }} uses: benchmark-action/github-action-benchmark@v1 diff --git a/.github/workflows/bench_ec2_all.yml b/.github/workflows/bench_ec2_all.yml index 71926bbee..1c64d8c82 100644 --- a/.github/workflows/bench_ec2_all.yml +++ b/.github/workflows/bench_ec2_all.yml @@ -14,6 +14,10 @@ jobs: permissions: contents: 'read' id-token: 'write' + strategy: + fail-fast: false + matrix: + opt: [true, false] uses: ./.github/workflows/bench_ec2_reusable.yml if: github.repository_owner == 'pq-code-package' && (github.event.label.name == 'benchmark' || github.ref == 'refs/heads/main') with: @@ -21,6 +25,7 @@ jobs: ec2_ami: ubuntu-latest (aarch64) archflags: -mcpu=cortex-a76 -march=armv8.2-a cflags: -DFORCE_AARCH64 + opt: ${{ matrix.opt }} store_results: true name: Graviton2 secrets: inherit @@ -29,6 +34,10 @@ jobs: permissions: contents: 'read' id-token: 'write' + strategy: + fail-fast: false + matrix: + opt: [true, false] uses: ./.github/workflows/bench_ec2_reusable.yml if: github.repository_owner == 'pq-code-package' && (github.event.label.name == 'benchmark' || github.ref == 'refs/heads/main') with: @@ -36,6 +45,7 @@ jobs: ec2_ami: ubuntu-latest (aarch64) archflags: -mcpu=neoverse-v1 -march=armv8.4-a cflags: -DFORCE_AARCH64 + opt: ${{ matrix.opt }} store_results: true name: Graviton3 secrets: inherit diff --git a/.github/workflows/bench_ec2_any.yml b/.github/workflows/bench_ec2_any.yml index 1e345e0e7..6300e6a61 100644 --- a/.github/workflows/bench_ec2_any.yml +++ b/.github/workflows/bench_ec2_any.yml @@ -28,6 +28,10 @@ on: archflags: description: Custom ARCH flags for compilation default: -mcpu=cortex-a76 -march=armv8.2-a + opt: + description: Run with optimized code if enabled + type: boolean + default: true store_results: description: Indicates if results should be pushed to github pages type: boolean @@ -49,6 +53,7 @@ jobs: ec2_ami_id: ${{ inputs.ec2_ami_id }} cflags: ${{ inputs.cflags }} archflags: ${{ inputs.archflags }} + opt: ${{ inputs.opt }} name: ${{ inputs.name }} store_results: ${{ inputs.store_results }} always_terminate: ${{ inputs.always_terminate }} diff --git a/.github/workflows/bench_ec2_reusable.yml b/.github/workflows/bench_ec2_reusable.yml index 3c90077c0..4ba59cf5e 100644 --- a/.github/workflows/bench_ec2_reusable.yml +++ b/.github/workflows/bench_ec2_reusable.yml @@ -28,6 +28,10 @@ on: type: string description: Custom ARCH flags for compilation default: -mcpu=neoverse-n1 -march=armv8.2-a + opt: + type: boolean + description: Runs with optimized code if enabled. + default: true store_results: type: boolean description: Indicates if results should be pushed to github pages @@ -102,6 +106,7 @@ jobs: name: ${{ inputs.name }} cflags: ${{ inputs.cflags }} archflags: ${{ inputs.archflags }} + opt: ${{ inputs.opt }} perf: PERF store_results: ${{ inputs.store_results }} bench_extra_args: ${{ inputs.bench_extra_args }}