Deborah.MiriamThreads.MiriamThreadsRunner
Deborah.MiriamThreads.MiriamThreadsRunner.JobArgsMiriam — Typestruct JobArgsMiriamContainer struct holding all job parameters required for Deborah.Miriam parallel execution.
Fields
location::String: Base directory containing datamulti_ensemble::String: Group name for multiple ensemblesensembles::Vector{String}: List of ensemble subdirectories
Training Model Inputs (TrM1–TrM4)
TrM1_X,TrM1_Y,TrM1_model: Inputs, target, model tag for $\text{Tr} \, M^{-1}$TrM2_X,TrM2_Y,TrM2_model: Inputs, target, model tag for $\text{Tr} \, M^{-2}$TrM3_X,TrM3_Y,TrM3_model: Inputs, target, model tag for $\text{Tr} \, M^{-3}$TrM4_X,TrM4_Y,TrM4_model: Inputs, target, model tag for $\text{Tr} \, M^{-4}$TrM{1-4}_read_column_X::Vector{Int}: $1$-based column index to read the numerical value from each $\text{Tr} \, M^{-n} \; (n=1,2,3,4)$ file.TrM{1-4}_read_column_Y::Int: $1$-based column index to read the numerical value from each $\text{Tr} \, M^{-n} \; (n=1,2,3,4)$ file.TrM{1-4}_index_column::Int: $1$-based column index to read the configuration index from each $\text{Tr} \, M^{-n} \; (n=1,2,3,4)$ file.
Job Sweep Parameters
label::String:LBPidentifiertrain::String:TRPidentifierdump_original::Bool: Whether to dump original raw $\text{Tr} \, M^{-n} \; (n=1,2,3,4)$ files for reference
Input Meta
ns::Int: Spatial lattice sizent::Int: Temporal lattice sizenf::Int: Number of quark flavors $N_{\text{f}}$beta::Float64: Gauge coupling $\beta$csw::Float64: Clover coefficient $c_{\text{SW}}$kappa_list::Vector{Float64}: $\kappa$ values used for the multi-ensemble reweighting
Solver Parameters
maxiter::Int: Maximum solver iterationseps::Float64: Solver precision
Resampling Parameters
bin_size::Int: Jackknife bin sizeranseed::Int: Random seed for bootstrapN_bs::Int: Number of bootstrap resamplesblk_size::Int: Bootstrap block sizemethod::String: Block-bootstrap scheme (case-sensitive):"nonoverlapping"— Nonoverlapping Block Bootstrap (NBB; resample disjoint blocks)."moving"— Moving Block Bootstrap (MBB; resample sliding windows)."circular"— Circular Block Bootstrap (CBB; sliding windows with wrap-around).
Trajectory Meta
nkappaT::Int: Number of total $\kappa$ trajectories
Deborah.DeborahCore Metadata
analysis_header::String: Prefix for analysis directoriesIDX_shift::Int: Index shift for additional analysisdump_X::Bool: Dump feature matrices?
Naming
overall_name::String: Unique name for each job instanceabbreviation::Dict{String,String}: Abbreviation map for input featuresuse_abbreviation::Bool: Use abbreviations when naming outputs?output_base::String: Root directory for output data
Deborah.MiriamThreads.MiriamThreadsRunner.generate_toml_dict — Methodgenerate_toml_dict(
args::JobArgsMiriam
) -> DictConvert a JobArgsMiriam struct into a TOML-compatible nested OrderedCollections.OrderedDict.
The returned dictionary mirrors the structure of the config TOML file, grouped into sections such as data, input_meta, solver, etc.
Arguments
args::JobArgsMiriam: The full job parameter struct to be serialized.
Returns
Dict: ATOML-ready nested dictionary (OrderedCollections.OrderedDict) representing the job configuration.
TOML Sections
data: Ensemble paths, model inputs/targets, flagsinput_meta: Lattice geometry and coupling constantssolver: Maximum iteration and precisionjackknife: Bin size for jackknife resamplingbootstrap: Random seed, number of resamples, block sizetrajectory: Number of $\kappa$-trajectoriesdeborah:Deborah.DeborahCore-specific metadataabbreviation: Feature name abbreviation map
Deborah.MiriamThreads.MiriamThreadsRunner.parse_config_MiriamThreads — Functionparse_config_MiriamThreads(
toml_path::String,
jobid::Union{Nothing, String}=nothing
) -> Vector{JobArgsMiriam}Parse a configuration TOML file and construct a list of JobArgsMiriam structs to represent all job combinations of LBP/TRP for the Deborah.Miriam analysis.
Arguments
toml_path::String: Path to the configurationTOMLfile.jobid::Union{Nothing, String}: Optional job ID string used for logging.
Returns
Vector{JobArgsMiriam}: A list of job argument structs, each corresponding to a distinct label/train combination.
Notes
- This function extracts and resolves $\text{Tr} \, M^{-n} \; (n=1,2,3,4)$ inputs, solver parameters, bootstrap/jackknife configs, and meta info.
- It builds the
overall_namefor each job using either full names or abbreviations. - The output directory base path is constructed using
analysis_header,multi_ensemble, and $\text{Tr} \, M^{-n} \; (n=1,2,3,4)$ details.
Deborah.MiriamThreads.MiriamThreadsRunner.run_MiriamThreads — Methodrun_MiriamThreads(
toml_path::String
) -> NothingRun all Deborah.Miriam jobs defined in the given TOML config file using multithreading.
Arguments
toml_path::String: Path to the batch config file containing multiple jobs.
Behavior
- Parses all jobs via
parse_config_MiriamThreads. - Spawns tasks in batches of
Base.Threads.nthreads()to runrun_one_jobin parallel.
Returns
Nothing(side effects: runs all jobs and generates logs/configs).
Deborah.MiriamThreads.MiriamThreadsRunner.run_MiriamThreadsCheck — Methodrun_MiriamThreadsCheck(
toml_path::String
) -> NothingCheck-only mode for Deborah.Miriam: validate that all expected multi-ensemble reweighting results exist.
Arguments
toml_path::String: Path to the batch config file.
Behavior
- Parses all jobs using
parse_config_MiriamThreads. - Verifies result presence using
Deborah.DeborahEstherMiriam.MiriamExistenceManager.ensure_multi_ensemble_exists. - Uses threading to batch check jobs in parallel.
Returns
Nothing(side effects: logs for each check job).
Deborah.MiriamThreads.MiriamThreadsRunner.run_one_check_job — Methodrun_one_check_job(
args::JobArgsMiriam,
output_dir::String,
log_path::String
) -> NothingRun a single check-only job to verify multi-ensemble reweighting result existence.
Arguments
args::JobArgsMiriam: Job parameter set.output_dir::String: Directory to save the generatedTOMLconfig.log_path::String: Log file for result check.
Behavior
- Writes a config file for the job.
- Calls
Deborah.DeborahEstherMiriam.MiriamExistenceManager.ensure_multi_ensemble_existsto verify expected results.
Returns
Nothing(side effect: logs and possible error messages).
Deborah.MiriamThreads.MiriamThreadsRunner.run_one_job — Methodrun_one_job(
args::JobArgsMiriam,
output_dir::String,
log_path::String
) -> NothingRun a single full Deborah.Miriam job: generate TOML config, run ensemble checker, and launch main computation.
Arguments
args::JobArgsMiriam: Struct containing all parameters for aDeborah.Miriamjob.output_dir::String: Target output directory where logs and config will be stored.log_path::String: Path to write job-specific logs.
Behavior
- Generates a
TOMLconfig file. - Checks ensemble availability via
Deborah.DeborahEstherMiriam.MiriamDependencyManager.ensure_ensemble_exists. - Runs the main
Deborah.Miriam.MiriamRunner.run_Miriampipeline using the given configuration.
Returns
Nothing(side effects: file I/O and computation).