bem_checkpoint_contract Module

BEACH checkpoint metadata and transactional publication shared by output and restart code.


Uses

  • module~~bem_checkpoint_contract~~UsesGraph module~bem_checkpoint_contract bem_checkpoint_contract module~bem_filesystem bem_filesystem module~bem_checkpoint_contract->module~bem_filesystem module~bem_kinds bem_kinds module~bem_checkpoint_contract->module~bem_kinds iso_c_binding iso_c_binding module~bem_filesystem->iso_c_binding iso_fortran_env iso_fortran_env module~bem_kinds->iso_fortran_env

Used by

  • module~~bem_checkpoint_contract~~UsedByGraph module~bem_checkpoint_contract bem_checkpoint_contract module~bem_output_writer bem_output_writer module~bem_output_writer->module~bem_checkpoint_contract module~bem_output_writer_summary bem_output_writer_summary module~bem_output_writer_summary->module~bem_checkpoint_contract module~bem_output_writer_summary->module~bem_output_writer module~bem_periodic_checkpoint bem_periodic_checkpoint module~bem_periodic_checkpoint->module~bem_checkpoint_contract module~bem_periodic_checkpoint->module~bem_output_writer module~bem_restart bem_restart module~bem_periodic_checkpoint->module~bem_restart module~bem_restart->module~bem_checkpoint_contract module~bem_restart_contract bem_restart_contract module~bem_restart_contract->module~bem_checkpoint_contract module~bem_restart_contract->module~bem_restart program~main main program~main->module~bem_checkpoint_contract program~main->module~bem_output_writer program~main->module~bem_periodic_checkpoint program~main->module~bem_restart module~bem_simulator bem_simulator program~main->module~bem_simulator module~bem_output_writer_files bem_output_writer_files module~bem_output_writer_files->module~bem_output_writer module~bem_output_writer_history bem_output_writer_history module~bem_output_writer_history->module~bem_output_writer module~bem_restart_injection bem_restart_injection module~bem_restart_injection->module~bem_restart module~bem_restart_records bem_restart_records module~bem_restart_records->module~bem_restart module~bem_simulator->module~bem_output_writer module~bem_simulator_io bem_simulator_io module~bem_simulator_io->module~bem_output_writer module~bem_simulator_io->module~bem_simulator module~bem_simulator_loop bem_simulator_loop module~bem_simulator_loop->module~bem_periodic_checkpoint module~bem_simulator_loop->module~bem_simulator module~bem_simulator_charge bem_simulator_charge module~bem_simulator_charge->module~bem_simulator module~bem_simulator_particles bem_simulator_particles module~bem_simulator_particles->module~bem_simulator module~bem_simulator_stats bem_simulator_stats module~bem_simulator_stats->module~bem_simulator

Variables

Type Visibility Attributes Name Initial
integer(kind=i32), public, parameter :: checkpoint_schema_version_current = 10_i32

Functions

public function checkpoint_schema_is_loadable(schema_version) result(loadable)

現行実装が再開候補として扱えるcheckpoint schemaかを返す。 schema keyを持たないlegacy summaryは0として表す。schema v1は正式な fingerprint contractより前の中間形式であり、現行loaderは対応しない。

Arguments

Type IntentOptional Attributes Name
integer(kind=i32), intent(in) :: schema_version

Return Value logical


Subroutines

public subroutine begin_checkpoint_publish(out_dir)

checkpoint transactionのcompletion evidenceをrestart-bearing fileの置換前に無効化する。

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: out_dir

public subroutine publish_checkpoint_manifest(out_dir, batches, mpi_world_size, has_macro_residuals, has_charge_ledger)

A complete manifest is atomically published only after every restart-bearing file is closed.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: out_dir
integer(kind=i32), intent(in) :: batches
integer(kind=i32), intent(in) :: mpi_world_size
logical, intent(in) :: has_macro_residuals
logical, intent(in) :: has_charge_ledger

public subroutine inspect_checkpoint_directory(checkpoint_dir, complete, schema_version, batches, mpi_world_size, has_macro_residuals, has_charge_ledger)

Inspect one directory without mutating it and require every file declared by its checkpoint generation.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: checkpoint_dir
logical, intent(out) :: complete
integer(kind=i32), intent(out), optional :: schema_version
integer(kind=i32), intent(out), optional :: batches
integer(kind=i32), intent(out), optional :: mpi_world_size
logical, intent(out), optional :: has_macro_residuals
logical, intent(out), optional :: has_charge_ledger