Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Sierra port #43

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
9 changes: 8 additions & 1 deletion config/x_ac_platform.m4
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@
# --------------------------------------------------------------------------------
#
# Update Log:
# May 02 2018 KMD: Added aarch64 support
# Jul 13 2018 DHA: Add powerle support.
# May 02 2018 KMD: Added aarch64 support.
# Apr 01 2015 ADG: Added Cray CTI support.
# Feb 20 2015 [email protected]: Fixes for Cray systems.
# Jun 11 2008 DHA: File created.
Expand Down Expand Up @@ -79,6 +80,12 @@ AC_DEFUN([X_AC_PLATFORM], [
AC_SUBST(LNCHR_BIT_FLAGS, -m32)
AC_DEFINE(BIT64, 1, [64bit])
;;
*powerpc64le*)AC_DEFINE(POWERLE_ARCHITECTURE,1,[Define 1 for POWERLEC_ARCHITECTURE])
ac_have_known_isa="yes"
ac_target_isa="powerle"
AC_SUBST(LNCHR_BIT_FLAGS, -m64)
AC_DEFINE(BIT64, 1, [64bit])
;;
*powerpc*)AC_DEFINE(PPC_ARCHITECTURE,1,[Define 1 for PPC_ARCHITECTURE])
ac_have_known_isa="yes"
ac_target_isa="power"
Expand Down
42 changes: 40 additions & 2 deletions config/x_ac_testnnodes.m4
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,9 @@ AC_DEFUN([X_AC_NCORE_SMP], [


AC_DEFUN([X_AC_TEST_RM], [
AC_MSG_CHECKING([resource manager to test @<:@slurm bgqrm alps orte mpiexec_hydra@:>@])
AC_MSG_CHECKING([resource manager to test @<:@slurm bgqrm alps orte mpiexec_hydra ibm_spectrum@:>@])
AC_ARG_WITH([test-rm],
AS_HELP_STRING(--with-test-rm@<:@=RM@:>@,specify a resource manager type to test @<:@slurm bgqrm alps orte mpiexec_hydra@:>@ @<:@default=slurm on linux-x86 and linux-x86_64; alps on Cray; bgqrm on linux-power64@:>@),
AS_HELP_STRING(--with-test-rm@<:@=RM@:>@,specify a resource manager type to test @<:@slurm bgqrm alps orte mpiexec_hydra ibm_spectrum@:>@ @<:@default=slurm on linux-x86 and linux-x86_64; alps on Cray; bgqrm on linux-power64; ibm_spectrum on linux-power64le@:>@),
[with_rm=$withval],
[with_rm="check"])

Expand Down Expand Up @@ -182,6 +182,44 @@ AC_DEFUN([X_AC_TEST_RM], [
#
AC_MSG_RESULT($with_rm:$rm_found)

elif test "x$with_rm" = "xibm_spectrum" ; then
#
# Configure for IBM Spectrum (jsrun)
#
if test "x$with_launcher" != "xcheck"; then
#
# launcher path given
#
if test ! -z "$with_launcher" -a -f "$with_launcher"; then
pth=`$srcdir/config/ap $with_launcher`
ac_job_launcher_path=$pth
rm_found="yes"
AC_SUBST(TARGET_JOB_LAUNCHER_PATH,$ac_job_launcher_path)
AC_SUBST(RM_TYPE, RC_ibm_spectrum)
fi
else
rm_default_dirs="/opt/ibm/spectrum_mpi/jsm_pmix/bin/stock /usr/bin /usr/local/bin"
for rm_dir in $rm_default_dirs; do
if test ! -z "$rm_dir" -a ! -d "$rm_dir" ; then
continue;
fi

if test ! -z "$rm_dir/jsrun" -a -f "$rm_dir/jsrun"; then
pth=`$srcdir/config/ap $rm_dir/jsrun`
ac_job_launcher_path=$pth
rm_found="yes"
AC_SUBST(TARGET_JOB_LAUNCHER_PATH,$ac_job_launcher_path)
AC_SUBST(RM_TYPE, RC_ibm_spectrum)
break
fi
done
fi

#
# This answers whether RM given and found
#
AC_MSG_RESULT($with_rm:$rm_found)

elif test "x$with_rm" = "xalps" ; then
#
# Configure for Cray ALPS RM
Expand Down
6 changes: 4 additions & 2 deletions etc/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,8 @@ etc_SCRIPTS = \
rm_mchecker.conf \
rm_openrte.conf \
rm_slurm.conf \
rm_mpiexec_hydra.conf
rm_mpiexec_hydra.conf \
rm_ibm_spectrum.conf

EXTRA_DIST = \
rm_info.conf \
Expand All @@ -61,5 +62,6 @@ EXTRA_DIST = \
rm_mchecker.conf \
rm_openrte.conf \
rm_slurm.conf \
rm_mpiexec_hydra.conf
rm_mpiexec_hydra.conf \
rm_ibm_spectrum.conf

54 changes: 54 additions & 0 deletions etc/rm_ibm_spectrum.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
## $Header: $
##
## rm_ibm_spectrum.conf
##
##--------------------------------------------------------------------------------
## Copyright (c) 2008, Lawrence Livermore National Security, LLC. Produced at
## the Lawrence Livermore National Laboratory. Written by Dong H. Ahn <[email protected]>.
## LLNL-CODE-409469. All rights reserved.
##
## This file is part of LaunchMON. For details, see
## https://computing.llnl.gov/?set=resources&page=os_projects
##
## Please also read LICENSE -- Our Notice and GNU Lesser General Public License.
##
##
## This program 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) version 2.1 dated February 1999.
##
## This program 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 terms and conditions of the GNU
## General Public License for more details.
##
## You should have received a copy of the GNU Lesser General Public License along
## with this program; if not, write to the Free Software Foundation, Inc., 59 Temple
## Place, Suite 330, Boston, MA 02111-1307 USA
##--------------------------------------------------------------------------------
##
## Update Log:
## Apr 17 2018 DHA: Created file.
##
##
## RM: the name of Resource Manager
## RM_launcher: the name of the launcher command
## RM_launcher_id: the rule to get the launcher id
## (e.g., RM_launcher|sym|srun says the launcher is identify by testing
## RM_launcher's symbol by the name of srun)
## RM_jobid: the rule to get the target jobid
## (e.g., RM_jobid=RM_launcher|sym|totalview_jobid|string says
## jobid can be obtained from the launcher's symbol, totalview_jobid,
## interpreting that as the string type.
## RM_launcher_helper= method or command to launch daemons
## RM_launch_str= options and arguements used for RM_launch_mth.
##

RM=spectrum
RM_MPIR=STD_COLOC_FIFO
RM_launcher=jsrun
RM_launcher_id=RM_launcher|sym|jsm_env_get_jsrun_port
RM_launch_helper=mpir
RM_signal_for_kill=SIGINT
RM_fail_detection=false
RM_launch_str=%o --lmonsharedsec=%s --lmonsecchk=%c
3 changes: 3 additions & 0 deletions etc/rm_info.conf
Original file line number Diff line number Diff line change
Expand Up @@ -73,3 +73,6 @@ rm_bgq_slurm.conf
rm_mchecker.conf
rm_gupc.conf
rm_openrte.conf

[linux-powerle]
rm_ibm_spectrum.conf
6 changes: 6 additions & 0 deletions launchmon/src/linux/lmon_api/lmon_be_sync_mpi.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ lmon_rc_e LMON_be_procctl_init(rm_catalogue_e rmtype, MPIR_PROCDESC_EXT *ptab,
case RC_cray:
case RC_gupc:
case RC_mpiexec_hydra:
case RC_ibm_spectrum:
//
// Call generic Linux init
//
Expand Down Expand Up @@ -170,6 +171,7 @@ lmon_rc_e LMON_be_procctl_stop(rm_catalogue_e rmtype, MPIR_PROCDESC_EXT *ptab,
case RC_cray:
case RC_gupc:
case RC_mpiexec_hydra:
case RC_ibm_spectrum:
//
// Call generic Linux stop
//
Expand Down Expand Up @@ -230,6 +232,7 @@ lmon_rc_e LMON_be_procctl_run(rm_catalogue_e rmtype, int signum,
case RC_cray:
case RC_gupc:
case RC_mpiexec_hydra:
case RC_ibm_spectrum:
//
// Call generic Linux run
//
Expand Down Expand Up @@ -292,6 +295,7 @@ lmon_rc_e LMON_be_procctl_initdone(rm_catalogue_e rmtype,
case RC_cray:
case RC_gupc:
case RC_mpiexec_hydra:
case RC_ibm_spectrum:
//
// Call generic Linux initdone
//
Expand Down Expand Up @@ -346,6 +350,7 @@ lmon_rc_e LMON_be_procctl_done(rm_catalogue_e rmtype, MPIR_PROCDESC_EXT *ptab,
case RC_cray:
case RC_gupc:
case RC_mpiexec_hydra:
case RC_ibm_spectrum:
//
// You need to do nothing for these resource managers
//
Expand Down Expand Up @@ -402,6 +407,7 @@ lmon_rc_e LMON_be_procctl_perf(rm_catalogue_e rmtype, MPIR_PROCDESC_EXT *ptab,
case RC_cray:
case RC_gupc:
case RC_mpiexec_hydra:
case RC_ibm_spectrum:
//
// You need to do nothing for these resource managers
//
Expand Down
2 changes: 1 addition & 1 deletion launchmon/src/linux/main.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ int main(int argc, char* argv[]) {
try {
int rc = EXIT_FAILURE;
#if X86_ARCHITECTURE || X86_64_ARCHITECTURE || PPC_ARCHITECTURE || \
AARCH64_ARCHITECTURE
AARCH64_ARCHITECTURE || POWERLE_ARCHITECTURE
//
// driver instantiation for the linux platform.
//
Expand Down
4 changes: 2 additions & 2 deletions launchmon/src/linux/sdbg_linux_driver_impl.hxx
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ linux_driver_t<LINUX_DRIVER_TEMPLPARAM>::create_process(pid_t pid,

#if X86_ARCHITECTURE || X86_64_ARCHITECTURE
return_proc = new linux_x86_process_t(pid, mi, md, mt, mc);
#elif PPC_ARCHITECTURE
#elif PPC_ARCHITECTURE || POWERLE_ARCHITECTURE
return_proc = new linux_ppc_process_t(pid, mi, md, mt, mc);
#elif IA64_ARCHITECTURE
return_proc = new linux_ia64_process_t(pid, mi, md, mt, mc);
Expand Down Expand Up @@ -122,7 +122,7 @@ linux_driver_t<LINUX_DRIVER_TEMPLPARAM>::create_process(pid_t pid,
//
#if X86_ARCHITECTURE || X86_64_ARCHITECTURE
return_proc = new linux_x86_process_t(pid, mi);
#elif PPC_ARCHITECTURE
#elif PPC_ARCHITECTURE || POWERLE_ARCHITECTURE
return_proc = new linux_ppc_process_t(pid, mi);
#elif IA64_ARCHITECTURE
return_proc = new linux_ia64_process_t(pid, mi);
Expand Down
Loading