Skip to content

Usability: HPC "Pre-Flight" Checks & Memory Estimation #224

@jameslehoux

Description

@jameslehoux

Labels: usability, hpc, phase:0-polish
Priority: High (Saves User Compute Budget)

Description

AMReX/MPI crashes are difficult for non-CS researchers to debug. To prevent users from wasting allocation hours on doomed cluster jobs, we need to implement a fast, lightweight "pre-flight" validation step in the Python API that runs before the MPI solver initializes.

Acceptance Criteria

  • Memory Estimator: Implement a utility TortuositySolver.estimate_memory() that looks at the VoxelImage shape, the number of MPI ranks, and the BoxArray decomposition, and warns the user if the job will likely trigger an Out-of-Memory (OOM) kill.
  • Percolation Check: Automatically run the existing PercolationCheck utility on the active phases. If the domain is fully blocked in the solve direction, abort with a human-readable Python ValueError ("Phase X does not percolate in the Z direction") rather than letting the Krylov solver stall at 0 flux.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions