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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions