def get_mpirun_cmd(self, job="case.run"): env_mach_specific = self.get_env('mach_specific') run_exe = env_mach_specific.get_value("run_exe") run_misc_suffix = env_mach_specific.get_value("run_misc_suffix") run_misc_suffix = "" if run_misc_suffix is None else run_misc_suffix run_suffix = run_exe + run_misc_suffix # Things that will have to be matched against mpirun element attributes mpi_attribs = { "compiler": self.get_value("COMPILER"), "mpilib": self.get_value("MPILIB"), "threaded": get_build_threaded(self) } executable, args = env_mach_specific.get_mpirun(self, mpi_attribs, job=job) # special case for aprun if using < 1 full node if executable == "aprun": totalpes = self.get_value("TOTALPES") pes_per_node = self.get_value("PES_PER_NODE") if totalpes < pes_per_node: args["tasks_per_node"] = "-N " + str(totalpes) mpi_arg_string = " ".join(args.values()) if self.get_value("BATCH_SYSTEM") == "cobalt": mpi_arg_string += " : " return "%s %s %s" % (executable if executable is not None else "", mpi_arg_string, run_suffix)
def get_mpirun_cmd(self, job="case.run"): env_mach_specific = self.get_env('mach_specific') run_exe = env_mach_specific.get_value("run_exe") run_misc_suffix = env_mach_specific.get_value("run_misc_suffix") run_misc_suffix = "" if run_misc_suffix is None else run_misc_suffix run_suffix = run_exe + run_misc_suffix # Things that will have to be matched against mpirun element attributes mpi_attribs = { "compiler" : self.get_value("COMPILER"), "mpilib" : self.get_value("MPILIB"), "threaded" : get_build_threaded(self) } executable, args = env_mach_specific.get_mpirun(self, mpi_attribs, job=job) # special case for aprun if using < 1 full node if executable == "aprun": totalpes = self.get_value("TOTALPES") pes_per_node = self.get_value("PES_PER_NODE") if totalpes < pes_per_node: args["tasks_per_node"] = "-N "+str(totalpes) mpi_arg_string = " ".join(args.values()) if self.get_value("BATCH_SYSTEM") == "cobalt": mpi_arg_string += " : " return "%s %s %s" % (executable if executable is not None else "", mpi_arg_string, run_suffix)
def get_full_mpirun(self, check_members, case, job): default_run_exe = self.get_suffix("default_run_exe") expect(default_run_exe is not None, "no default run exe defined!") default_run_misc_suffix = self.get_suffix("default_run_misc_suffix") default_run_misc_suffix = "" if default_run_misc_suffix is None else default_run_misc_suffix default_run_suffix = default_run_exe + default_run_misc_suffix # Things that will have to be matched against mpirun element attributes mpi_attribs = { "compiler" : case.get_value("COMPILER"), "mpilib" : case.get_value("MPILIB"), "threaded" : get_build_threaded(case) } executable, args = self.get_mpirun(mpi_attribs, check_members, case, job) mpi_arg_string = " ".join(args.values()) batch_system = self.get_value("BATCH_SYSTEM") if batch_system == "cobalt": mpi_arg_string += " : " return "%s %s %s" % (executable if executable is not None else "", mpi_arg_string, default_run_suffix)
def get_mpirun_cmd(self, job="case.run"): env_mach_specific = self.get_env('mach_specific') run_exe = env_mach_specific.get_value("run_exe") run_misc_suffix = env_mach_specific.get_value("run_misc_suffix") run_misc_suffix = "" if run_misc_suffix is None else run_misc_suffix run_suffix = run_exe + run_misc_suffix # Things that will have to be matched against mpirun element attributes mpi_attribs = { "compiler" : self.get_value("COMPILER"), "mpilib" : self.get_value("MPILIB"), "threaded" : get_build_threaded(self) } executable, args = env_mach_specific.get_mpirun(self, mpi_attribs, job=job) mpi_arg_string = " ".join(args.values()) if self.get_value("BATCH_SYSTEM") == "cobalt": mpi_arg_string += " : " return "%s %s %s" % (executable if executable is not None else "", mpi_arg_string, run_suffix)