letter="c") definition.add_optional("parallel", "integer_tuple", "the parallelization scheme (processes, threads)", letter="p", default=(8, 4)) definition.add_optional( "walltime", "duration", "an estimate for the walltime of the simulation for the specified parallelization scheme", "12:00:00", convert_default=True) definition.add_flag("data_parallel", "enable data parallelization", None) # Logging options definition.import_section_from_composite_class("logging", "logging options", LoggingOptions) # Create the configuration config = parse_arguments("installation_commands", definition) # ----------------------------------------------------------------- host = load_host(config.remote, config.cluster) modules = [] modules.append("iimpi/2016b") ski_path = config.ski output_path = config.output input_path = config.input definition = SingleSimulationDefinition(ski_path, output_path, input_path)
# Other definition.add_flag("keep", "keep remote input and output") definition.add_optional( "retrieve_types", "string_list", "types of output files that have to be retrieved/retained (None means everything)", choices=output_type_choices) # Special things definition.add_flag("dry", "dry run (don't actually launch the simulations)", False) definition.add_flag( "attached", "launch the simulations in attached mode (only works if remotes without scheduling system are used)" ) # Logging options definition.import_section_from_composite_class("logging", "logging options", LoggingOptions) # Analysis options definition.import_section_from_composite_class("analysis", "simulation analysis options", AnalysisOptions) # NEW: show the output of finished simulations definition.add_flag("show", "show the output of finished simulations", False) # -----------------------------------------------------------------
# Various flags definition.add_flag("relative", "treats the given input and output paths as being relative to the ski/fski file") definition.add_flag("emulate", "emulate the simulation while limiting computation") # Other definition.add_flag("keep", "keep remote input and output") definition.add_flag("keep_input", "keep remote input specifically") definition.add_optional("retrieve_types", "string_list", "types of output files that have to be retrieved/retained (None means everything)", choices=output_type_choices) # Special things definition.add_flag("dry", "dry run (don't actually launch the simulations)", False) definition.add_flag("attached", "launch the simulations in attached mode (only works if remotes without scheduling system are used)") # Logging options definition.import_section_from_composite_class("logging", "logging options", LoggingOptions) # Analysis options definition.import_section_from_composite_class("analysis", "simulation analysis options", AnalysisOptions) # Show stuff definition.add_flag("show", "show", True) # Show the output of finished simulations definition.add_flag("show_finished", "show the output of finished simulations", False) # ----------------------------------------------------------------- # Retrieve and analyse finished simulations? definition.add_flag("retrieve", "retrieve finished simulations", True) definition.add_flag("analyse", "analyse retrieved simulations", True)