Skip to content
Snippets Groups Projects
Commit 0566b918 authored by Moe Jette's avatar Moe Jette
Browse files

Added mpi/none plugin and made it the default.

parent 4e42c1a1
No related branches found
No related tags found
No related merge requests found
...@@ -9,6 +9,8 @@ documents those changes that are of interest to users and admins. ...@@ -9,6 +9,8 @@ documents those changes that are of interest to users and admins.
-- Added MpiDefault slurm.conf parameter. -- Added MpiDefault slurm.conf parameter.
-- Remove KillTree configuration parameter (replace with -- Remove KillTree configuration parameter (replace with
"ProctrackType=proctrack/linuxproc") "ProctrackType=proctrack/linuxproc")
-- Make default plugin be "none".
-- Added mpi/none plugin and made it the default.
* Changes in SLURM 0.5.0 * Changes in SLURM 0.5.0
======================== ========================
......
...@@ -232,6 +232,7 @@ AC_CONFIG_FILES([Makefile ...@@ -232,6 +232,7 @@ AC_CONFIG_FILES([Makefile
src/plugins/mpi/mpichgm/Makefile src/plugins/mpi/mpichgm/Makefile
src/plugins/mpi/mvapich/Makefile src/plugins/mpi/mvapich/Makefile
src/plugins/mpi/lam/Makefile src/plugins/mpi/lam/Makefile
src/plugins/mpi/none/Makefile
doc/Makefile doc/Makefile
doc/man/Makefile doc/man/Makefile
testsuite/Makefile testsuite/Makefile
......
...@@ -197,12 +197,13 @@ be synchronized. </p> ...@@ -197,12 +197,13 @@ be synchronized. </p>
<h4>MPI support</h4> <h4>MPI support</h4>
<p>Quadrics MPI works directly with SLURM on systems having Quadrics <p>Quadrics MPI works directly with SLURM on systems having Quadrics
interconnects and is the prefered version of MPI for those systems.</p> interconnects and is the prefered version of MPI for those systems.
Set the <b>MpiDefault=none</b> configuration parameter in slurm.conf.</p>
<p>For <a href="http://www.myricom.com/">Myrinet</a> systems, MPICH-GM <p>For <a href="http://www.myricom.com/">Myrinet</a> systems, MPICH-GM
is prefered. In order to use MPICH-GM, set <b>MpichGmDirectSupport=1</b> is prefered. In order to use MPICH-GM, set <b>MpichGmDirectSupport=1</b>,
and <b>ProctrackType=proctrack/linuxproc</b> configuration parameters in <b>MpiDefault=mpichgm</b>, and <b>ProctrackType=proctrack/linuxproc</b>
slurm.conf.</p> configuration parameters in slurm.conf.</p>
<p>HP customers would be well served by using <p>HP customers would be well served by using
<a href="http://www.hp.com/go/mpi">HP-MPI</a>.</p> <a href="http://www.hp.com/go/mpi">HP-MPI</a>.</p>
...@@ -213,7 +214,8 @@ slurm.conf.</p> ...@@ -213,7 +214,8 @@ slurm.conf.</p>
<span class="commandline">srun</span> <span class="commandline">srun</span>
command. This places all MPI processes in a process-tree under the control of command. This places all MPI processes in a process-tree under the control of
the <b>slurmd</b> daemon. LAM/MPI version 7.1 or higher contains support for the <b>slurmd</b> daemon. LAM/MPI version 7.1 or higher contains support for
SLURM.</p> SLURM.
Set the <b>MpiDefault=lam</b> configuration parameters in slurm.conf.</p>
<p>Note that the ordering of tasks within an job's allocation matches that of <p>Note that the ordering of tasks within an job's allocation matches that of
nodes in the slurm.conf configuration file. SLURM presently lacks the ability nodes in the slurm.conf configuration file. SLURM presently lacks the ability
......
...@@ -221,8 +221,8 @@ May not exceed 65534. ...@@ -221,8 +221,8 @@ May not exceed 65534.
\fpMpiDefault\fR \fpMpiDefault\fR
Identifies the default type of MPI to be used. Identifies the default type of MPI to be used.
Srun may override this configuration parameter in any case. Srun may override this configuration parameter in any case.
Currently supported versions include: lam (default), Currently supported versions include: lam, mpichgm, mvapich,
mpich-gm, mvapich, champion, quadrics, and hp-mpi. and none (default, which works for most other versions of MPI).
.TP .TP
\fBMpichGmDirectSupport\fR \fBMpichGmDirectSupport\fR
If set to "1", srun handles executable files linked with the MPICH-GM If set to "1", srun handles executable files linked with the MPICH-GM
......
...@@ -351,8 +351,9 @@ JobAcctType=jobacct/none ...@@ -351,8 +351,9 @@ JobAcctType=jobacct/none
# "MpiDefault" : define the default type of MPI to be used. If # "MpiDefault" : define the default type of MPI to be used. If
# srun does not specify another value, slurm will # srun does not specify another value, slurm will
# establish the environment for this mpi to execute. # establish the environment for this mpi to execute.
# Currently supported values are lam (default), # Currently supported values are lam, mpichgm, mvapich,
# mpich-gm, mvapich, champion, quadrics, and hp-mpi. # and none (default, which works for most other versions
# of MPI).
# #
# "MpichGmDirectSupport" # "MpichGmDirectSupport"
# : if set to `1', srun handles executable files linked # : if set to `1', srun handles executable files linked
...@@ -365,7 +366,7 @@ JobAcctType=jobacct/none ...@@ -365,7 +366,7 @@ JobAcctType=jobacct/none
# FirstJobid=1000 # default is `1' # FirstJobid=1000 # default is `1'
# ReturnToService=1 # default is `0' # ReturnToService=1 # default is `0'
# MaxJobCount=10000 # Defaults to 2000 # MaxJobCount=10000 # Defaults to 2000
# MpiDefault # default is "lam" # MpiDefault # default is "none"
# MpichGmDirectSupport=1 # default is `0' # MpichGmDirectSupport=1 # default is `0'
......
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
#define DEFAULT_MAX_JOB_COUNT 2000 #define DEFAULT_MAX_JOB_COUNT 2000
#define DEFAULT_MIN_JOB_AGE 300 #define DEFAULT_MIN_JOB_AGE 300
#define DEFAULT_MPICH_GM_DIR 0 #define DEFAULT_MPICH_GM_DIR 0
#define DEFAULT_MPI_DEFAULT "lam" #define DEFAULT_MPI_DEFAULT "none"
#ifdef HAVE_AIX /* AIX specific default configuration parameters */ #ifdef HAVE_AIX /* AIX specific default configuration parameters */
# define DEFAULT_CHECKPOINT_TYPE "checkpoint/aix" # define DEFAULT_CHECKPOINT_TYPE "checkpoint/aix"
# define DEFAULT_PROCTRACK_TYPE "proctrack/aix" # define DEFAULT_PROCTRACK_TYPE "proctrack/aix"
......
# $Id: Makefile.am,v 1.6 2005/03/08 14:25:17 jking Exp $ # $Id: Makefile.am,v 1.6 2005/03/08 14:25:17 jking Exp $
# Makefile for mpi plugins # Makefile for mpi plugins
SUBDIRS = mpichgm mvapich lam SUBDIRS = mpichgm mvapich none lam
# $Id: Makefile.am,v 1.4 2004/07/26 23:43:53 jette Exp $
# Makefile for mpi/none plugin
AUTOMAKE_OPTIONS = foreign
PLUGIN_FLAGS = -module -avoid-version --export-dynamic
INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/src/common
pkglib_LTLIBRARIES = mpi_none.la
# Null MPI plugin.
mpi_none_la_SOURCES = mpi_none.c
mpi_none_la_LDFLAGS = $(SO_LDFLAGS) $(PLUGIN_FLAGS)
mpi_none_la_LIBADD = \
$(top_builddir)/src/common/libcommon.la -lpthread \
$(top_builddir)/src/api/libslurm.la
/*****************************************************************************\
** mpi_none.c - Library routines for initiating jobs on without mpi support
** $Id$
*****************************************************************************
* Copyright (C) 2004 The Regents of the University of California.
* Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
* Written by Danny Auble <da@llnl.gov>
* UCRL-CODE-2002-040.
*
* This file is part of SLURM, a resource management program.
* For details, see <http://www.llnl.gov/linux/slurm/>.
*
* SLURM is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option)
* any later version.
*
* SLURM is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along
* with SLURM; if not, write to the Free Software Foundation, Inc.,
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
\*****************************************************************************/
#if HAVE_CONFIG_H
# include "config.h"
#endif
#include <fcntl.h>
#include <signal.h>
#include <sys/types.h>
#include <slurm/slurm_errno.h>
#include "src/srun/srun_job.h"
#include "src/slurmd/slurmd_job.h"
#include "src/common/env.h"
#include "src/common/slurm_xlator.h"
/*
* These variables are required by the generic plugin interface. If they
* are not found in the plugin, the plugin loader will ignore it.
*
* plugin_name - a string giving a human-readable description of the
* plugin. There is no maximum length, but the symbol must refer to
* a valid string.
*
* plugin_type - a string suggesting the type of the plugin or its
* applicability to a particular form of data or method of data handling.
* If the low-level plugin API is used, the contents of this string are
* unimportant and may be anything. SLURM uses the higher-level plugin
* interface which requires this string to be of the form
*
* <application>/<method>
*
* where <application> is a description of the intended application of
* the plugin (e.g., "switch" for SLURM switch) and <method> is a description
* of how this plugin satisfies that application. SLURM will only load
* a switch plugin if the plugin_type string has a prefix of "switch/".
*
* plugin_version - an unsigned 32-bit integer giving the version number
* of the plugin. If major and minor revisions are desired, the major
* version number may be multiplied by a suitable magnitude constant such
* as 100 or 1000. Various SLURM versions will likely require a certain
* minimum versions for their plugins as this API matures.
*/
const char plugin_name[] = "mpi none plugin";
const char plugin_type[] = "mpi/none";
const uint32_t plugin_version = 100;
int mpi_p_init(slurmd_job_t *job)
{
debug("Using mpi/none");
return 0;
}
int mpi_p_thr_create(srun_job_t *job)
{
debug("Using mpi/none");
return 0;
}
int mpi_p_single_task()
{
return false;
}
int mpi_p_exit()
{
return 0;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment