The HPCBackends currently duplicate the same information. They could all wrap one type that stores the common information: experiment_dir, model_interface, module_load_str, hpc_kwargs,
verbose, reruns, exeflags. This will reduce code duplication and improve function signatures.
struct HPCConfig
experiment_dir::String = project_dir()
model_interface::String = default_model_interface()
module_load_str::String = ""
hpc_kwargs::Dict{Symbol,Any} = Dict{Symbol,Any}()
verbose::Bool = false
reruns::Int = 1
exeflags::String = ""
end
struct CaltechHPCBackend <: SlurmBackend
config::HPCConfig = HPCConfig()
end
The HPCBackends currently duplicate the same information. They could all wrap one type that stores the common information:
experiment_dir,model_interface,module_load_str,hpc_kwargs,verbose,reruns,exeflags. This will reduce code duplication and improve function signatures.