Source code for flow.environments.umich

# Copyright (c) 2018 The Regents of the University of Michigan
# All rights reserved.
# This software is licensed under the BSD 3-Clause License.
"""Environments for the University of Michigan HPC environment."""
from ..environment import DefaultSlurmEnvironment

[docs] class GreatLakesEnvironment(DefaultSlurmEnvironment): """Environment profile for the Great Lakes supercomputer. """ hostname_pattern = r"gl(-login)?[0-9]+\.arc-ts\.umich\.edu" template = "" _cpus_per_node = {"default": 36, "gpu": 40} _gpus_per_node = {"default": 2} _shared_partitions = {"standard", "gpu"} # For unknown reasons, srun fails to export environment variables such as # PATH on Great Lakes unless explicitly requested to with --export=ALL. # On Great Lakes, srun also fails to flush the buffer until the end of # the job without explicitly setting -u. mpi_cmd = "srun -u --export=ALL" @classmethod def add_args(cls, parser): """Add arguments to parser. Parameters ---------- parser : :class:`argparse.ArgumentParser` The argument parser where arguments will be added. """ super().add_args(parser) parser.add_argument( "--partition", choices=("standard", "gpu", "largemem"), default="standard", help="Specify the partition to submit to. (default=standard)", )
__all__ = ["GreatLakesEnvironment"]