Benchmark

Benchmark scripts live under benchmark/. They are separate from the standard unit test suite and are intended to reproduce or sanity-check larger workflows.

2D PAM Accuracy

benchmark/2D_PAM_Accuracy/run_benchmark.jl reproduces a point-source localization sweep inspired by Schoen and Arvanitis. It simulates a grid of sources through a skull medium with k-Wave and reconstructs with homogeneous ASA and heterogeneous HASA.

julia --project=. benchmark/2D_PAM_Accuracy/run_benchmark.jl

Use GPU reconstruction with:

julia --project=. benchmark/2D_PAM_Accuracy/run_benchmark.jl --recon-use-gpu

3D PAM Accuracy

benchmark/3D_PAM_Accuracy/run_benchmark.jl runs the 3D benchmark workflow. It is heavier than the unit tests and assumes the runtime environment has the required GPU and data dependencies.

julia --project=. benchmark/3D_PAM_Accuracy/run_benchmark.jl

Tests Versus Benchmark

The standard test suite checks implementation behavior and smoke paths:

julia --project=. -e 'using Pkg; Pkg.test()'

Benchmark scripts are larger reproducibility runs. They may require private CT data, a CUDA-capable GPU, and longer wall time.