Skip to content

Refactor tests around shared MPI and backend helpers - #346

Open
ia267 wants to merge 11 commits into
xcompact3d:mainfrom
ia267:293_modular_test_cases
Open

Refactor tests around shared MPI and backend helpers#346
ia267 wants to merge 11 commits into
xcompact3d:mainfrom
ia267:293_modular_test_cases

Conversation

@ia267

@ia267 ia267 commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

Closes #293

  • Centralise MPI initialisation, result reporting, and finalisation in shared test utilities
  • Add shared runtime setup for backend, allocator, and CUDA device selection while retaining OMP, CUDA, and OMP-target support
  • Use backend-neutral field access and solver operations to remove repeated preprocessor and select type blocks
  • Isolate backend-specific Fortran modules in the test build.

Testing

Built and ran the affected GNU/OpenMP and NVHPC/CUDA tests locally. OMP-target paths are covered by CI.

@ia267 ia267 added this to the Version 0.1.0 milestone Aug 20, 2026
@ia267 ia267 self-assigned this Aug 20, 2026
@ia267 ia267 added the enhancement New feature or request label Aug 20, 2026
@ia267
ia267 requested review from CFD-Xing and kaanolgu August 20, 2026 13:32
@ia267
ia267 marked this pull request as ready for review August 20, 2026 13:56
ia267 added 9 commits August 27, 2026 12:48
Expose Thomas solves, synchronisation, and device bandwidth information through the backend interface. Migrate the Thomas verification and performance tests away from backend-specific setup and kernel calls.
- adopt shared MPI initialisation and test finalisation helpers
- aggregate rank-local test results where required
- make statistics and scalar-output failures update allpass
- remove duplicate success reporting
- share rank-aware device selection across tests and benchmarks
- query bandwidth information from the active CUDA device
- standardise MPI lifecycle in remaining CUDA tests
- propagate benchmark runtime failures across MPI ranks
@ia267
ia267 force-pushed the 293_modular_test_cases branch from e61128a to 732dcd3 Compare August 27, 2026 11:53
Comment thread tests/common/test_utils.f90 Outdated
Comment thread tests/CMakeLists.txt Outdated
Comment thread src/backend/backend_runtime.f90 Outdated
Comment thread tests/performance/perf_thom.f90 Outdated
- Aggregate allpass across ranks to synchronise failure state across ranks.
- Moved backend_runtime.f90 to common directory
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Simplifying the test cases

2 participants