Skip to content

Add inverse-only benchmark column and enable scheduled inverse for wide x86 (BRUUN_LEVEL <= 3)#37

Merged
falseywinchnet merged 1 commit into
mainfrom
i3sye6-main/improve-simd-optimization-for-inverse-fft
Jun 21, 2026
Merged

Add inverse-only benchmark column and enable scheduled inverse for wide x86 (BRUUN_LEVEL <= 3)#37
falseywinchnet merged 1 commit into
mainfrom
i3sye6-main/improve-simd-optimization-for-inverse-fft

Conversation

@falseywinchnet

Copy link
Copy Markdown
Owner

Motivation

  • Expose inverse-only performance measurements separately from round-trip timing to make inverse optimizations visible in benchmarks.
  • Enable the scheduled inverse traversal for wider x86 ISAs (AVX2/AVX-512) after fused d4 inverse improvements made the flat schedule competitive.

Description

  • Added an inverse_ns field to Result and added an inverse-only timing measurement that runs plan.inverse after priming with plan.forward in examples/benchmark.cpp.
  • Printed the new Inv_ns column in the benchmark header and output by extending the format and calling print_ns(result.inverse_ns).
  • Switched the inverse scheduling gate in src/detail/bruun_kernel.hpp from #if BRUUN_LEVEL == 1 to #if BRUUN_LEVEL <= 3 to enable the scheduled inverse for BRUUN_LEVEL 2 and 3 builds.
  • Updated src/detail/inverse_acceleration_notes.txt to record the decision rationale and to note that the benchmark now prints the Inv_ns column.

Testing

  • Built and ran the examples/benchmark program and verified the new Inv_ns column appears and reports timings as expected.
  • Ran the project's automated test suite with ctest and the tests completed successfully.

Codex Task

@falseywinchnet falseywinchnet merged commit a76f5d8 into main Jun 21, 2026
4 checks passed
@falseywinchnet falseywinchnet deleted the i3sye6-main/improve-simd-optimization-for-inverse-fft branch June 21, 2026 09:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant