Checklist: MPI layout, paths, and binary I/O¶
Use this before debugging “missing file” or hang issues on clusters.
MPI and launcher¶
Same MPI at build and run:
mpirun/sruncomes from the same prefix asmpiccused for OpenPFC and HeFFTe (INSTALL.md,troubleshooting.md).Rank count matches what you expect for decomposition tests (
mpirun -nvs#SBATCHtasks).
Working directory and config paths¶
Job script **
cd**s to the directory where relative paths in JSON are valid.argv[1]config path is correct from that directory (or use an absolute path).fields[].datadirectories exist or are creatable; rank 0 creates parents in the default wiring (binary_field_io_spec.md).
Binary writers (BinaryWriter)¶
saveat> 0 andfieldspresent, or you intentionally rely on custom writers only (io_results.md).Every rank in the writer’s communicator participates in each collective
write()— skipping ranks causes deadlock (binary_field_io_spec.md).Filename template
%placeholders match the simulator increment you expect.
GPU / device MPI (if applicable)¶
GPU-aware MPI env vars set per site (e.g. LUMI:
INSTALL.LUMI.md).plan_options.backendmatches how the binary was built (build_cpu_gpu.md,tutorials/gpu_app_quickstart.md).
See also¶
tutorials/hpc_slurm_day_one.md— minimal Slurm scriptspectral_app_config_reference.md— JSON keyslearning_paths.md— run track