commits
Threads by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
October 2015
- 1 participants
- 19 discussions
[mpich] MPICH primary repository branch, master, updated. v3.2rc1-21-gb562566
by noreply@mpich.org 30 Oct '15
by noreply@mpich.org 30 Oct '15
30 Oct '15
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "MPICH primary repository".
The branch, master has been updated
via b5625665e0bbf4df1e8c44a18b7a9634e0ebea39 (commit)
from 400ec2c587d340f65035342ddf0d7015187e7976 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/b5625665e0bbf4df1e8c44a18b7a9634e…
commit b5625665e0bbf4df1e8c44a18b7a9634e0ebea39
Author: Hari Subramoni <subramoni.1(a)osu.edu>
Date: Fri Oct 30 14:47:37 2015 -0500
test/mpi/pt2pt: check large message count
MPICH now manages byte counts in MPI_Status > INT_MAX, so this
check should be performed.
diff --git a/test/mpi/pt2pt/large_message.c b/test/mpi/pt2pt/large_message.c
index 8c343e5..cc0526a 100644
--- a/test/mpi/pt2pt/large_message.c
+++ b/test/mpi/pt2pt/large_message.c
@@ -15,6 +15,7 @@ int main(int argc, char *argv[])
{
int ierr, i, size, rank;
int cnt = 270000000;
+ int stat_cnt = 0;
MPI_Status status;
long long *cols;
int errs = 0;
@@ -57,8 +58,11 @@ int main(int argc, char *argv[])
for (i = 0; i < cnt; i++)
cols[i] = -1;
ierr = MPI_Recv(cols, cnt, MPI_LONG_LONG_INT, 0, 0, MPI_COMM_WORLD, &status);
- /* ierr = MPI_Get_count(&status,MPI_LONG_LONG_INT,&cnt);
- * Get_count still fails because count is not 64 bit */
+ ierr = MPI_Get_count(&status,MPI_LONG_LONG_INT,&stat_cnt);
+ if (cnt != stat_cnt) {
+ fprintf(stderr, "Output of MPI_Get_count (%d) does not match expected count (%d).\n", stat_cnt, cnt);
+ errs++;
+ }
for (i = 0; i < cnt; i++) {
if (cols[i] != i) {
/*printf("Rank %d, cols[i]=%lld, should be %d\n", rank, cols[i], i); */
-----------------------------------------------------------------------
Summary of changes:
test/mpi/pt2pt/large_message.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
hooks/post-receive
--
MPICH primary repository
1
0
[mpich] MPICH primary repository branch, master, updated. v3.2rc1-20-g400ec2c
by noreply@mpich.org 29 Oct '15
by noreply@mpich.org 29 Oct '15
29 Oct '15
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "MPICH primary repository".
The branch, master has been updated
via 400ec2c587d340f65035342ddf0d7015187e7976 (commit)
from 99d8c7717a16a9f8998f865046aafc7ac44dd4f0 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/400ec2c587d340f65035342ddf0d70151…
commit 400ec2c587d340f65035342ddf0d7015187e7976
Author: Yanfei Guo <yguo(a)anl.gov>
Date: Thu Oct 29 15:13:10 2015 -0500
maint: remove Jenkins scripts
The Jenkins scripts are moved to a separate repo
mpich-jenkins-scripts.git
No reviewer.
diff --git a/maint/jenkins/multinode/mn-build.sh b/maint/jenkins/multinode/mn-build.sh
deleted file mode 100755
index 796d129..0000000
--- a/maint/jenkins/multinode/mn-build.sh
+++ /dev/null
@@ -1,510 +0,0 @@
-#!/bin/zsh -xe
-#
-# (C) 2015 by Argonne National Laboratory.
-# See COPYRIGHT in top-level directory.
-#
-
-# This script only run on the first node. The mpiexec will automatically spawned
-if test ! $SLURM_NODEID -eq 0; then
- exit 0
-fi
-
-mount | grep autotest
-
-hostname
-
-WORKSPACE=""
-TMP_WORKSPACE=""
-compiler="gnu"
-jenkins_configure="default"
-queue="ib64"
-netmod="default"
-ofi_prov="sockets"
-N_MAKE_JOBS=8
-GIT_BRANCH=""
-BUILD_MODE="per-commit"
-
-#####################################################################
-## Initialization
-#####################################################################
-
-while getopts ":h:c:o:q:m:n:b:t:" opt; do
- case "$opt" in
- h)
- WORKSPACE=$OPTARG ;;
- c)
- compiler=$OPTARG ;;
- o)
- jenkins_configure=$OPTARG ;;
- q)
- queue=$OPTARG ;;
- m)
- _netmod=${OPTARG%%,*}
- if [[ "$_netmod" == "ofi" ]]; then
- netmod=$_netmod
- ofi_prov=${OPTARG/$_netmod,}
- else
- netmod=$_netmod
- fi
- ;;
- n)
- N_MAKE_JOBS=$OPTARG ;;
- b)
- GIT_BRANCH=$OPTARG ;;
- t)
- TMP_WORKSPACE=$OPTARG ;;
- \?)
- echo "Invalid option: -$OPTARG" >&2
- exit 1
- esac
-done
-
-cd $WORKSPACE
-
-if test "$GIT_BRANCH" = "" ; then
- BUILD_MODE="nightly"
-fi
-
-case "$BUILD_MODE" in
- "nightly")
- if [[ -x mpich-master/maint/jenkins/skip_test.sh ]]; then
- ./mpich-master/maint/jenkins/skip_test.sh -j $JOB_NAME -c $compiler -o $jenkins_configure -q $queue -m $_netmod \
- -s mpich-master/test/mpi/summary.junit.xml
- if [[ -f mpich-master/test/mpi/summary.junit.xml ]]; then
- exit 0
- fi
- fi
- ;;
- "per-commit")
- if [[ -x maint/jenkins/skip_test.sh ]]; then
- ./maint/jenkins/skip_test.sh -j $JOB_NAME -c $compiler -o $jenkins_configure -q $queue -m $_netmod \
- -s test/mpi/summary.junit.xml
- if [[ -f test/mpi/summary.junit.xml ]]; then
- exit 0
- fi
- fi
- ;;
-esac
-
-
-if test -d "$TMP_WORKSPACE"; then
- rm -rf "$TMP_WORKSPACE"
-fi
-mkdir -p "$TMP_WORKSPACE"
-SRC=$WORKSPACE
-TMP_SRC=$TMP_WORKSPACE
-
-# Preparing the source
-case "$BUILD_MODE" in
- "nightly")
- SRC=$WORKSPACE/mpich-master
- TMP_SRC=$TMP_WORKSPACE/mpich-master
- cp $WORKSPACE/mpich-master.tar.gz $TMP_WORKSPACE/
- pushd "$TMP_WORKSPACE"
- tar zxvf mpich-master.tar.gz
- popd
- ;;
- "per-commit")
- git clean -x -d -f
- cp -a $WORKSPACE/* $TMP_WORKSPACE/
- ;;
- *)
- echo "Invalid BUILD_MODE $BUILD_MODE. Set by mistake?"
- exit 1
-esac
-
-
-#####################################################################
-## Functions
-#####################################################################
-
-CollectResults() {
- # TODO: copy saved test binaries (for failed cases)
- if [[ "$BUILD_MODE" != "per-commit" ]]; then
- find . \
- \( -name "filtered-make.txt" \
- -o -name "apply-xfail.sh" \
- -o -name "autogen.log" \
- -o -name "config.log" \
- -o -name "c.txt" \
- -o -name "m.txt" \
- -o -name "mi.txt" \
- -o -name "summary.junit.xml" \) \
- | while read -r line; do
- mkdir -p "$SRC/$(dirname $line)"
- done
- fi
-
- find . \
- \( -name "filtered-make.txt" -o \
- -name "apply-xfail.sh" -o \
- -name "autogen.log" -o \
- -name "config.log" -o \
- -name "c.txt" -o \
- -name "m.txt" -o \
- -name "mi.txt" -o \
- -name "summary.junit.xml" \) \
- -exec cp {} $SRC/{} \;
-}
-
-#####################################################################
-## Logic to generate random configure options
-#####################################################################
-RandArgs() {
- # Chosen *without* replacement. If an option is chosen twice,
- # then there will be fewer options
- n_choice=$1
- array=(${(P)${2}})
- optname=$3
- negoptname=$4
- chosen=()
- args=""
- ret_args=""
- array_len=$#array
- idx=0
-
- for i in `seq $array_len`; do
- chosen[$i]=0
- done
-
- for i in `seq $n_choice`; do
- let idx=$[RANDOM % $array_len]+1
- if [ $chosen[$idx] -eq 1 ]; then continue; fi
- chosen[$idx]=1
- args=("${(s/;/)array[$idx]}")
- name=$args[1]
- if [ $#args -eq 1 ]; then
- # Only the name is provided. Choose one of three
- # choices:
- # No option (skip this one)
- # just --$optname-$name
- # just --$negoptname-$name
- let idx=$[RANDOM % 3]+1
- if [ $idx -eq 1 ]; then
- ret_args="$ret_args --$optname-$name"
- elif [ $idx -eq 2 ]; then
- ret_args="$ret_args --$negoptname-$name"
- fi
- else
- let idx=$[RANDOM % ($#args-1)]+2
- # Special cases
- if [ "$args[$idx]" = "ch3:sock" ]; then
- ret_args="$ret_args --disable-ft-tests --disable-comm-overlap-tests"
- elif [ "$args[$idx]" = "gforker" ]; then
- if [ $chosen[4] -eq 1 ]; then
- continue
- else
- ret_args="$ret_args --with-namepublisher=file"
- chosen[4]=1
- fi
- elif [ "$name" = "namepublisher" -a "$args[$idx]" = "no" ]; then
- if [ $chosen[3] -eq 1 ]; then
- continue
- fi
- elif [ "$args[$idx]" = "ndebug" -a "$CC" = "suncc" -a "$label" = "ubuntu32" ]; then
- # On ubuntu32, suncc has a bug whose workaround is to add -O flag (ticket #2105)
- CFLAGS="-O1"
- export CFLAGS
- fi
- ret_args="$ret_args --$optname-$name=$args[$idx]"
- fi
- done
- echo $ret_args
-}
-
-RandConfig() {
- # WARNING: If moving anything in the two following arrays, check the indices in "Special cases" above
- enable_array=(
- 'error-checking;no;runtime;all'
- 'error-messages;all;generic;class;none'
- 'timer-type;linux86_cycle;clock_gettime;gettimeofday'
- 'timing;none;all;runtime;log;log_detailed'
- 'g;none;all;handle;dbg;log;meminit;handlealloc;instr;mem;mutex;mutexnesting'
- 'fast;O0;O1;O2;O3;ndebug;all;yes;none'
- 'fortran'
- 'cxx'
- 'romio'
- 'check-compiler-flags'
- 'strict;c99;posix'
- 'debuginfo'
- 'weak-symbols;no;yes'
- 'threads;single;multiple;runtime'
- 'thread-cs;global'
- 'refcount;lock-free;none'
- 'mutex-timing'
- 'handle-allocation;tls;mutex'
- 'multi-aliases'
- 'predefined-refcount'
- 'alloca'
- 'yield;sched_yield;select'
- 'runtimevalues'
- )
- with_array=(
- 'logging;none'
- 'pmi;simple'
- 'pm;gforker'
- 'namepublisher;no;file'
- 'device;ch3;ch3:sock'
- )
- let n_enable=$#enable_array+1
- let n_with=$#with_array+1
- enable_args=$(RandArgs $n_enable "enable_array" "enable" "disable")
- with_args=$(RandArgs $n_with "with_array" "with" "without")
- echo "$enable_args $with_args"
-}
-
-PrepareEnv() {
- case "$queue" in
- "ubuntu32" | "ubuntu64" )
- source /software/common/adm/etc/softenv-aliases.sh
- source /software/common/adm/etc/softenv-load.sh
- soft add +intel
- soft add +pgi
- soft add +absoft
- soft add +nagfor
- soft add +solarisstudio-12.4
- soft add +ekopath
- ;;
- "freebsd64" | "freebsd32")
- PATH=/usr/local/bin:$PATH
- LD_LIBRARY_PATH=/usr/local/lib/gcc46:$LD_LIBRARY_PATH
- export LD_LIBRARY_PATH
- ;;
- "solaris")
- PATH=/usr/gcc/4.3/bin:/usr/gnu/bin:/usr/sbin:$PATH
- CONFIG_SHELL=/usr/gnu/bin/sh
- export CONFIG_SHELL
- ;;
- esac
- PATH=$HOME/software/autotools/bin:$PATH
- export PATH
- echo "$PATH"
-}
-
-SetCompiler() {
- case "$compiler" in
- "gnu")
- CC=gcc
- CXX=g++
- F77=gfortran
- FC=gfortran
- ;;
- "clang")
- CC=clang
- CXX=clang++
- F77=gfortran
- FC=gfortran
- ;;
- "intel")
- CC=icc
- CXX=icpc
- F77=ifort
- FC=ifort
- ;;
- "pgi")
- CC=pgcc
- CXX=pgcpp
- F77=pgf77
- FC=pgfortran
- ;;
- "absoft")
- CC=gcc
- CXX=g++
- F77=af77
- FC=af90
- ;;
- "nag")
- CC=gcc
- CXX=g++
- F77=nagfor
- FC=nagfor
- FFLAGS="-mismatch"
- FCFLAGS="-mismatch"
- export FFLAGS
- export FCFLAGS
- ;;
- "solstudio")
- CC=suncc
- CXX=sunCC
- F77=sunf77
- FC=sunf90
- ;;
- "sunstudio")
- CC=cc
- CXX=CC
- F77=f77
- FC=f90
- ;;
- "pathscale")
- CC=pathcc
- CXX=pathCC
- F77=pathf95
- FC=pathf95
- ;;
- *)
- echo "Unknown compiler suite"
- exit 1
- esac
-
- export CC
- export CXX
- export F77
- export FC
-
- which $CC
- which $CXX
- which $F77
- which $FC
-}
-
-SetNetmod() {
- netmod_opt="__NULL__"
- case "$netmod" in
- "default") # for solaris, may use with sock
- netmod_opt=
- ;;
- "mxm")
- netmod_opt="--with-device=ch3:nemesis:mxm --with-mxm=$HOME/software/mellanox/mxm --disable-spawn --disable-ft-tests"
- ;;
- "ofi")
- netmod_opt="--with-device=ch3:nemesis:ofi --with-ofi=$HOME/software/libfabric/$ofi_prov --disable-spawn --disable-ft-tests LD_LIBRARY_PATH=$HOME/software/libfabric/lib"
- ;;
- "portals4")
- netmod_opt="--with-device=ch3:nemesis:portals4 --with-portals4=$HOME/software/portals4 --disable-spawn --disable-ft-tests"
- ;;
- "sock")
- netmod_opt="--with-device=ch3:sock --disable-ft-tests --disable-comm-overlap-tests"
- ;;
- "tcp")
- netmod_opt=
- ;;
- *)
- echo "Unknown netmod type"
- exit 1
- esac
- export netmod_opt
- echo "$netmod_opt"
-}
-
-SetConfigOpt() {
- config_opt="__TO_BE_FILLED__"
- case "$jenkins_configure" in
- "default")
- config_opt=
- ;;
- "strict")
- config_opt="--enable-strict"
- ;;
- "fast")
- config_opt="--enable-fast=all"
- ;;
- "nofast")
- config_opt="--disable-fast"
- ;;
- "noshared")
- config_opt="--disable-shared"
- ;;
- "debug")
- config_opt="--enable-g=all"
- ;;
- "noweak")
- config_opt="--disable-weak-symbols"
- ;;
- "strictnoweak")
- config_opt="--enable-strict --disable-weak-symbols"
- ;;
- "nofortran")
- config_opt="--disable-fortran"
- ;;
- "nocxx")
- config_opt="--disable-cxx"
- ;;
- "multithread")
- config_opt="--enable-threads=multiple"
- ;;
- "debuginfo")
- config_opt="--enable-debuginfo"
- ;;
- "noerrorchecking")
- config_opt="--disable-error-checking"
- ;;
- "sock") # for solaris + sock
- config_opt="--with-device=ch3:sock --disable-ft-tests --disable-comm-overlap-tests"
- ;;
- "mpd")
- config_opt="--with-pm=mpd --with-namepublisher=file"
- ;;
- "gforker")
- config_opt="--with-pm=gforker --with-namepublisher=file"
- ;;
- "shmem")
- config_opt=
- ;;
- "async")
- config_opt=
- ;;
- "random")
- config_opt=$(RandArgs)
- ;;
- *)
- echo "Bad configure option: $jenkins_configure"
- exit 1
- esac
-
- if test "$queue" = "osx" -a "$FC" = "ifort"; then
- config_opt="$config_opt lv_cv_ld_force_load=no"
- fi
-
- # ROMIO is always disabled on multinode tests
- config_opt="$config_opt --disable-romio"
-
- export config_opt
- echo "$config_opt"
-}
-
-#####################################################################
-## Main() { Setup Environment and Build
-#####################################################################
-# determine if this is a nightly job or a per-commit job
-PrepareEnv
-
-SetCompiler "$compiler"
-
-pushd "$TMP_SRC"
-
-if test "$BUILD_MODE" = "per-commit" ; then
- ./autogen.sh 2>&1 | tee autogen.log
-fi
-
-if [[ -x maint/jenkins/set-xfail.sh ]]; then
- ./maint/jenkins/set-xfail.sh -j $JOB_NAME -c $compiler -o $jenkins_configure -q $queue -m $_netmod
-fi
-
-./configure --prefix="$TMP_SRC/_inst" $(SetNetmod $netmod) $(SetConfigOpt $jenkins_configure) \
- --disable-perftest \
- 2>&1 | tee c.txt
-make -j$N_MAKE_JOBS 2>&1 | tee m.txt
-if test "${pipestatus[-2]}" != "0"; then
- CollectResults
- exit 1
-fi
-make -j$N_MAKE_JOBS install 2>&1 | tee mi.txt
-if test "${pipestatus[-2]}" != "0"; then
- CollectResults
- exit 1
-fi
-cat m.txt mi.txt | ./maint/clmake > filtered-make.txt 2>&1
-
-# Make the binaries of tests before rsync back to NFS
-pushd test/mpi
-make -j$N_MAKE_JOBS
-popd
-
-tar cf $TMP_WORKSPACE/mpich-test-pack.tar *
-cp $TMP_WORKSPACE/mpich-test-pack.tar $WORKSPACE
-rm $TMP_WORKSPACE/mpich-test-pack.tar
-popd
-
-rm -rf $TMP_WORKSPACE
-exit 0
-
diff --git a/maint/jenkins/multinode/mn-run.sh b/maint/jenkins/multinode/mn-run.sh
deleted file mode 100755
index 3750ea5..0000000
--- a/maint/jenkins/multinode/mn-run.sh
+++ /dev/null
@@ -1,244 +0,0 @@
-#!/bin/zsh -xe
-#
-# (C) 2015 by Argonne National Laboratory.
-# See COPYRIGHT in top-level directory.
-#
-
-# This script only run on the first node. The mpiexec will automatically spawned
-if test ! $SLURM_NODEID -eq 0; then
- exit 0
-fi
-
-hostname
-
-WORKSPACE=""
-TMP_WORKSPACE=""
-compiler="gnu"
-jenkins_configure="default"
-queue="ib64"
-netmod="default"
-ofi_prov="sockets"
-N_MAKE_JOBS=8
-GIT_BRANCH=""
-BUILD_MODE="per-commit"
-
-#####################################################################
-## Initialization
-#####################################################################
-
-while getopts ":h:c:o:q:m:n:b:t:" opt; do
- case "$opt" in
- h)
- WORKSPACE=$OPTARG ;;
- c)
- compiler=$OPTARG ;;
- o)
- jenkins_configure=$OPTARG ;;
- q)
- queue=$OPTARG ;;
- m)
- _netmod=${OPTARG%%,*}
- if [[ "$_netmod" == "ofi" ]]; then
- netmod=$_netmod
- ofi_prov=${OPTARG/$_netmod,}
- else
- netmod=$_netmod
- fi
- ;;
- n)
- N_MAKE_JOBS=$OPTARG ;;
- b)
- GIT_BRANCH=$OPTARG ;;
- t)
- TMP_WORKSPACE=$OPTARG ;;
- \?)
- echo "Invalid option: -$OPTARG" >&2
- exit 1
- esac
-done
-
-cd $WORKSPACE
-
-if test "$GIT_BRANCH" = "" ; then
- BUILD_MODE="nightly"
-fi
-
-case "$BUILD_MODE" in
- "nightly")
- if [[ -x mpich-master/maint/jenkins/skip_test.sh ]]; then
- ./mpich-master/maint/jenkins/skip_test.sh -j $JOB_NAME -c $compiler -o $jenkins_configure -q $queue -m $_netmod \
- -s mpich-master/test/mpi/summary.junit.xml
- if [[ -f mpich-master/test/mpi/summary.junit.xml ]]; then
- exit 0
- fi
- fi
- ;;
- "per-commit")
- if [[ -x maint/jenkins/skip_test.sh ]]; then
- ./maint/jenkins/skip_test.sh -j $JOB_NAME -c $compiler -o $jenkins_configure -q $queue -m $_netmod \
- -s test/mpi/summary.junit.xml
- if [[ -f test/mpi/summary.junit.xml ]]; then
- exit 0
- fi
- fi
- ;;
-esac
-
-
-if test -d "$TMP_WORKSPACE"; then
- rm -rf "$TMP_WORKSPACE"
-fi
-SRC=$WORKSPACE
-TMP_SRC=$TMP_WORKSPACE
-
-# Preparing the source
-case "$BUILD_MODE" in
- "nightly")
- SRC=$WORKSPACE/mpich-master
- TMP_SRC=$TMP_WORKSPACE/mpich-master
- ;;
- "per-commit")
- ;;
- *)
- echo "Invalid BUILD_MODE $BUILD_MODE. Set by mistake?"
- exit 1
-esac
-
-srun mkdir -p $TMP_SRC
-
-# distribute source and binary
-pushd $WORKSPACE
-srun cp $WORKSPACE/mpich-test-pack.tar $TMP_SRC
-srun tar xf $TMP_SRC/mpich-test-pack.tar -C $TMP_SRC
-popd
-
-
-#####################################################################
-## Functions
-#####################################################################
-
-CollectResults() {
- # TODO: copy saved test binaries (for failed cases)
- if [[ "$BUILD_MODE" != "per-commit" ]]; then
- find . \
- \( -name "filtered-make.txt" \
- -o -name "apply-xfail.sh" \
- -o -name "autogen.log" \
- -o -name "config.log" \
- -o -name "c.txt" \
- -o -name "m.txt" \
- -o -name "mi.txt" \
- -o -name "summary.junit.xml" \) \
- | while read -r line; do
- mkdir -p "$SRC/$(dirname $line)"
- done
- fi
-
- find . \
- \( -name "filtered-make.txt" -o \
- -name "apply-xfail.sh" -o \
- -name "autogen.log" -o \
- -name "config.log" -o \
- -name "c.txt" -o \
- -name "m.txt" -o \
- -name "mi.txt" -o \
- -name "summary.junit.xml" \) \
- -exec cp {} $SRC/{} \;
-}
-
-PrepareEnv() {
- case "$queue" in
- "ubuntu32" | "ubuntu64" )
- source /software/common/adm/etc/softenv-aliases.sh
- source /software/common/adm/etc/softenv-load.sh
- soft add +intel
- soft add +pgi
- soft add +absoft
- soft add +nagfor
- soft add +solarisstudio-12.4
- soft add +ekopath
- ;;
- "freebsd64" | "freebsd32")
- PATH=/usr/local/bin:$PATH
- LD_LIBRARY_PATH=/usr/local/lib/gcc46:$LD_LIBRARY_PATH
- export LD_LIBRARY_PATH
- ;;
- "solaris")
- PATH=/usr/gcc/4.3/bin:/usr/gnu/bin:/usr/sbin:$PATH
- CONFIG_SHELL=/usr/gnu/bin/sh
- export CONFIG_SHELL
- ;;
- esac
- PATH=$HOME/software/autotools/bin:$PATH
- export PATH
- echo "$PATH"
-}
-
-
-#####################################################################
-## Main() { Run tests
-## Multi-node tests are running from Jenkins workspace
-#####################################################################
-
-pushd "$TMP_SRC"
-
-# Preparation
-case "$jenkins_configure" in
- "mpd")
- $TMP_SRC/_inst/bin/mpd &
- sleep 1
- ;;
- "async")
- MPIR_CVAR_ASYNC_PROGRESS=1
- export MPIR_CVAR_ASYNC_PROGRESS
- ;;
- "multithread")
- MPIR_CVAR_DEFAULT_THREAD_LEVEL=MPI_THREAD_MULTIPLE
- export MPIR_CVAR_DEFAULT_THREAD_LEVEL
- ;;
-esac
-
-case "$netmod" in
- "mxm")
- MXM_LOG_LEVEL=error
- export MXM_LOG_LEVEL
- ;;
- "ofi" | "portals4")
- MXM_LOG_LEVEL=error
- export MXM_LOG_LEVEL
- ;;
-esac
-
-# run only the minimum level of datatype tests when it is per-commit job
-if [[ "$BUILD_MODE" = "per-commit" ]]; then
- MPITEST_DATATYPE_TEST_LEVEL=min
- export MPITEST_DATATYPE_TEST_LEVEL
-fi
-
-# hack for passing -iface ib0
-if test "$netmod" = "tcp"; then
- sed -i 's+/bin/mpiexec+/bin/mpiexec -iface ib0+g' test/mpi/runtests
-fi
-
-make testing
-
-# Cleanup
-case "$jenkins_configure" in
- "mpd")
- $TMP_SRC/_inst/bin/mpdallexit
- ;;
- "async")
- unset MPIR_CVAR_ASYNC_PROGRESS
- ;;
-esac
-
-#####################################################################
-## Copy Test results and Cleanup
-#####################################################################
-
-CollectResults
-
-popd
-srun rm -rf $TMP_WORKSPACE
-exit 0
-
diff --git a/maint/jenkins/multinode/timeout.conf b/maint/jenkins/multinode/timeout.conf
deleted file mode 100644
index b841c05..0000000
--- a/maint/jenkins/multinode/timeout.conf
+++ /dev/null
@@ -1,23 +0,0 @@
-# Contitional Timeout settings
-#
-# Syntax (similar to a cron file):
-# [job_name] [compiler] [jenkins_configure] [netmod] [n_nodes] [ppn] [timeout in min]
-# Other conditions only allows exact matches.
-#
-# Examples:
-# mxm gnu debug * * sed -i "..."
-# This will apply the set the XFAIL when the job is "mpich-master-mxm" or
-# "mpich-review-mxm", the compiler is "gnu", and the jenkins_configure is
-# "debug".
-#
-# master-ubuntu * * * ubuntu32 sed -i "..."
-# This will apply the set the XFAIL when the job is "mpich-master-ubuntu" and
-# the running queue is "ubuntu32".
-#
-mpich-master-multinode * * mxm 2 * 60
-mpich-master-multinode * * mxm 4 * 60
-mpich-master-multinode * * mxm 8 * 70
-mpich-master-multinode * * tcp * * 120
-mpich-master-multinode * * ofi * * 150
-mpich-master-multinode * * portals4 * * 90
-* * * * * * 120
diff --git a/maint/jenkins/set-timeout.sh b/maint/jenkins/set-timeout.sh
deleted file mode 100755
index bb999b2..0000000
--- a/maint/jenkins/set-timeout.sh
+++ /dev/null
@@ -1,106 +0,0 @@
-#!/bin/zsh
-#
-# (C) 2015 by Argonne National Laboratory.
-# See COPYRIGHT in top-level directory.
-#
-
-jobname=""
-compiler=""
-jenkins_configure=""
-n_nodes="1"
-ppn="1"
-netmod=""
-
-TIMEOUT_CONF="maint/jenkins/multinode/timeout.conf"
-
-#####################################################################
-## Initialization
-#####################################################################
-
-while getopts ":f:j:c:o:n:p:m:" opt; do
- case "$opt" in
- j)
- jobname=$OPTARG ;;
- c)
- compiler=$OPTARG ;;
- o)
- jenkins_configure=$OPTARG ;;
- n)
- n_nodes=$OPTARG ;;
- p)
- ppn=$OPTARG ;;
- m)
- netmod=$OPTARG ;;
- f)
- TIMEOUT_CONF=$OPTARG ;;
- \?)
- echo "Invalid option: -$OPTARG" >&2
- exit 1
- esac
-done
-
-#####################################################################
-## Main (
-#####################################################################
-
-if test ! -f "$TIMEOUT_CONF" ; then
- echo "Cannot find $TIMEOUT_CONF. No TIMEOUT will be calculated"
- exit 0
-fi
-
-TimeoutCond() {
- local job="$1"
- local comp="$2"
- local option="$3"
- local nmod="$4"
- local _n_nodes="$5"
- local _ppn="$6"
-
- local state=0
-
- if [[ ! "$job" == "*" ]]; then
- # clean up jobname and do substring match
- if [[ ! "${jobname%%,*}" == *$job* ]]; then state=1; fi
- fi
-
- if [[ ! "$comp" == "*" ]]; then
- if [[ ! "$compiler" == "$comp" ]]; then state=1; fi
- fi
-
- if [[ ! "$option" == "*" ]]; then
- if [[ ! "$jenkins_configure" == "$option" ]]; then state=1; fi
- fi
-
- if [[ ! "$nmod" == "*" ]]; then
- if [[ ! "$netmod" == "$nmod" ]]; then state=1; fi
- fi
-
- if [[ ! "$_n_nodes" == "*" ]]; then
- if [[ ! "$n_nodes" == "$_n_nodes" ]]; then state=1; fi
- fi
-
- if [[ ! "$_ppn" == "*" ]]; then
- if [[ ! "$ppn" == "$_ppn" ]]; then state=1; fi
- fi
-
- echo "$state"
-}
-
-while read -r line; do
- #clean leading whitespaces
- line=$(echo "$line" | sed "s/^ *//g")
- line=$(echo "$line" | sed "s/ *$//g")
- # echo $line
- # skip comment line
- if test -x "$line" -o "${line:1}" = "#" ; then
- continue
- fi
-
- arr=( $(echo $line) )
- if [[ "0" == $(TimeoutCond "${arr[1]}" "${arr[2]}" "${arr[3]}" "${arr[4]}" "${arr[5]}" "${arr[6]}") ]]; then
- echo "${arr[@]:6}"
- exit 0
- fi
-done < "$TIMEOUT_CONF"
-
-exit 0
diff --git a/maint/jenkins/set-xfail.sh b/maint/jenkins/set-xfail.sh
deleted file mode 100755
index 127de1e..0000000
--- a/maint/jenkins/set-xfail.sh
+++ /dev/null
@@ -1,106 +0,0 @@
-#!/bin/zsh
-#
-# (C) 2015 by Argonne National Laboratory.
-# See COPYRIGHT in top-level directory.
-#
-
-jobname=""
-compiler=""
-jenkins_configure=""
-queue=""
-netmod=""
-
-XFAIL_CONF="maint/jenkins/xfail.conf"
-
-#####################################################################
-## Initialization
-#####################################################################
-
-while getopts ":f:j:c:o:q:m:" opt; do
- case "$opt" in
- j)
- jobname=$OPTARG ;;
- c)
- compiler=$OPTARG ;;
- o)
- jenkins_configure=$OPTARG ;;
- q)
- queue=$OPTARG ;;
- m)
- netmod=$OPTARG ;;
- f)
- XFAIL_CONF=$OPTARG ;;
- \?)
- echo "Invalid option: -$OPTARG" >&2
- exit 1
- esac
-done
-
-#####################################################################
-## Main (
-#####################################################################
-
-if test ! -f "$XFAIL_CONF" ; then
- echo "Cannot find $XFAIL_CONF. No XFAIL will be applied"
- exit 0
-fi
-
-XFAILCond() {
- local job="$1"
- local comp="$2"
- local option="$3"
- local nmod="$4"
- local q="$5"
-
- local state=0
-
- if [[ ! "$job" == "*" ]]; then
- # clean up jobname and do substring match
- if [[ ! "${jobname%%,*}" == *$job* ]]; then state=1; fi
- fi
-
- if [[ ! "$comp" == "*" ]]; then
- if [[ ! "$compiler" == "$comp" ]]; then state=1; fi
- fi
-
- if [[ ! "$option" == "*" ]]; then
- if [[ ! "$jenkins_configure" == "$option" ]]; then state=1; fi
- fi
-
- if [[ ! "$nmod" == "*" ]]; then
- if [[ ! "$netmod" == "$nmod" ]]; then state=1; fi
- fi
-
- if [[ ! "$q" == "*" ]]; then
- if [[ ! "$queue" == "$q" ]]; then state=1; fi
- fi
-
- echo "$state"
-}
-
-SCRIPT="apply-xfail.sh"
-if [[ -f $SCRIPT ]]; then
- rm $SCRIPT
-fi
-
-while read -r line; do
- #clean leading whitespaces
- line=$(echo "$line" | sed "s/^ *//g")
- line=$(echo "$line" | sed "s/ *$//g")
- echo $line
- # skip comment line
- if test -x "$line" -o "${line:1}" = "#" ; then
- continue
- fi
-
- arr=( $(echo $line) )
- if [[ "0" == $(XFAILCond "${arr[1]}" "${arr[2]}" "${arr[3]}" "${arr[4]}" "${arr[5]}") ]]; then
- echo "${arr[@]:5}" >> $SCRIPT
- fi
-done < "$XFAIL_CONF"
-
-if [[ -f $SCRIPT ]]; then
- source $SCRIPT
-fi
-
-exit 0
diff --git a/maint/jenkins/skip_test.conf b/maint/jenkins/skip_test.conf
deleted file mode 100644
index 5bb79fa..0000000
--- a/maint/jenkins/skip_test.conf
+++ /dev/null
@@ -1,22 +0,0 @@
-# Contitional skip test settings
-#
-# Syntax (similar to a cron file):
-# [jobname] [compiler] [jenkins_configure] [netmod] [queue]
-# Note that the [jobname] allows partial matches (see examples). Other
-# conditions only allows exact matches.
-# The actual allowed combinations are depending on the Jenkins job. For
-# example,
-# mxm * * tcp *
-# will have no effect since none of the mxm jobs has tcp netmod in the
-# configuration.
-#
-# Examples:
-# mxm gnu debug * *
-# This will skip all tests when the job is "mpich-master-mxm" or
-# "mpich-review-mxm", the compiler is "gnu", and the jenkins_configure is
-# "debug".
-#
-# master-ubuntu * * * ubuntu32 sed -i "..."
-# This will skip all test when the job is "mpich-master-ubuntu" and the
-# running queue is "ubuntu32".
-#
diff --git a/maint/jenkins/skip_test.sh b/maint/jenkins/skip_test.sh
deleted file mode 100755
index c7a5603..0000000
--- a/maint/jenkins/skip_test.sh
+++ /dev/null
@@ -1,116 +0,0 @@
-#!/bin/zsh
-#
-# (C) 2015 by Argonne National Laboratory.
-# See COPYRIGHT in top-level directory.
-#
-
-jobname=""
-compiler=""
-jenkins_configure=""
-queue=""
-netmod=""
-
-SKIP_TEST_CONF="maint/jenkins/skip_test.conf"
-TEST_SUMMARY="test/mpi/summary.junit.xml"
-
-#####################################################################
-## Initialization
-#####################################################################
-
-while getopts ":f:j:c:o:q:m:s:" opt; do
- case "$opt" in
- j)
- jobname=$OPTARG ;;
- c)
- compiler=$OPTARG ;;
- o)
- jenkins_configure=$OPTARG ;;
- q)
- queue=$OPTARG ;;
- m)
- netmod=$OPTARG ;;
- f)
- SKIP_TEST_CONF=$OPTARG ;;
- s)
- TEST_SUMMARY=$OPTARG ;;
- \?)
- echo "Invalid option: -$OPTARG" >&2
- exit 1
- esac
-done
-
-#####################################################################
-## Main (
-#####################################################################
-
-SkipTestCond() {
- local job="$1"
- local comp="$2"
- local option="$3"
- local nmod="$4"
- local q="$5"
-
- local state=0
-
- if [[ ! "$job" == "*" ]]; then
- # clean up jobname and do substring match
- if [[ ! "${jobname%%,*}" == *$job* ]]; then state=1; fi
- fi
-
- if [[ ! "$comp" == "*" ]]; then
- if [[ ! "$compiler" == "$comp" ]]; then state=1; fi
- fi
-
- if [[ ! "$option" == "*" ]]; then
- if [[ ! "$jenkins_configure" == "$option" ]]; then state=1; fi
- fi
-
- if [[ ! "$nmod" == "*" ]]; then
- if [[ ! "$netmod" == "$nmod" ]]; then state=1; fi
- fi
-
- if [[ ! "$q" == "*" ]]; then
- if [[ ! "$queue" == "$q" ]]; then state=1; fi
- fi
-
- echo "$state"
-}
-
-SkipTest() {
- TEST_SUMMARY_DIR=$(dirname $TEST_SUMMARY)
- if [[ -d "$TEST_SUMMARY_DIR" ]]; then
- mkdir -p "$TEST_SUMMARY_DIR"
- fi
- cat > "$TEST_SUMMARY" << "EOF"
-<testsuites>
-<testsuite failures="0" errors="0" skipped="0" tests="1" date="$date" name="summary_junit_xml">
-<testcase name="none"/>
-<system-out/>
-<system-err/>
-</testsuite>
-</testsuites>
-EOF
-}
-
-if [[ -f "$TEST_SUMMARY" ]]; then
- rm "$TEST_SUMMARY"
-fi
-
-while read -r line; do
- #clean leading whitespaces
- line=$(echo "$line" | sed "s/^ *//g")
- line=$(echo "$line" | sed "s/ *$//g")
- echo $line
- # skip comment line
- if test -x "$line" -o "${line:1}" = "#" ; then
- continue
- fi
-
- arr=( $(echo $line) )
- if [[ "0" == $(SkipTestCond "${arr[1]}" "${arr[2]}" "${arr[3]}" "${arr[4]}" "${arr[5]}") ]]; then
- SkipTest
- exit 0
- fi
-done < "$SKIP_TEST_CONF"
-
-exit 0
diff --git a/maint/jenkins/test-worker-abi-prolog.sh b/maint/jenkins/test-worker-abi-prolog.sh
deleted file mode 100755
index a059a5e..0000000
--- a/maint/jenkins/test-worker-abi-prolog.sh
+++ /dev/null
@@ -1,259 +0,0 @@
-#!/bin/zsh -xe
-#
-# (C) 2015 by Argonne National Laboratory.
-# See COPYRIGHT in top-level directory.
-#
-
-hostname
-
-WORKSPACE=""
-compiler="gnu"
-jenkins_configure="default"
-queue="ib64"
-netmod="default"
-ofi_prov="sockets"
-N_MAKE_JOBS=8
-
-#####################################################################
-## Initialization
-#####################################################################
-
-while getopts ":h:c:o:q:m:n:" opt; do
- case "$opt" in
- h)
- WORKSPACE=$OPTARG ;;
- c)
- compiler=$OPTARG ;;
- o)
- jenkins_configure=$OPTARG ;;
- q)
- queue=$OPTARG ;;
- m)
- _netmod=${OPTARG%%,*}
- if [[ "$_netmod" == "ofi" ]]; then
- netmod=$_netmod
- ofi_prov=${OPTARG/$_netmod,}
- else
- netmod=$_netmod
- fi
- ;;
- n)
- N_MAKE_JOBS=$OPTARG ;;
- \?)
- echo "Invalid option: -$OPTARG" >&2
- exit 1
- esac
-done
-
-cd $WORKSPACE
-
-TMP_WORKSPACE=$(mktemp -d /sandbox/jenkins.tmp.XXXXXXXX)
-SRC=$WORKSPACE
-TMP_SRC=$TMP_WORKSPACE
-
-tar zxvf mpich-master.tar.gz
-SRC=$WORKSPACE/mpich-master
-TMP_SRC=$TMP_WORKSPACE/mpich-master
-cp -a $WORKSPACE/mpich-master $TMP_WORKSPACE/
-
-
-#####################################################################
-## Functions
-#####################################################################
-
-PrepareEnv() {
- case "$queue" in
- "ubuntu32" | "ubuntu64" )
- source /software/common/adm/etc/softenv-aliases.sh
- source /software/common/adm/etc/softenv-load.sh
- soft add +intel
- soft add +pgi
- soft add +absoft
- soft add +nagfor
- soft add +solarisstudio-12.4
- soft add +ekopath
- ;;
- "freebsd64" | "freebsd32")
- PATH=/usr/local/bin:$PATH
- LD_LIBRARY_PATH=/usr/local/lib/gcc46:$LD_LIBRARY_PATH
- export LD_LIBRARY_PATH
- ;;
- "solaris")
- PATH=/usr/gcc/4.3/bin:/usr/gnu/bin:/usr/sbin:$PATH
- CONFIG_SHELL=/usr/gnu/bin/sh
- export CONFIG_SHELL
- ;;
- esac
- PATH=$HOME/software/autotools/bin:$PATH
- export PATH
- echo "$PATH"
-}
-
-SetCompiler() {
- case "$compiler" in
- "gnu")
- CC=gcc
- CXX=g++
- F77=gfortran
- FC=gfortran
- ;;
- "clang")
- CC=clang
- CXX=clang++
- F77=gfortran
- FC=gfortran
- ;;
- "intel")
- CC=icc
- CXX=icpc
- F77=ifort
- FC=ifort
- ;;
- "pgi")
- CC=pgcc
- CXX=pgcpp
- F77=pgf77
- FC=pgfortran
- ;;
- "absoft")
- CC=gcc
- CXX=g++
- F77=af77
- FC=af90
- ;;
- "nag")
- CC=gcc
- CXX=g++
- F77=nagfor
- FC=nagfor
- FFLAGS="-mismatch"
- FCFLAGS="-mismatch"
- export FFLAGS
- export FCFLAGS
- ;;
- "solstudio")
- CC=suncc
- CXX=sunCC
- F77=sunf77
- FC=sunf90
- ;;
- "pathscale")
- CC=pathcc
- CXX=pathCC
- F77=pathf95
- FC=pathf95
- ;;
- *)
- echo "Unknown compiler suite"
- exit 1
- esac
-
- export CC
- export CXX
- export F77
- export FC
-
- which $CC
- which $CXX
- which $F77
- which $FC
-}
-
-SetConfigOpt() {
- config_opt="__TO_BE_FILLED__"
- case "$jenkins_configure" in
- "default")
- config_opt=
- ;;
- "strict")
- config_opt="--enable-strict"
- ;;
- "fast")
- config_opt="--enable-fast=all"
- ;;
- "nofast")
- config_opt="--disable-fast"
- ;;
- "noshared")
- config_opt="--disable-shared"
- ;;
- "debug")
- config_opt="--enable-g=all"
- ;;
- "noweak")
- config_opt="--disable-weak-symbols"
- ;;
- "strictnoweak")
- config_opt="--enable-strict --disable-weak-symbols"
- ;;
- "nofortran")
- config_opt="--disable-f77 --disable-fc"
- ;;
- "nocxx")
- config_opt="--disable-cxx"
- ;;
- "multithread")
- config_opt="--enable-threads=multiple"
- ;;
- "debuginfo")
- config_opt="--enable-debuginfo"
- ;;
- "noerrorchecking")
- config_opt="--disable-error-checking"
- ;;
- "sock") # for solaris + sock
- config_opt="--with-device=ch3:sock --disable-ft-tests --disable-comm-overlap-tests"
- ;;
- "mpd")
- config_opt="--with-pm=mpd --with-namepublisher=file"
- ;;
- "gforker")
- config_opt="--with-pm=gforker --with-namepublisher=file"
- ;;
- "shmem")
- config_opt=
- ;;
- "async")
- config_opt=
- ;;
- "random")
- config_opt=$(RandArgs)
- ;;
- *)
- echo "Bad configure option: $jenkins_configure"
- exit 1
- esac
-
- if test "$jenkins_configure" != "shmem" ; then
- config_opt="$config_opt --enable-nemesis-dbg-localoddeven"
- fi
-
- if test "$queue" = "osx" -a "$FC" = "ifort"; then
- config_opt="$config_opt lv_cv_ld_force_load=no"
- fi
-
- export config_opt
- echo "$config_opt"
-}
-
-rm -rf $HOME/mpi/installs/mpich-master/$compiler/$jenkins_configure
-
-PrepareEnv
-
-SetCompiler "$compiler"
-
-pushd "$TMP_SRC"
-
-./configure --prefix=$HOME/mpi/installs/mpich-master/$compiler/$jenkins_configure $(SetConfigOpt $jenkins_configure)
-make -j8 install
-
-popd
-
-if test "$compiler" = "gnu" -a "$jenkins_configure" = "default" ; then
- cd /home/autotest/mpi/tests/mpich-tests
- git clean -x -d -f
- git pull
- ./autogen.sh
-fi
-
-exit 0
diff --git a/maint/jenkins/test-worker-abi.sh b/maint/jenkins/test-worker-abi.sh
deleted file mode 100755
index 74a6ffb..0000000
--- a/maint/jenkins/test-worker-abi.sh
+++ /dev/null
@@ -1,369 +0,0 @@
-#!/bin/zsh -x
-#
-# (C) 2015 by Argonne National Laboratory.
-# See COPYRIGHT in top-level directory.
-#
-
-hostname
-
-WORKSPACE=""
-build_mpi="mpich-master"
-compiler="gnu"
-run_conf="default"
-run_mpi="mpich-master"
-
-#####################################################################
-## Initialization
-#####################################################################
-
-while getopts ":h:c:o:b:r:" opt; do
- case "$opt" in
- h)
- WORKSPACE=$OPTARG ;;
- c)
- compiler=$OPTARG ;;
- o)
- run_conf=$OPTARG ;;
- b)
- build_mpi=$OPTARG ;;
- r)
- run_mpi=$OPTARG ;;
- \?)
- echo "Invalid option: -$OPTARG" >&2
- exit 1
- esac
-done
-
-cd $WORKSPACE
-TMP_WORKSPACE=$(mktemp -d /sandbox/jenkins.tmp.XXXXXXXX)
-
-# $build_mpi -- MPI libraries used to build the tests
-# $run_mpi -- MPI libraries used to run the tests
-# $compiler -- gcc or icc. Compilers used to build $build_mpi _and_ $run_mpi.
-# Intel MPI provides mpigcc, mpiicc etc.
-# $run_conf -- debug or default. Options used to build $build_mpi _and_ $run_mpi
-
-#####################################################################
-## Setup the paths for the compilers
-#####################################################################
-source /software/common/adm/etc/softenv-aliases.sh
-source /software/common/adm/etc/softenv-load.sh
-soft add +intel
-
-if test "$compiler" = "gnu" ; then
- CC=gcc
- CXX=g++
- F77=gfortran
- FC=gfortran
-elif test "$compiler" = "intel" ; then
- CC=icc
- CXX=icpc
- F77=ifort
- FC=ifort
-else
- echo "Unknown compiler suite"
- exit 1
-fi
-
-export CC
-export CXX
-export F77
-export FC
-
-which $CC
-which $CXX
-which $F77
-which $FC
-
-## Setup tmp directory
-mkdir ${TMP_WORKSPACE}/_tmp
-
-## Setup binaries in MPICH
-if test "$build_mpi" != "impi-5.0"; then
- cp -a ${HOME}/mpi/installs/${build_mpi}/${compiler}/${run_conf} ${TMP_WORKSPACE}/_tmp/${build_mpi}-inst
- MPICH_BUILD_PATH=${TMP_WORKSPACE}/_tmp/${build_mpi}-inst
- export MPICH_BUILD_PATH
- cd ${MPICH_BUILD_PATH}/bin
- for x in mpif77 mpif90 mpicc mpicxx ; do
- sed -i "s+^libdir=.*+libdir=${MPICH_BUILD_PATH}/lib+g" $x
- sed -i "s+^prefix=.*+prefix=${MPICH_BUILD_PATH}+g" $x
- sed -i "s+^includedir=.*+includedir=${MPICH_BUILD_PATH}/include+g" $x
- done
-fi
-if test "$run_mpi" != "impi-5.0"; then
- if test "$build_mpi" != "$run_mpi"; then
- cp -a ${HOME}/mpi/installs/${run_mpi}/${compiler}/${run_conf} ${TMP_WORKSPACE}/_tmp/${run_mpi}-inst
- fi
- MPICH_RUN_PATH=${TMP_WORKSPACE}/_tmp/${run_mpi}-inst
- export MPICH_RUN_PATH
-fi
-
-## Setup binaries in IMPI
-cp -a /home/autotest/intel/impi/5.0.1.035 ${TMP_WORKSPACE}/_tmp/impi-inst
-IMPI_PATH=${TMP_WORKSPACE}/_tmp/impi-inst
-export IMPI_PATH
-cd ${IMPI_PATH}/intel64/bin
-for x in mpif77 mpif90 mpigcc mpigxx mpiicc mpiicpc mpiifort ; do
- sed -i "s+^prefix=.*+prefix=${IMPI_PATH}+g" $x
-done
-
-
-## Setup compiler paths
-if test "$build_mpi" = "mpich-master" -o "$build_mpi" = "mpich-3.1" ; then
- MPICC=${MPICH_BUILD_PATH}/bin/mpicc
- MPICXX=${MPICH_BUILD_PATH}/bin/mpicxx
- MPIF77=${MPICH_BUILD_PATH}/bin/mpif77
- MPIFC=${MPICH_BUILD_PATH}/bin/mpif90
-elif test "$build_mpi" = "impi-5.0" ; then
- if test "$compiler" = "gnu" ; then
- MPICC=${IMPI_PATH}/intel64/bin/mpigcc
- MPICXX=${IMPI_PATH}/intel64/bin/mpigxx
- MPIF77=${IMPI_PATH}/intel64/bin/mpif77
- MPIFC=${IMPI_PATH}/intel64/bin/mpif90
- elif test "$compiler" = "intel" ; then
- MPICC=${IMPI_PATH}/intel64/bin/mpiicc
- MPICXX=${IMPI_PATH}/intel64/bin/mpiicpc
- MPIF77=${IMPI_PATH}/intel64/bin/mpiifort
- MPIFC=${IMPI_PATH}/intel64/bin/mpiifort
- fi
-fi
-export MPICC
-export MPICXX
-export MPIF77
-export MPIFC
-
-if test "$run_mpi" = "mpich-master" -o "$run_mpi" = "mpich-3.1" ; then
- MPIEXEC=${MPICH_RUN_PATH}/bin/mpiexec
-elif test "$run_mpi" = "impi-5.0"; then
- MPIEXEC=${IMPI_PATH}/intel64/bin/mpiexec.hydra
-fi
-export MPIEXEC
-
-cp -a /home/autotest/mpi/tests/mpich-tests ${TMP_WORKSPACE}/_tmp
-
-MPICH_TESTS_PATH=${TMP_WORKSPACE}/_tmp/mpich-tests/test/mpi
-export MPICH_TESTS_PATH
-
-cd ${MPICH_TESTS_PATH}
-./configure --disable-ft-tests --disable-dependency-tracking
-make -j16 --keep-going
-
-## Some tests require special compilation
-cd f77/ext
-make allocmemf
-cd ${MPICH_TESTS_PATH}
-
-cd f90/ext
-make allocmemf90
-cd ${MPICH_TESTS_PATH}
-
-cd f90/profile
-make profile1f90
-cd ${MPICH_TESTS_PATH}
-
-cd impls/mpich
-make
-cd ${MPICH_TESTS_PATH}
-
-# these tests will compile with old MPIs, but produce the wrong result at runtime
-if test "$run_mpi" = "impi-5.0" -o "$run_mpi" = "mpich-3.1" ; then
- sed -i "s+\(^gather_big .*\)+\1 xfail=ticket0+g" coll/testlist
- sed -i "s+\(^comm_idup_comm .*\)+\1 xfail=ticket0+g" comm/testlist
- sed -i "s+\(^comm_idup_comm2 .*\)+\1 xfail=ticket0+g" comm/testlist
- sed -i "s+\(^comm_idup_iallreduce .*\)+\1 xfail=ticket0+g" comm/testlist
- sed -i "s+\(^comm_idup_isend .*\)+\1 xfail=ticket0+g" comm/testlist
- sed -i "s+\(^comm_idup_mul .*\)+\1 xfail=ticket0+g" comm/testlist
- sed -i "s+\(^comm_idup_nb .*\)+\1 xfail=ticket0+g" comm/testlist
- sed -i "s+\(^comm_idup_overlap .*\)+\1 xfail=ticket0+g" comm/testlist
- sed -i "s+\(^dynamic_errcode_predefined_errclass .*\)+\1 xfail=ticket0+g" errhan/testlist
- sed -i "s+\(^errstring2 .*\)+\1 xfail=ticket0+g" errhan/testlist
- sed -i "s+\(^noalias2 .*\)+\1 xfail=ticket0+g" errors/coll/testlist
- sed -i "s+\(^noalias3 .*\)+\1 xfail=ticket0+g" errors/coll/testlist
- sed -i "s+\(^too_many_icomms .*\)+\1 xfail=ticket0+g" errors/comm/testlist
- sed -i "s+\(^too_many_icomms2 .*\)+\1 xfail=ticket0+g" errors/comm/testlist
- sed -i "s+\(^file_errhdl .*\)+\1 xfail=ticket0+g" errors/io/testlist
- sed -i "s+\(^cas_type_check .*\)+\1 xfail=ticket0+g" errors/rma/testlist
- sed -i "s+\(^win_sync_lock_fence .*\)+\1 xfail=ticket0+g" errors/rma/testlist
- sed -i "s+\(^unpub .*\)+\1 xfail=ticket0+g" errors/spawn/testlist
- sed -i "s+\(^bottom .*\)+\1 xfail=ticket0+g" f77/datatype/testlist
- sed -i "s+\(^bottom .*\)+\1 xfail=ticket0+g" f90/datatype/testlist
- sed -i "s+\(^createf90types .*\)+\1 xfail=ticket0+g" f90/f90types/testlist
- sed -i "s+\(^infoget .*\)+\1 xfail=ticket0+g" info/testlist
- sed -i "s+\(^bigtype .*\)+\1 xfail=ticket0+g" io/testlist
- sed -i "s+\(^hindexed_io .*\)+\1 xfail=ticket0+g" io/testlist
- sed -i "s+\(^resized2 .*\)+\1 xfail=ticket0+g" io/testlist
- sed -i "s+\(^acc-pairtype .*\)+\1 xfail=ticket0+g" rma/testlist
- sed -i "s+\(^accfence1 .*\)+\1 xfail=ticket0+g" rma/testlist
- sed -i "s+\(^accpscw1 .*\)+\1 xfail=ticket0+g" rma/testlist
- sed -i "s+\(^atomic_get .*\)+\1 xfail=ticket0+g" rma/testlist
- sed -i "s+\(^epochtest .*\)+\1 xfail=ticket0+g" rma/testlist
- sed -i "s+\(^large-acc-flush_local .*\)+\1 xfail=ticket0+g" rma/testlist
- sed -i "s+\(^lock_contention_dt .*\)+\1 xfail=ticket0+g" rma/testlist
- sed -i "s+\(^lock_dt .*\)+\1 xfail=ticket0+g" rma/testlist
- sed -i "s+\(^lock_dt_flush .*\)+\1 xfail=ticket0+g" rma/testlist
- sed -i "s+\(^lock_dt_flushlocal .*\)+\1 xfail=ticket0+g" rma/testlist
- sed -i "s+\(^lockall_dt .*\)+\1 xfail=ticket0+g" rma/testlist
- sed -i "s+\(^lockall_dt_flush .*\)+\1 xfail=ticket0+g" rma/testlist
- sed -i "s+\(^lockall_dt_flushall .*\)+\1 xfail=ticket0+g" rma/testlist
- sed -i "s+\(^lockall_dt_flushlocal .*\)+\1 xfail=ticket0+g" rma/testlist
- sed -i "s+\(^lockall_dt_flushlocalall .*\)+\1 xfail=ticket0+g" rma/testlist
- sed -i "s+\(^putfence1 .*\)+\1 xfail=ticket0+g" rma/testlist
- sed -i "s+\(^putpscw1 .*\)+\1 xfail=ticket0+g" rma/testlist
- sed -i "s+\(^win_info .*\)+\1 xfail=ticket0+g" rma/testlist
- sed -i "s+\(^win_shared_cas_flush_load .*\)+\1 xfail=ticket0+g" rma/testlist
- sed -i "s+\(^win_shared_gacc_flush_load .*\)+\1 xfail=ticket0+g" rma/testlist
- sed -i "s+\(^win_shared_zerobyte .*\)+\1 xfail=ticket0+g" rma/testlist
-
- # regression tests added after mpich-3.1
- sed -i "s+\(^manyrma2_shm .*\)+\1 xfail=ticket0+g" rma/testlist
- sed -i "s+\(^nullpscw_shm .*\)+\1 xfail=ticket0+g" rma/testlist
- sed -i "s+\(^pscw_ordering_shm .*\)+\1 xfail=ticket0+g" rma/testlist
- sed -i "s+\(^test2_am_shm .*\)+\1 xfail=ticket0+g" rma/testlist
- sed -i "s+\(^test3_am_shm .*\)+\1 xfail=ticket0+g" rma/testlist
- sed -i "s+\(^test2_shm .*\)+\1 xfail=ticket0+g" rma/testlist
- sed -i "s+\(^test3_shm .*\)+\1 xfail=ticket0+g" rma/testlist
- sed -i "s+\(^transpose3_shm .*\)+\1 xfail=ticket0+g" rma/testlist
- sed -i "s+\(^wintest_shm .*\)+\1 xfail=ticket0+g" rma/testlist
-fi
-
-# MPI-3.1 version
-sed -i "s+\(^version .*\)+\1 xfail=ticket0+g" init/testlist
-sed -i "s+\(^baseenvf .*\)+\1 xfail=ticket0+g" f77/init/testlist
-sed -i "s+\(^baseenv .*\)+\1 xfail=ticket0+g" cxx/init/testlist
-sed -i "s+\(^baseenvf90 .*\)+\1 xfail=ticket0+g" f90/init/testlist
-
-## Remove the MPI library that is not being used for running
-if test "$build_mpi" = "mpich-master" -a "$run_mpi" = "mpich-master" ; then
- rm -rf ${IMPI_PATH}
-
- LD_LIBRARY_PATH=${MPICH_RUN_PATH}/lib:$LD_LIBRARY_PATH
- export LD_LIBRARY_PATH
-
-elif test "$build_mpi" = "mpich-master" -a "$run_mpi" = "mpich-3.1" ; then
- rm -rf ${MPICH_BUILD_PATH}
- rm -rf ${IMPI_PATH}
-
- cd ${MPICH_RUN_PATH}/lib
-
- ln -s libmpich.so.12.0.0 libmpi.so.0
- ln -s libmpichcxx.so.12.0.0 libmpicxx.so.0
- ln -s libmpichf90.so.12.0.0 libmpifort.so.0
-
- LD_LIBRARY_PATH=${MPICH_RUN_PATH}/lib:$LD_LIBRARY_PATH
- export LD_LIBRARY_PATH
-
- LD_PRELOAD=${MPICH_RUN_PATH}/lib/libmpich.so.12:${MPICH_RUN_PATH}/lib/libmpichf90.so.12
- export LD_PRELOAD
-
-elif test "$build_mpi" = "mpich-master" -a "$run_mpi" = "impi-5.0"; then
- rm -rf ${MPICH_BUILD_PATH}
-
- cd ${IMPI_PATH}/intel64/lib
-
- if test "$run_conf" = "debug" ; then
- ln -s debug/libmpi.so.12.0 libmpi.so.0
- else
- ln -s release/libmpi.so.12.0 libmpi.so.0
- fi
- ln -s libmpicxx.so.12.0 libmpicxx.so.0
- ln -s libmpifort.so.12.0 libmpifort.so.0
-
- LD_LIBRARY_PATH=${IMPI_PATH}/intel64/lib:$LD_LIBRARY_PATH
- export LD_LIBRARY_PATH
-
- LD_PRELOAD=${IMPI_PATH}/intel64/lib/libmpi.so.12:${IMPI_PATH}/intel64/lib/libmpifort.so.12
- export LD_PRELOAD
-
-elif test "$build_mpi" = "impi-5.0" -a "$run_mpi" = "mpich-master" ; then
- rm -rf ${IMPI_PATH}
-
- cd ${MPICH_RUN_PATH}/lib
-
- ln -s libmpi.so.0.0.0 libmpi.so.12
- mkdir release
- ln -s libmpi.so.0.0.0 release/libmpi.so.12
- mkdir debug
- ln -s libmpi.so.0.0.0 debug/libmpi.so.12
- ln -s libmpicxx.so.0.0.0 libmpicxx.so.12
- ln -s libmpifort.so.0.0.0 libmpifort.so.12
-
- LD_LIBRARY_PATH=${MPICH_RUN_PATH}/lib:$LD_LIBRARY_PATH
- export LD_LIBRARY_PATH
-
-elif test "$build_mpi" = "impi-5.0" -a "$run_mpi" = "mpich-3.1" ; then
- rm -rf ${IMPI_PATH}
-
- cd ${MPICH_RUN_PATH}/lib
-
- ln -s libmpich.so.12.0.0 libmpi.so.12
- ln -s libmpichcxx.so.12.0.0 libmpicxx.so.12
- ln -s libmpichf90.so.12.0.0 libmpifort.so.12
-
- LD_LIBRARY_PATH=${MPICH_RUN_PATH}/lib:$LD_LIBRARY_PATH
- export LD_LIBRARY_PATH
-
-elif test "$build_mpi" = "impi-5.0" -a "$run_mpi" = "impi-5.0" ; then
- LD_LIBRARY_PATH=${IMPI_PATH}/intel64/lib:$LD_LIBRARY_PATH
- export LD_LIBRARY_PATH
-
-elif test "$build_mpi" = "mpich-3.1" -a "$run_mpi" = "mpich-master" ; then
- rm -rf ${IMPI_PATH}
- rm -rf ${MPICH_BUILD_PATH}
-
- cd ${MPICH_RUN_PATH}/lib
-
- ln -s libmpi.so.0.0.0 libmpich.so.12
- ln -s libmpicxx.so.0.0.0 libmpichcxx.so.12
- ln -s libmpifort.so.0.0.0 libmpichf90.so.12
- ln -s libmpi.so.0.0.0 libmpl.so.1
- ln -s libmpi.so.0.0.0 libopa.so.1
-
- LD_LIBRARY_PATH=${MPICH_RUN_PATH}/lib:$LD_LIBRARY_PATH
- export LD_LIBRARY_PATH
-
- LD_PRELOAD=${MPICH_RUN_PATH}/lib/libmpich.so.12:${MPICH_RUN_PATH}/lib/libmpichf90.so.12
- export LD_PRELOAD
-
-elif test "$build_mpi" = "mpich-3.1" -a "$run_mpi" = "mpich-3.1" ; then
- rm -rf ${IMPI_PATH}
-
- LD_LIBRARY_PATH=${MPICH_RUN_PATH}/lib:$LD_LIBRARY_PATH
- export LD_LIBRARY_PATH
-
-elif test "$build_mpi" = "mpich-3.1" -a "$run_mpi" = "impi-5.0" ; then
- rm -rf ${MPICH_BUILD_PATH}
-
- cd ${IMPI_PATH}/intel64/lib
-
- if test "$run_conf" = "debug" ; then
- ln -s debug/libmpi.so.12.0 libmpich.so.12
- else
- ln -s release/libmpi.so.12.0 libmpich.so.12
- fi
- ln -s libmpicxx.so.12.0 libmpichcxx.so.12
- ln -s libmpifort.so.12.0 libmpichf90.so.12
- ln -s libmpich.so.12 libmpl.so.1
- ln -s libmpich.so.12 libopa.so.1
-
- LD_LIBRARY_PATH=${IMPI_PATH}/intel64/lib:$LD_LIBRARY_PATH
- export LD_LIBRARY_PATH
-
- LD_PRELOAD=${IMPI_PATH}/intel64/lib/libmpich.so.12:${IMPI_PATH}/intel64/lib/libmpichf90.so.12
- export LD_PRELOAD
-
-else
- echo "Unknown combination"
- exit 1
-fi
-
-## Run tests for MPI version 3.0
-cd ${MPICH_TESTS_PATH}
-./runtests -mpiversion=3.0 -srcdir=. -tests=testlist -junitfile=summary.junit.xml -tapfile=summary.tap -xmlfile=summary.xml
-
-mv summary.junit.xml ${WORKSPACE}
-mv summary.tap ${WORKSPACE}
-mv summary.xml ${WORKSPACE}
-cd ${WORKSPACE}
-rm -rf ${TMP_WORKSPACE}
-exit 0
-
diff --git a/maint/jenkins/test-worker-armci.sh b/maint/jenkins/test-worker-armci.sh
deleted file mode 100755
index 0dcd795..0000000
--- a/maint/jenkins/test-worker-armci.sh
+++ /dev/null
@@ -1,92 +0,0 @@
-#!/bin/zsh -xe
-#
-# (C) 2015 by Argonne National Laboratory.
-# See COPYRIGHT in top-level directory.
-#
-
-hostname
-
-WORKSPACE=""
-GIT_BRANCH=""
-BUILD_MODE="per-commit"
-
-#####################################################################
-## Initialization
-#####################################################################
-
-while getopts ":h:b:" opt; do
- case "$opt" in
- h)
- WORKSPACE=$OPTARG ;;
- b)
- GIT_BRANCH=$OPTARG ;;
- \?)
- echo "Invalid option: -$OPTARG" >&2
- exit 1
- esac
-done
-
-cd $WORKSPACE
-
-TMP_WORKSPACE=$(mktemp -d /sandbox/jenkins.tmp.XXXXXXXX)
-SRC=$WORKSPACE
-TMP_SRC=$TMP_WORKSPACE
-
-if test "$GIT_BRANCH" = "" ; then
- BUILD_MODE="nightly"
-fi
-
-# Preparing the source
-case "$BUILD_MODE" in
- "nightly")
- tar zxvf mpich-master.tar.gz
- SRC=$WORKSPACE/mpich-master
- TMP_SRC=$TMP_WORKSPACE/mpich-master
- cp -a $WORKSPACE/mpich-master $TMP_WORKSPACE/
- ;;
- "per-commit")
- cp -a $WORKSPACE/* $TMP_WORKSPACE/
- ;;
- *)
- echo "Invalid BUILD_MODE $BUILD_MODE. Set by mistake?"
- exit 1
-esac
-
-PATH=$HOME/software/autotools/bin:$PATH
-export PATH
-
-#####################################################################
-## Main() { Setup Environment and Build
-#####################################################################
-
-pushd "$TMP_SRC"
-
-if test "$BUILD_MODE" = "per-commit" ; then
- ./autogen.sh 2>&1 | tee autogen.log
-fi
-
-./configure --prefix="$TMP_SRC/_inst" CC=gcc CXX=g++ FC=gfortran 2>&1 | tee c.txt
-make -j16 install 2>&1 | tee mi.txt
-
-#####################################################################
-## Run tests
-#####################################################################
-
-rm -rf ./armci-mpi
-git clone -b mpi3rma git://git.mpich.org/armci-mpi
-
-export PATH=$TMP_SRC/_inst/bin:$PATH
-
-pushd $TMP_SRC/armci-mpi
-
-./autogen.sh
-./configure
-make -j8
-make check
-
-popd
-popd
-
-rm -rf $TMP_WORKSPACE
-exit 0
-
diff --git a/maint/jenkins/test-worker-tarball.sh b/maint/jenkins/test-worker-tarball.sh
deleted file mode 100755
index b07093d..0000000
--- a/maint/jenkins/test-worker-tarball.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/zsh -xe
-#
-# (C) 2015 by Argonne National Laboratory.
-# See COPYRIGHT in top-level directory.
-#
-
-hostname
-
-export PATH=$HOME/software/autotools/bin:$HOME/software/sowing/bin:$PATH
-export DOCTEXT_PATH=$HOME/software/sowing/share/doctext
-export CC=gcc
-export CXX=g++
-export FC=gfortran
-
-cd $WORKSPACE
-
-git clean -x -d -f
-
-TMP_WORKSPACE=$(mktemp -d /sandbox/jenkins.tmp.XXXXXXXX)
-
-if test ! -d $WORKSPACE/build ; then
- mkdir -p $WORKSPACE/build
-fi
-
-cp -a $WORKSPACE/* $TMP_WORKSPACE/
-pushd $TMP_WORKSPACE
-pushd build
-
-../maint/release.pl --branch=master --version=master --git-repo=git://git.mpich.org/mpich.git
-
-popd
-
-cp -a $TMP_WORKSPACE/build/mpich-master.tar.gz $WORKSPACE/build
-
-popd
-
-rm -rf $TMP_WORKSPACE
-
-exit 0
diff --git a/maint/jenkins/test-worker.sh b/maint/jenkins/test-worker.sh
deleted file mode 100755
index f0b6ccb..0000000
--- a/maint/jenkins/test-worker.sh
+++ /dev/null
@@ -1,544 +0,0 @@
-#!/bin/zsh -xe
-#
-# (C) 2015 by Argonne National Laboratory.
-# See COPYRIGHT in top-level directory.
-#
-
-hostname
-
-WORKSPACE=""
-compiler="gnu"
-jenkins_configure="default"
-queue="ib64"
-netmod="default"
-ofi_prov="sockets"
-N_MAKE_JOBS=8
-GIT_BRANCH=""
-BUILD_MODE="per-commit"
-
-#####################################################################
-## Initialization
-#####################################################################
-
-while getopts ":h:c:o:q:m:n:b:" opt; do
- case "$opt" in
- h)
- WORKSPACE=$OPTARG ;;
- c)
- compiler=$OPTARG ;;
- o)
- jenkins_configure=$OPTARG ;;
- q)
- queue=$OPTARG ;;
- m)
- _netmod=${OPTARG%%,*}
- if [[ "$_netmod" == "ofi" ]]; then
- netmod=$_netmod
- ofi_prov=${OPTARG/$_netmod,}
- else
- netmod=$_netmod
- fi
- ;;
- n)
- N_MAKE_JOBS=$OPTARG ;;
- b)
- GIT_BRANCH=$OPTARG ;;
- \?)
- echo "Invalid option: -$OPTARG" >&2
- exit 1
- esac
-done
-
-cd $WORKSPACE
-
-if test "$GIT_BRANCH" = "" ; then
- BUILD_MODE="nightly"
-fi
-
-case "$BUILD_MODE" in
- "nightly")
- if [[ -x mpich-master/maint/jenkins/skip_test.sh ]]; then
- ./mpich-master/maint/jenkins/skip_test.sh -j $JOB_NAME -c $compiler -o $jenkins_configure -q $queue -m $_netmod \
- -s mpich-master/test/mpi/summary.junit.xml
- if [[ -f mpich-master/test/mpi/summary.junit.xml ]]; then
- exit 0
- fi
- fi
- ;;
- "per-commit")
- if [[ -x maint/jenkins/skip_test.sh ]]; then
- ./maint/jenkins/skip_test.sh -j $JOB_NAME -c $compiler -o $jenkins_configure -q $queue -m $_netmod \
- -s test/mpi/summary.junit.xml
- if [[ -f test/mpi/summary.junit.xml ]]; then
- exit 0
- fi
- fi
- ;;
-esac
-
-
-TMP_WORKSPACE=$(mktemp -d /sandbox/jenkins.tmp.XXXXXXXX)
-SRC=$WORKSPACE
-TMP_SRC=$TMP_WORKSPACE
-
-# Preparing the source
-case "$BUILD_MODE" in
- "nightly")
- SRC=$WORKSPACE/mpich-master
- TMP_SRC=$TMP_WORKSPACE/mpich-master
- cp $WORKSPACE/mpich-master.tar.gz $TMP_WORKSPACE/
- pushd "$TMP_WORKSPACE"
- tar zxvf mpich-master.tar.gz
- popd
- ;;
- "per-commit")
- git clean -x -d -f
- cp -a $WORKSPACE/* $TMP_WORKSPACE/
- ;;
- *)
- echo "Invalid BUILD_MODE $BUILD_MODE. Set by mistake?"
- exit 1
-esac
-
-
-#####################################################################
-## Functions
-#####################################################################
-
-CollectResults() {
- # TODO: copy saved test binaries (for failed cases)
- if [[ "$BUILD_MODE" != "per-commit" ]]; then
- find . \
- \( -name "filtered-make.txt" \
- -o -name "apply-xfail.sh" \
- -o -name "autogen.log" \
- -o -name "config.log" \
- -o -name "c.txt" \
- -o -name "m.txt" \
- -o -name "mi.txt" \
- -o -name "summary.junit.xml" \) \
- | while read -r line; do
- mkdir -p "$SRC/$(dirname $line)"
- done
- fi
-
- find . \
- \( -name "filtered-make.txt" -o \
- -name "apply-xfail.sh" -o \
- -name "autogen.log" -o \
- -name "config.log" -o \
- -name "c.txt" -o \
- -name "m.txt" -o \
- -name "mi.txt" -o \
- -name "summary.junit.xml" \) \
- -exec cp {} $SRC/{} \;
-}
-
-#####################################################################
-## Logic to generate random configure options
-#####################################################################
-RandArgs() {
- # Chosen *without* replacement. If an option is chosen twice,
- # then there will be fewer options
- n_choice=$1
- array=(${(P)${2}})
- optname=$3
- negoptname=$4
- chosen=()
- args=""
- ret_args=""
- array_len=$#array
- idx=0
-
- for i in `seq $array_len`; do
- chosen[$i]=0
- done
-
- for i in `seq $n_choice`; do
- let idx=$[RANDOM % $array_len]+1
- if [ $chosen[$idx] -eq 1 ]; then continue; fi
- chosen[$idx]=1
- args=("${(s/;/)array[$idx]}")
- name=$args[1]
- if [ $#args -eq 1 ]; then
- # Only the name is provided. Choose one of three
- # choices:
- # No option (skip this one)
- # just --$optname-$name
- # just --$negoptname-$name
- let idx=$[RANDOM % 3]+1
- if [ $idx -eq 1 ]; then
- ret_args="$ret_args --$optname-$name"
- elif [ $idx -eq 2 ]; then
- ret_args="$ret_args --$negoptname-$name"
- fi
- else
- let idx=$[RANDOM % ($#args-1)]+2
- # Special cases
- if [ "$args[$idx]" = "ch3:sock" ]; then
- ret_args="$ret_args --disable-ft-tests --disable-comm-overlap-tests"
- elif [ "$args[$idx]" = "gforker" ]; then
- if [ $chosen[4] -eq 1 ]; then
- continue
- else
- ret_args="$ret_args --with-namepublisher=file"
- chosen[4]=1
- fi
- elif [ "$name" = "namepublisher" -a "$args[$idx]" = "no" ]; then
- if [ $chosen[3] -eq 1 ]; then
- continue
- fi
- elif [ "$args[$idx]" = "ndebug" -a "$CC" = "suncc" -a "$label" = "ubuntu32" ]; then
- # On ubuntu32, suncc has a bug whose workaround is to add -O flag (ticket #2105)
- CFLAGS="-O1"
- export CFLAGS
- fi
- ret_args="$ret_args --$optname-$name=$args[$idx]"
- fi
- done
- echo $ret_args
-}
-
-RandConfig() {
- # WARNING: If moving anything in the two following arrays, check the indices in "Special cases" above
- enable_array=(
- 'error-checking;no;runtime;all'
- 'error-messages;all;generic;class;none'
- 'timer-type;linux86_cycle;clock_gettime;gettimeofday'
- 'timing;none;all;runtime;log;log_detailed'
- 'g;none;all;handle;dbg;log;meminit;handlealloc;instr;mem;mutex;mutexnesting'
- 'fast;O0;O1;O2;O3;ndebug;all;yes;none'
- 'fortran'
- 'cxx'
- 'romio'
- 'check-compiler-flags'
- 'strict;c99;posix'
- 'debuginfo'
- 'weak-symbols;no;yes'
- 'threads;single;multiple;runtime'
- 'thread-cs;global'
- 'refcount;lock-free;none'
- 'mutex-timing'
- 'handle-allocation;tls;mutex'
- 'multi-aliases'
- 'predefined-refcount'
- 'alloca'
- 'yield;sched_yield;select'
- 'runtimevalues'
- )
- with_array=(
- 'logging;none'
- 'pmi;simple'
- 'pm;gforker'
- 'namepublisher;no;file'
- 'device;ch3;ch3:sock'
- )
- let n_enable=$#enable_array+1
- let n_with=$#with_array+1
- enable_args=$(RandArgs $n_enable "enable_array" "enable" "disable")
- with_args=$(RandArgs $n_with "with_array" "with" "without")
- echo "$enable_args $with_args"
-}
-
-PrepareEnv() {
- case "$queue" in
- "ubuntu32" | "ubuntu64" )
- source /software/common/adm/etc/softenv-aliases.sh
- source /software/common/adm/etc/softenv-load.sh
- soft add +intel
- soft add +pgi
- soft add +absoft
- soft add +nagfor
- soft add +solarisstudio-12.4
- soft add +ekopath
- ;;
- "freebsd64" | "freebsd32")
- PATH=/usr/local/bin:$PATH
- LD_LIBRARY_PATH=/usr/local/lib/gcc46:$LD_LIBRARY_PATH
- export LD_LIBRARY_PATH
- ;;
- "solaris")
- PATH=/usr/gcc/4.3/bin:/usr/gnu/bin:/usr/sbin:$PATH
- CONFIG_SHELL=/usr/gnu/bin/sh
- export CONFIG_SHELL
- ;;
- esac
- PATH=$HOME/software/autotools/bin:$PATH
- export PATH
- echo "$PATH"
-}
-
-SetCompiler() {
- case "$compiler" in
- "gnu")
- CC=gcc
- CXX=g++
- F77=gfortran
- FC=gfortran
- ;;
- "clang")
- CC=clang
- CXX=clang++
- F77=gfortran
- FC=gfortran
- ;;
- "intel")
- CC=icc
- CXX=icpc
- F77=ifort
- FC=ifort
- ;;
- "pgi")
- CC=pgcc
- CXX=pgcpp
- F77=pgf77
- FC=pgfortran
- ;;
- "absoft")
- CC=gcc
- CXX=g++
- F77=af77
- FC=af90
- ;;
- "nag")
- CC=gcc
- CXX=g++
- F77=nagfor
- FC=nagfor
- FFLAGS="-mismatch"
- FCFLAGS="-mismatch"
- export FFLAGS
- export FCFLAGS
- ;;
- "solstudio")
- CC=suncc
- CXX=sunCC
- F77=sunf77
- FC=sunf90
- ;;
- "sunstudio")
- CC=cc
- CXX=CC
- F77=f77
- FC=f90
- ;;
- "pathscale")
- CC=pathcc
- CXX=pathCC
- F77=pathf95
- FC=pathf95
- ;;
- *)
- echo "Unknown compiler suite"
- exit 1
- esac
-
- export CC
- export CXX
- export F77
- export FC
-
- which $CC
- which $CXX
- which $F77
- which $FC
-}
-
-SetNetmod() {
- netmod_opt="__NULL__"
- case "$netmod" in
- "default") # for solaris, may use with sock
- netmod_opt=
- ;;
- "mxm")
- netmod_opt="--with-device=ch3:nemesis:mxm --with-mxm=$HOME/software/mellanox/mxm --disable-spawn --disable-ft-tests"
- ;;
- "ofi")
- netmod_opt="--with-device=ch3:nemesis:ofi --with-ofi=$HOME/software/libfabric/$ofi_prov --disable-spawn --disable-ft-tests LD_LIBRARY_PATH=$HOME/software/libfabric/lib"
- ;;
- "portals4")
- netmod_opt="--with-device=ch3:nemesis:portals4 --with-portals4=$HOME/software/portals4 --disable-spawn --disable-ft-tests"
- ;;
- "sock")
- netmod_opt="--with-device=ch3:sock --disable-ft-tests --disable-comm-overlap-tests"
- ;;
- "tcp")
- netmod_opt=
- ;;
- *)
- echo "Unknown netmod type"
- exit 1
- esac
- export netmod_opt
- echo "$netmod_opt"
-}
-
-SetConfigOpt() {
- config_opt="__TO_BE_FILLED__"
- case "$jenkins_configure" in
- "default")
- config_opt=
- ;;
- "strict")
- config_opt="--enable-strict"
- ;;
- "fast")
- config_opt="--enable-fast=all"
- ;;
- "nofast")
- config_opt="--disable-fast"
- ;;
- "noshared")
- config_opt="--disable-shared"
- ;;
- "debug")
- config_opt="--enable-g=all"
- ;;
- "noweak")
- config_opt="--disable-weak-symbols"
- ;;
- "strictnoweak")
- config_opt="--enable-strict --disable-weak-symbols"
- ;;
- "nofortran")
- config_opt="--disable-fortran"
- ;;
- "nocxx")
- config_opt="--disable-cxx"
- ;;
- "multithread")
- config_opt="--enable-threads=multiple"
- ;;
- "debuginfo")
- config_opt="--enable-debuginfo"
- ;;
- "noerrorchecking")
- config_opt="--disable-error-checking"
- ;;
- "sock") # for solaris + sock
- config_opt="--with-device=ch3:sock --disable-ft-tests --disable-comm-overlap-tests"
- ;;
- "mpd")
- config_opt="--with-pm=mpd --with-namepublisher=file"
- ;;
- "gforker")
- config_opt="--with-pm=gforker --with-namepublisher=file"
- ;;
- "shmem")
- config_opt=
- ;;
- "async")
- config_opt=
- ;;
- "random")
- config_opt=$(RandArgs)
- ;;
- *)
- echo "Bad configure option: $jenkins_configure"
- exit 1
- esac
-
- if test "$jenkins_configure" != "shmem" ; then
- config_opt="$config_opt --enable-nemesis-dbg-localoddeven"
- fi
-
- if test "$queue" = "osx" -a "$FC" = "ifort"; then
- config_opt="$config_opt lv_cv_ld_force_load=no"
- fi
-
- export config_opt
- echo "$config_opt"
-}
-
-#####################################################################
-## Main() { Setup Environment and Build
-#####################################################################
-# determine if this is a nightly job or a per-commit job
-PrepareEnv
-
-SetCompiler "$compiler"
-
-pushd "$TMP_SRC"
-
-if test "$BUILD_MODE" = "per-commit" ; then
- ./autogen.sh 2>&1 | tee autogen.log
-fi
-
-if [[ -x maint/jenkins/set-xfail.sh ]]; then
- ./maint/jenkins/set-xfail.sh -j $JOB_NAME -c $compiler -o $jenkins_configure -q $queue -m $_netmod
-fi
-
-./configure --prefix="$TMP_SRC/_inst" $(SetNetmod $netmod) $(SetConfigOpt $jenkins_configure) \
- --disable-perftest \
- 2>&1 | tee c.txt
-make -j$N_MAKE_JOBS 2>&1 | tee m.txt
-if test "${pipestatus[-2]}" != "0"; then
- CollectResults
- exit 1
-fi
-make -j$N_MAKE_JOBS install 2>&1 | tee mi.txt
-if test "${pipestatus[-2]}" != "0"; then
- CollectResults
- exit 1
-fi
-cat m.txt mi.txt | ./maint/clmake > filtered-make.txt 2>&1
-
-#####################################################################
-## Run tests
-#####################################################################
-
-# Preparation
-case "$jenkins_configure" in
- "mpd")
- $TMP_SRC/_inst/bin/mpd &
- sleep 1
- ;;
- "async")
- MPIR_CVAR_ASYNC_PROGRESS=1
- export MPIR_CVAR_ASYNC_PROGRESS
- ;;
- "multithread")
- MPIR_CVAR_DEFAULT_THREAD_LEVEL=MPI_THREAD_MULTIPLE
- export MPIR_CVAR_DEFAULT_THREAD_LEVEL
- ;;
-esac
-
-case "$netmod" in
- "mxm")
- MXM_LOG_LEVEL=error
- export MXM_LOG_LEVEL
- ;;
- "ofi" | "portals4")
- MXM_LOG_LEVEL=error
- export MXM_LOG_LEVEL
- ;;
-esac
-
-# run only the minimum level of datatype tests when it is per-commit job
-if [[ "$BUILD_MODE" = "per-commit" ]]; then
- MPITEST_DATATYPE_TEST_LEVEL=min
- export MPITEST_DATATYPE_TEST_LEVEL
-fi
-
-make testing
-
-# Cleanup
-case "$jenkins_configure" in
- "mpd")
- $TMP_SRC/_inst/bin/mpdallexit
- ;;
- "async")
- unset MPIR_CVAR_ASYNC_PROGRESS
- ;;
-esac
-
-#####################################################################
-## Copy Test results and Cleanup
-#####################################################################
-
-CollectResults
-
-popd
-rm -rf $TMP_WORKSPACE
-exit 0
-
diff --git a/maint/jenkins/xfail.conf b/maint/jenkins/xfail.conf
deleted file mode 100644
index 934685b..0000000
--- a/maint/jenkins/xfail.conf
+++ /dev/null
@@ -1,26 +0,0 @@
-# Contitional XFAIL settings
-#
-# Syntax (similar to a cron file):
-# [jobname] [compiler] [jenkins_configure] [netmod] [queue] [sed of XFAIL]
-# Note that the [jobname] allows partial matches (see examples). Other
-# conditions only allows exact matches.
-# The actual allowed combinations are depending on the Jenkins job. For
-# example,
-# mxm * * tcp * sed -i "..."
-# will have no effect since none of the mxm jobs has tcp netmod in the
-# configuration.
-#
-# Examples:
-# mxm gnu debug * * sed -i "..."
-# This will apply the set the XFAIL when the job is "mpich-master-mxm" or
-# "mpich-review-mxm", the compiler is "gnu", and the jenkins_configure is
-# "debug".
-#
-# master-ubuntu * * * ubuntu32 sed -i "..."
-# This will apply the set the XFAIL when the job is "mpich-master-ubuntu" and
-# the running queue is "ubuntu32".
-#
-# For each build, all applied XFAILS will be summaried in
-# ${SOURCE}/apply-xfail.sh
-#
-* * * portals4 * sed -i "s+\(^alltoall .*\)+\1 xfail=ticket0+g" test/mpi/threads/pt2pt/testlist
-----------------------------------------------------------------------
Summary of changes:
maint/jenkins/multinode/mn-build.sh | 510 -----------------------------
maint/jenkins/multinode/mn-run.sh | 244 --------------
maint/jenkins/multinode/timeout.conf | 23 --
maint/jenkins/set-timeout.sh | 106 ------
maint/jenkins/set-xfail.sh | 106 ------
maint/jenkins/skip_test.conf | 22 --
maint/jenkins/skip_test.sh | 116 -------
maint/jenkins/test-worker-abi-prolog.sh | 259 ---------------
maint/jenkins/test-worker-abi.sh | 369 ---------------------
maint/jenkins/test-worker-armci.sh | 92 ------
maint/jenkins/test-worker-tarball.sh | 39 ---
maint/jenkins/test-worker.sh | 544 -------------------------------
maint/jenkins/xfail.conf | 26 --
13 files changed, 0 insertions(+), 2456 deletions(-)
delete mode 100755 maint/jenkins/multinode/mn-build.sh
delete mode 100755 maint/jenkins/multinode/mn-run.sh
delete mode 100644 maint/jenkins/multinode/timeout.conf
delete mode 100755 maint/jenkins/set-timeout.sh
delete mode 100755 maint/jenkins/set-xfail.sh
delete mode 100644 maint/jenkins/skip_test.conf
delete mode 100755 maint/jenkins/skip_test.sh
delete mode 100755 maint/jenkins/test-worker-abi-prolog.sh
delete mode 100755 maint/jenkins/test-worker-abi.sh
delete mode 100755 maint/jenkins/test-worker-armci.sh
delete mode 100755 maint/jenkins/test-worker-tarball.sh
delete mode 100755 maint/jenkins/test-worker.sh
delete mode 100644 maint/jenkins/xfail.conf
hooks/post-receive
--
MPICH primary repository
1
0
[mpich] MPICH primary repository branch, master, updated. v3.2rc1-19-g99d8c77
by noreply@mpich.org 28 Oct '15
by noreply@mpich.org 28 Oct '15
28 Oct '15
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "MPICH primary repository".
The branch, master has been updated
via 99d8c7717a16a9f8998f865046aafc7ac44dd4f0 (commit)
from dc1447982acf76dc3b80c1bd98b7ea2d034944a8 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/99d8c7717a16a9f8998f865046aafc7ac…
commit 99d8c7717a16a9f8998f865046aafc7ac44dd4f0
Author: Jeff Squyres <jsquyres(a)cisco.com>
Date: Wed Oct 14 18:58:45 2015 -0700
MPI_Aint_* tests: use MPI_INTEGER datatype in Fortran
MPI_INT corresponds to type(C_INT); MPI_INTEGER corresponds to INTEGER.
Signed-off-by: Ken Raffenetti <raffenet(a)mcs.anl.gov>
diff --git a/test/mpi/f08/rma/aintf08.f90 b/test/mpi/f08/rma/aintf08.f90
index cef75eb..b4dce12 100644
--- a/test/mpi/f08/rma/aintf08.f90
+++ b/test/mpi/f08/rma/aintf08.f90
@@ -42,7 +42,7 @@ program main
endif
! Exchange bases
- call MPI_Type_size(MPI_INT, intsize, ierr);
+ call MPI_Type_size(MPI_INTEGER, intsize, ierr);
call MPI_Allgather(MPI_IN_PLACE, 0, MPI_DATATYPE_NULL, bases, 1, MPI_AINT, MPI_COMM_WORLD, ierr)
call MPI_Win_create_dynamic(MPI_INFO_NULL, MPI_COMM_WORLD, win, ierr)
@@ -60,7 +60,7 @@ program main
! Get value and verify it
call MPI_Win_fence(MPI_MODE_NOPRECEDE, win, ierr)
- call MPI_Get(val, 1, MPI_INT, target_rank, offset, 1, MPI_INT, win, ierr)
+ call MPI_Get(val, 1, MPI_INTEGER, target_rank, offset, 1, MPI_INTEGER, win, ierr)
call MPI_Win_fence(MPI_MODE_NOSUCCEED, win, ierr)
if (val /= 1234) then
diff --git a/test/mpi/f77/rma/aintf.f b/test/mpi/f77/rma/aintf.f
index 87464ba..9df429b 100644
--- a/test/mpi/f77/rma/aintf.f
+++ b/test/mpi/f77/rma/aintf.f
@@ -46,7 +46,7 @@
endif
! Exchange bases
- call MPI_Type_size(MPI_INT, intsize, ierr);
+ call MPI_Type_size(MPI_INTEGER, intsize, ierr);
call MPI_Allgather(MPI_IN_PLACE, 0, MPI_DATATYPE_NULL, bases,
& 1, MPI_AINT, MPI_COMM_WORLD, ierr)
@@ -68,8 +68,8 @@
! Get value and verify it
call MPI_Win_fence(MPI_MODE_NOPRECEDE, win, ierr)
- call MPI_Get(val, 1, MPI_INT, target_rank,
- & offset, 1, MPI_INT, win, ierr)
+ call MPI_Get(val, 1, MPI_INTEGER, target_rank,
+ & offset, 1, MPI_INTEGER, win, ierr)
call MPI_Win_fence(MPI_MODE_NOSUCCEED, win, ierr)
if (val /= 1234) then
-----------------------------------------------------------------------
Summary of changes:
test/mpi/f08/rma/aintf08.f90 | 4 ++--
test/mpi/f77/rma/aintf.f | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
hooks/post-receive
--
MPICH primary repository
1
0
[mpich] MPICH primary repository branch, master, updated. v3.2rc1-18-gdc14479
by noreply@mpich.org 28 Oct '15
by noreply@mpich.org 28 Oct '15
28 Oct '15
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "MPICH primary repository".
The branch, master has been updated
via dc1447982acf76dc3b80c1bd98b7ea2d034944a8 (commit)
from 592724539fc60539d75e168410afa289a72fe3d7 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/dc1447982acf76dc3b80c1bd98b7ea2d0…
commit dc1447982acf76dc3b80c1bd98b7ea2d034944a8
Author: Hajime Fujita <hajime.fujita(a)intel.com>
Date: Tue Oct 27 14:28:25 2015 -0500
Correct Compare_and_swap usage in test cases
Usage of MPI_Compare_and_swap is wrong in the following tests, thus
causing failures.
* test/mpi/rma/win_shared_cas_flush_load 3
* test/mpi/rma/cas_flush_get 3
The variable `i` passed to MPI_Compare_and_swap is declared on stack,
however it should be alive until MPI_Win_flush is called.
Signed-off-by: Charles J Archer <charles.j.archer(a)intel.com>
Signed-off-by: Ken Raffenetti <raffenet(a)mcs.anl.gov>
diff --git a/test/mpi/rma/win_shared_rma_flush_load.c b/test/mpi/rma/win_shared_rma_flush_load.c
index 9edf270..1386fcd 100644
--- a/test/mpi/rma/win_shared_rma_flush_load.c
+++ b/test/mpi/rma/win_shared_rma_flush_load.c
@@ -13,6 +13,9 @@
#define ITER 10000
#define BUF_CNT 1
int local_buf[BUF_CNT], result_addr[BUF_CNT];
+#ifdef TEST_CAS
+int compare_buf[BUF_CNT];
+#endif
const int verbose = 0;
@@ -69,8 +72,8 @@ static inline void issue_rma_op(int i)
#elif defined(TEST_CAS)
static inline void issue_rma_op(int i)
{
- int compare_val = i; /* always equal to window value, thus swap happens */
- MPI_Compare_and_swap(&local_buf[i], &compare_val, &result_addr[i], MPI_INT, target, i, win);
+ compare_buf[i] = i; /* always equal to window value, thus swap happens */
+ MPI_Compare_and_swap(&local_buf[i], &compare_buf[i], &result_addr[i], MPI_INT, target, i, win);
}
#endif
diff --git a/test/mpi/rma/wrma_flush_get.c b/test/mpi/rma/wrma_flush_get.c
index c0b0fc2..e2ae828 100644
--- a/test/mpi/rma/wrma_flush_get.c
+++ b/test/mpi/rma/wrma_flush_get.c
@@ -13,6 +13,9 @@
#define ITER 10000
#define BUF_CNT 1
int local_buf[BUF_CNT], result_addr[BUF_CNT], check_addr[BUF_CNT];
+#ifdef TEST_CAS
+int compare_buf[BUF_CNT];
+#endif
const int verbose = 0;
@@ -70,8 +73,8 @@ static inline void issue_rma_op(int i)
#elif defined(TEST_CAS)
static inline void issue_rma_op(int i)
{
- int compare_val = i; /* always equal to window value, thus swap happens */
- MPI_Compare_and_swap(&local_buf[i], &compare_val, &result_addr[i], MPI_INT, target, i, win);
+ compare_buf[i] = i; /* always equal to window value, thus swap happens */
+ MPI_Compare_and_swap(&local_buf[i], &compare_buf[i], &result_addr[i], MPI_INT, target, i, win);
}
#endif
-----------------------------------------------------------------------
Summary of changes:
test/mpi/rma/win_shared_rma_flush_load.c | 7 +++++--
test/mpi/rma/wrma_flush_get.c | 7 +++++--
2 files changed, 10 insertions(+), 4 deletions(-)
hooks/post-receive
--
MPICH primary repository
1
0
[mpich] MPICH primary repository branch, master, updated. v3.2rc1-17-g5927245
by noreply@mpich.org 28 Oct '15
by noreply@mpich.org 28 Oct '15
28 Oct '15
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "MPICH primary repository".
The branch, master has been updated
via 592724539fc60539d75e168410afa289a72fe3d7 (commit)
from 8ec9602b6ddd954250b175840d9ee778e1fbd786 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/592724539fc60539d75e168410afa289a…
commit 592724539fc60539d75e168410afa289a72fe3d7
Author: Pavan Balaji <balaji(a)anl.gov>
Date: Wed Oct 21 14:00:59 2015 -0500
Check if the names are identical before creating symlinks.
Thanks to Torquil Macdonald Sorensen for reporting the issue.
Signed-off-by: Ken Raffenetti <raffenet(a)mcs.anl.gov>
diff --git a/Makefile.am b/Makefile.am
index 811a4df..bde9873 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -233,20 +233,44 @@ install-exec-hook:
fi ; \
done ; \
if test -e ${DESTDIR}${bindir}/@MPICXX_NAME@ ; then \
- cd ${DESTDIR}${bindir} && ln -f -s @MPICXX_NAME@ @MPICPP_NAME@ ; fi ; \
+ if test "@MPICXX_NAME@" != "@MPICPP_NAME@" ; then \
+ cd ${DESTDIR}${bindir} && ln -f -s @MPICXX_NAME@ @MPICPP_NAME@ ; \
+ fi ; \
+ fi ; \
if test -e ${DESTDIR}${bindir}/@MPIFORT_NAME@ ; then \
- cd ${DESTDIR}${bindir} && ln -f -s @MPIFORT_NAME@ @MPIF90_NAME@ ; fi ; \
+ if test "@MPIFORT_NAME@" != "@MPIF90_NAME@" ; then \
+ cd ${DESTDIR}${bindir} && ln -f -s @MPIFORT_NAME@ @MPIF90_NAME@ ; \
+ fi ; \
+ fi ; \
if test -e ${DESTDIR}${bindir}/@MPIFORT_NAME@ -a ! -e ${DESTDIR}${bindir}/@MPIF77_NAME@ ; then \
- cd ${DESTDIR}${bindir} && ln -f -s @MPIFORT_NAME@ @MPIF77_NAME@ ; fi ; \
+ if test "@MPIFORT_NAME@" != "@MPIF77_NAME@" ; then \
+ cd ${DESTDIR}${bindir} && ln -f -s @MPIFORT_NAME@ @MPIF77_NAME@ ; \
+ fi ; \
+ fi ; \
if test -e ${DESTDIR}${libdir}/lib@MPILIBNAME@@SHLIB_EXT@ ; then \
- cd ${DESTDIR}${libdir} && ln -f -s lib@MPILIBNAME@@SHLIB_EXT@ libmpl@SHLIB_EXT@ ; \
- cd ${DESTDIR}${libdir} && ln -f -s lib@MPILIBNAME@@SHLIB_EXT@ libopa@SHLIB_EXT@ ; \
- cd ${DESTDIR}${libdir} && ln -f -s lib@MPILIBNAME@@SHLIB_EXT@ libmpich@SHLIB_EXT@ ; fi ; \
+ if test "@MPILIBNAME@" != "mpl" ; then \
+ cd ${DESTDIR}${libdir} && ln -f -s lib@MPILIBNAME@@SHLIB_EXT@ libmpl@SHLIB_EXT@ ; \
+ fi ; \
+ if test "@MPILIBNAME@" != "opa" ; then \
+ cd ${DESTDIR}${libdir} && ln -f -s lib@MPILIBNAME@@SHLIB_EXT@ libopa@SHLIB_EXT@ ; \
+ fi ; \
+ if test "@MPILIBNAME@" != "mpich" ; then \
+ cd ${DESTDIR}${libdir} && ln -f -s lib@MPILIBNAME@@SHLIB_EXT@ libmpich@SHLIB_EXT@ ; \
+ fi ; \
+ fi ; \
if test -e ${DESTDIR}${libdir}/lib@MPIFCLIBNAME@@SHLIB_EXT@ ; then \
- cd ${DESTDIR}${libdir} && ln -f -s lib@MPIFCLIBNAME@@SHLIB_EXT@ libfmpich@SHLIB_EXT@ ; \
- cd ${DESTDIR}${libdir} && ln -f -s lib@MPIFCLIBNAME@@SHLIB_EXT@ libmpichf90@SHLIB_EXT@ ; fi ; \
+ if test "@MPIFCLIBNAME@" != "fmpich" ; then \
+ cd ${DESTDIR}${libdir} && ln -f -s lib@MPIFCLIBNAME@@SHLIB_EXT@ libfmpich@SHLIB_EXT@ ; \
+ fi ; \
+ if test "@MPIFCLIBNAME@" != "mpichf90" ; then \
+ cd ${DESTDIR}${libdir} && ln -f -s lib@MPIFCLIBNAME@@SHLIB_EXT@ libmpichf90@SHLIB_EXT@ ; \
+ fi ; \
+ fi ; \
if test -e ${DESTDIR}${libdir}/lib@MPICXXLIBNAME@@SHLIB_EXT@ ; then \
- cd ${DESTDIR}${libdir} && ln -f -s lib@MPICXXLIBNAME@@SHLIB_EXT@ libmpichcxx@SHLIB_EXT@ ; fi
+ if test "@MPICXXLIBNAME@" != "mpichcxx" ; then \
+ cd ${DESTDIR}${libdir} && ln -f -s lib@MPICXXLIBNAME@@SHLIB_EXT@ libmpichcxx@SHLIB_EXT@ ; \
+ fi ; \
+ fi
# the configure step checks for the 'lib' dir to decide whether a source
# directory has been previously used for an in-path build before allowing a
-----------------------------------------------------------------------
Summary of changes:
Makefile.am | 42 +++++++++++++++++++++++++++++++++---------
1 files changed, 33 insertions(+), 9 deletions(-)
hooks/post-receive
--
MPICH primary repository
1
0
[mpich] MPICH primary repository branch, master, updated. v3.2rc1-16-g8ec9602
by noreply@mpich.org 27 Oct '15
by noreply@mpich.org 27 Oct '15
27 Oct '15
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "MPICH primary repository".
The branch, master has been updated
via 8ec9602b6ddd954250b175840d9ee778e1fbd786 (commit)
via 89f27b12a662d055908d751b3ea92e407bfc8883 (commit)
from 2a9d3e328b92c579f008f2b6be8b778dc36ece7d (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/8ec9602b6ddd954250b175840d9ee778e…
commit 8ec9602b6ddd954250b175840d9ee778e1fbd786
Author: Ken Raffenetti <raffenet(a)mcs.anl.gov>
Date: Mon Oct 26 13:22:03 2015 -0500
netmod/portals4: better check for datatype mismatch
The previous datatype mismatch check could generate false positives
when the received data was less than the total size of the posted recv
op. We take a new approach to detecting mismatches in the case where
datatypes are constructed from a single basic type. If the received
number of bytes is not a multiple of the size of a single basic element,
a mismatch has occurred.
Signed-off-by: Halim Amer <aamer(a)anl.gov>
diff --git a/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_recv.c b/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_recv.c
index d2787c5..08272e9 100644
--- a/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_recv.c
+++ b/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_recv.c
@@ -119,7 +119,13 @@ static int handler_recv_dequeue_complete(const ptl_event_t *e)
MPIR_ERR_SET(rreq->status.MPI_ERROR, MPI_ERR_TYPE, "**dtypemismatch");
}
} else {
- if (!is_contig && data_sz != e->mlength)
+ /* Data was placed directly into the user buffer, so datatype mismatch
+ is harder to detect. We use a simple check ensuring the received bytes
+ are a multiple of a single basic element. Currently, we do not detect
+ mismatches with datatypes constructed of more than one basic type */
+ MPI_Datatype dt_basic_type;
+ MPID_Datatype_get_basic_type(rreq->dev.datatype, dt_basic_type);
+ if (dt_basic_type != MPI_DATATYPE_NULL && (e->mlength % MPID_Datatype_get_basic_size(dt_basic_type)) != 0)
MPIR_ERR_SET(rreq->status.MPI_ERROR, MPI_ERR_TYPE, "**dtypemismatch");
}
http://git.mpich.org/mpich.git/commitdiff/89f27b12a662d055908d751b3ea92e407…
commit 89f27b12a662d055908d751b3ea92e407bfc8883
Author: Halim Amer <aamer(a)anl.gov>
Date: Wed Oct 14 17:05:30 2015 -0500
Added an Allgather test with an int+long struct DDT
This test proved to trigger bugs in some implementations
that do not respect the alignment of the struct fields.
Signed-off-by: Ken Raffenetti <raffenet(a)mcs.anl.gov>
diff --git a/test/mpi/coll/Makefile.am b/test/mpi/coll/Makefile.am
index 06f1270..9955f7a 100644
--- a/test/mpi/coll/Makefile.am
+++ b/test/mpi/coll/Makefile.am
@@ -18,6 +18,7 @@ noinst_PROGRAMS = \
allgatherv2 \
allgatherv3 \
allgatherv4 \
+ allgather_struct \
allred \
allred2 \
allred3 \
diff --git a/test/mpi/coll/allgather_struct.c b/test/mpi/coll/allgather_struct.c
new file mode 100644
index 0000000..b2a421f
--- /dev/null
+++ b/test/mpi/coll/allgather_struct.c
@@ -0,0 +1,77 @@
+/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
+/*
+ *
+ * (C) 2015 by Argonne National Laboratory.
+ * See COPYRIGHT in top-level directory.
+ */
+
+#include <stdlib.h>
+#include "mpi.h"
+#include "mpitest.h"
+
+/* Allgather a two-field struct datatype. This test
+ may trigger bugs such as when the implementation
+ does not handle well misaligned types.*/
+
+typedef struct {
+ int first;
+ long second;
+} int_long_t;
+
+int main(int argc, char **argv)
+{
+ MPI_Comm comm;
+ int minsize = 2;
+ int i, errs = 0;
+ int rank, size;
+ int_long_t object;
+ MPI_Datatype type;
+ MPI_Aint begin;
+ MPI_Aint displacements[2];
+ MPI_Datatype types[] = { MPI_INT, MPI_LONG };
+ int blocklength[2] = { 1, 1 };
+ int_long_t* gathered_objects;
+
+ MTest_Init(&argc, &argv);
+
+ while (MTestGetIntracommGeneral(&comm, minsize, 1)) {
+
+ if (comm == MPI_COMM_NULL)
+ continue;
+ /* Determine the sender and receiver */
+ MPI_Comm_rank(comm, &rank);
+ MPI_Comm_size(comm, &size);
+
+ gathered_objects = (int_long_t*) malloc (size*sizeof(int_long_t));
+
+ /* Local object */
+ object.first = rank;
+ object.second = rank * 10;
+
+ /* Datatype creation */
+ MPI_Get_address(&object, &begin);
+ MPI_Get_address(&object.first, &displacements[0]);
+ MPI_Get_address(&object.second, &displacements[1]);
+
+ for (i = 0; i != 2; ++i)
+ displacements[i] -= begin;
+
+ MPI_Type_create_struct(2, &blocklength[0], &displacements[0], &types[0], &type);
+ MPI_Type_commit(&type);
+
+ MPI_Allgather(&object, 1, type, gathered_objects, 1, type, comm);
+
+ for (i = 0; i < size; i++) {
+ if (gathered_objects[i].first != i || gathered_objects[i].second != i * 10)
+ errs++;
+ }
+
+ MPI_Type_free(&type);
+ MTestFreeComm(&comm);
+ free(gathered_objects);
+ }
+
+ MTest_Finalize(errs);
+ MPI_Finalize();
+ return 0;
+}
diff --git a/test/mpi/coll/testlist.in b/test/mpi/coll/testlist.in
index fd4be71..d259043 100644
--- a/test/mpi/coll/testlist.in
+++ b/test/mpi/coll/testlist.in
@@ -29,6 +29,7 @@ allgather3 10
allgatherv2 10
allgatherv3 10
allgatherv4 4 timeLimit=600
+allgather_struct 10
bcasttest 4
bcasttest 8
bcasttest 10
-----------------------------------------------------------------------
Summary of changes:
.../channels/nemesis/netmod/portals4/ptl_recv.c | 8 ++-
test/mpi/coll/Makefile.am | 1 +
test/mpi/coll/allgather_struct.c | 77 ++++++++++++++++++++
test/mpi/coll/testlist.in | 1 +
4 files changed, 86 insertions(+), 1 deletions(-)
create mode 100644 test/mpi/coll/allgather_struct.c
hooks/post-receive
--
MPICH primary repository
1
0
[mpich] MPICH primary repository branch, master, updated. v3.2rc1-14-g2a9d3e3
by noreply@mpich.org 26 Oct '15
by noreply@mpich.org 26 Oct '15
26 Oct '15
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "MPICH primary repository".
The branch, master has been updated
via 2a9d3e328b92c579f008f2b6be8b778dc36ece7d (commit)
from e2628abe8dc97b400e290deab0ed9e1b321491f2 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/2a9d3e328b92c579f008f2b6be8b778dc…
commit 2a9d3e328b92c579f008f2b6be8b778dc36ece7d
Author: Sangmin Seo <sseo(a)anl.gov>
Date: Mon Oct 12 20:07:43 2015 +0000
Use strtok_r to parse the same string recursively.
To parse the same string recursively, strtok_r() should be used instead
of strtok().
Signed-off-by: Pavan Balaji <balaji(a)anl.gov>
diff --git a/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v1.c b/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v1.c
index ba96f84..41885e0 100644
--- a/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v1.c
+++ b/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v1.c
@@ -456,11 +456,12 @@ static HYD_status fn_spawn(int fd, int pid, int pgid, char *args[])
exec->wdir = HYDU_strdup(info_val);
}
else if (!strcmp(info_key, "host") || !strcmp(info_key, "hosts")) {
- char *host = strtok(info_val, ",");
+ char *saveptr;
+ char *host = strtok_r(info_val, ",", &saveptr);
while (host) {
status = HYDU_process_mfile_token(host, 1, &pg->user_node_list);
HYDU_ERR_POP(status, "error creating node list\n");
- host = strtok(NULL, ",");
+ host = strtok_r(NULL, ",", &saveptr);
}
}
else if (!strcmp(info_key, "hostfile")) {
diff --git a/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v2.c b/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v2.c
index 3904164..2dc7d09 100644
--- a/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v2.c
+++ b/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v2.c
@@ -572,11 +572,12 @@ static HYD_status fn_spawn(int fd, int pid, int pgid, char *args[])
exec->wdir = HYDU_strdup(info_val);
}
else if (!strcmp(info_key, "host") || !strcmp(info_key, "hosts")) {
- char *host = strtok(info_val, ",");
+ char *saveptr;
+ char *host = strtok_r(info_val, ",", &saveptr);
while (host) {
status = HYDU_process_mfile_token(host, 1, &pg->user_node_list);
HYDU_ERR_POP(status, "error creating node list\n");
- host = strtok(NULL, ",");
+ host = strtok_r(NULL, ",", &saveptr);
}
}
else if (!strcmp(info_key, "hostfile")) {
diff --git a/src/pm/hydra/utils/args/args.c b/src/pm/hydra/utils/args/args.c
index 929d7e0..8303bd7 100644
--- a/src/pm/hydra/utils/args/args.c
+++ b/src/pm/hydra/utils/args/args.c
@@ -258,22 +258,22 @@ char *HYDU_getcwd(void)
HYD_status HYDU_process_mfile_token(char *token, int newline, struct HYD_node **node_list)
{
int num_procs;
- char *hostname, *procs, *binding, *tmp, *user;
+ char *hostname, *procs, *binding, *tmp, *user, *saveptr;
struct HYD_node *node;
HYD_status status = HYD_SUCCESS;
if (newline) { /* The first entry gives the hostname and processes */
- hostname = strtok(token, ":");
- procs = strtok(NULL, ":");
+ hostname = strtok_r(token, ":", &saveptr);
+ procs = strtok_r(NULL, ":", &saveptr);
num_procs = procs ? atoi(procs) : 1;
status = HYDU_add_to_node_list(hostname, num_procs, node_list);
HYDU_ERR_POP(status, "unable to add to node list\n");
}
else { /* Not a new line */
- tmp = strtok(token, "=");
+ tmp = strtok_r(token, "=", &saveptr);
if (!strcmp(tmp, "binding")) {
- binding = strtok(NULL, "=");
+ binding = strtok_r(NULL, "=", &saveptr);
for (node = *node_list; node->next; node = node->next);
if (node->local_binding)
@@ -283,7 +283,7 @@ HYD_status HYDU_process_mfile_token(char *token, int newline, struct HYD_node **
node->local_binding = HYDU_strdup(binding);
}
else if (!strcmp(tmp, "user")) {
- user = strtok(NULL, "=");
+ user = strtok_r(NULL, "=", &saveptr);
for (node = *node_list; node->next; node = node->next);
if (node->user)
-----------------------------------------------------------------------
Summary of changes:
src/pm/hydra/pm/pmiserv/pmiserv_pmi_v1.c | 5 +++--
src/pm/hydra/pm/pmiserv/pmiserv_pmi_v2.c | 5 +++--
src/pm/hydra/utils/args/args.c | 12 ++++++------
3 files changed, 12 insertions(+), 10 deletions(-)
hooks/post-receive
--
MPICH primary repository
1
0
[mpich] MPICH primary repository branch, master, updated. v3.2rc1-13-ge2628ab
by noreply@mpich.org 26 Oct '15
by noreply@mpich.org 26 Oct '15
26 Oct '15
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "MPICH primary repository".
The branch, master has been updated
via e2628abe8dc97b400e290deab0ed9e1b321491f2 (commit)
from 7f2ccc24437f6e3bee25b4212e8695cdbb699360 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/e2628abe8dc97b400e290deab0ed9e1b3…
commit e2628abe8dc97b400e290deab0ed9e1b321491f2
Author: Sangmin Seo <sseo(a)anl.gov>
Date: Tue Oct 20 18:26:52 2015 -0500
Add the use_rmk parameter to HYDT_bsci_launch_procs.
RMK is used to allocate nodes on a system before launching a job. If
it is not specified in the user arguments for the UI process (e.g.,
mpiexec), it is set to the same as a job launcher (e.g., SLURM or
PBS). This works fine for launching processes on nodes for the first
time, but it has a problem when a process dynamically creates other
processes at run time, e.g., by calling MPI_Comm_spawn(), because the
job launcher does not know which node(s) will be used for new
processes and it just allocates nodes based on its allocation policy.
This may conflict with the process management policy of the Hydra
framework, since the Hydra independently decides target nodes to
create a proxy process and to spawn new processes. When the conflict
happens the spawned processes cannot communicate correctly.
To resolve this problem, a parameter 'use_rmk' is added to the
HYDT_bsci_launch_procs function. If it is HYD_TRUE, RMK is used to
allocate nodes. HYD_TRUE is passed when the HYDT_bsci_launch_procs
function is called from the UI process. On the other hand, if it is
HYD_FALSE, we force not to use RMK. HYD_FALSE is passed in PMI spawn
functions.
Signed-off-by: Pavan Balaji <balaji(a)anl.gov>
diff --git a/src/pm/hydra/pm/pmiserv/pmiserv_pmci.c b/src/pm/hydra/pm/pmiserv/pmiserv_pmci.c
index c705c33..304f728 100644
--- a/src/pm/hydra/pm/pmiserv/pmiserv_pmci.c
+++ b/src/pm/hydra/pm/pmiserv/pmiserv_pmci.c
@@ -131,7 +131,7 @@ HYD_status HYD_pmci_launch_procs(void)
control_fd[i] = HYD_FD_UNSET;
status = HYDT_bsci_launch_procs(proxy_stash.strlist, HYD_server_info.pg_list.proxy_list,
- control_fd);
+ HYD_TRUE, control_fd);
HYDU_ERR_POP(status, "launcher cannot launch processes\n");
for (i = 0, proxy = HYD_server_info.pg_list.proxy_list; proxy; proxy = proxy->next, i++)
diff --git a/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v1.c b/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v1.c
index a855582..ba96f84 100644
--- a/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v1.c
+++ b/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v1.c
@@ -591,7 +591,7 @@ static HYD_status fn_spawn(int fd, int pid, int pgid, char *args[])
status = HYD_pmcd_pmi_fill_in_exec_launch_info(pg);
HYDU_ERR_POP(status, "unable to fill in executable arguments\n");
- status = HYDT_bsci_launch_procs(proxy_stash.strlist, pg->proxy_list, NULL);
+ status = HYDT_bsci_launch_procs(proxy_stash.strlist, pg->proxy_list, HYD_FALSE, NULL);
HYDU_ERR_POP(status, "launcher cannot launch processes\n");
{
diff --git a/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v2.c b/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v2.c
index 00e6377..3904164 100644
--- a/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v2.c
+++ b/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v2.c
@@ -706,7 +706,7 @@ static HYD_status fn_spawn(int fd, int pid, int pgid, char *args[])
status = HYD_pmcd_pmi_fill_in_exec_launch_info(pg);
HYDU_ERR_POP(status, "unable to fill in executable arguments\n");
- status = HYDT_bsci_launch_procs(proxy_stash.strlist, pg->proxy_list, NULL);
+ status = HYDT_bsci_launch_procs(proxy_stash.strlist, pg->proxy_list, HYD_FALSE, NULL);
HYDU_ERR_POP(status, "launcher cannot launch processes\n");
{
diff --git a/src/pm/hydra/tools/bootstrap/external/common.h b/src/pm/hydra/tools/bootstrap/external/common.h
index bb20606..2e01351 100644
--- a/src/pm/hydra/tools/bootstrap/external/common.h
+++ b/src/pm/hydra/tools/bootstrap/external/common.h
@@ -20,6 +20,6 @@ int HYDTI_bscd_env_is_avail(const char *env_name);
int HYDTI_bscd_in_env_list(const char *env_name, const char *env_list[]);
HYD_status HYDT_bscd_common_launch_procs(char **args, struct HYD_proxy *proxy_list,
- int *control_fd);
+ int use_rmk, int *control_fd);
#endif /* COMMON_H_INCLUDED */
diff --git a/src/pm/hydra/tools/bootstrap/external/external_common_launch.c b/src/pm/hydra/tools/bootstrap/external/external_common_launch.c
index 7ad0a54..9534d46 100644
--- a/src/pm/hydra/tools/bootstrap/external/external_common_launch.c
+++ b/src/pm/hydra/tools/bootstrap/external/external_common_launch.c
@@ -97,7 +97,8 @@ static HYD_status sge_get_path(char **path)
goto fn_exit;
}
-HYD_status HYDT_bscd_common_launch_procs(char **args, struct HYD_proxy *proxy_list, int *control_fd)
+HYD_status HYDT_bscd_common_launch_procs(char **args, struct HYD_proxy *proxy_list, int use_rmk,
+ int *control_fd)
{
int num_hosts, idx, i, host_idx, fd, exec_idx, offset, lh, len, rc, autofork;
int *pid, *fd_list, *dummy;
diff --git a/src/pm/hydra/tools/bootstrap/external/ll.h b/src/pm/hydra/tools/bootstrap/external/ll.h
index 22d8db7..11876e6 100644
--- a/src/pm/hydra/tools/bootstrap/external/ll.h
+++ b/src/pm/hydra/tools/bootstrap/external/ll.h
@@ -11,7 +11,8 @@
HYD_status HYDTI_bscd_ll_query_node_count(int *count);
-HYD_status HYDT_bscd_ll_launch_procs(char **args, struct HYD_proxy *proxy_list, int *control_fd);
+HYD_status HYDT_bscd_ll_launch_procs(char **args, struct HYD_proxy *proxy_list, int use_rmk,
+ int *control_fd);
HYD_status HYDT_bscd_ll_query_proxy_id(int *proxy_id);
HYD_status HYDT_bscd_ll_query_native_int(int *ret);
HYD_status HYDT_bscd_ll_query_node_list(struct HYD_node **node_list);
diff --git a/src/pm/hydra/tools/bootstrap/external/ll_launch.c b/src/pm/hydra/tools/bootstrap/external/ll_launch.c
index d4dc9c9..04ed4b3 100644
--- a/src/pm/hydra/tools/bootstrap/external/ll_launch.c
+++ b/src/pm/hydra/tools/bootstrap/external/ll_launch.c
@@ -12,7 +12,8 @@
static int fd_stdout, fd_stderr;
-HYD_status HYDT_bscd_ll_launch_procs(char **args, struct HYD_proxy *proxy_list, int *control_fd)
+HYD_status HYDT_bscd_ll_launch_procs(char **args, struct HYD_proxy *proxy_list, int use_rmk,
+ int *control_fd)
{
int idx, i, total_procs, node_count;
int *pid, *fd_list, exec_idx;
diff --git a/src/pm/hydra/tools/bootstrap/external/pbs.h b/src/pm/hydra/tools/bootstrap/external/pbs.h
index bf846ab..f039f8f 100644
--- a/src/pm/hydra/tools/bootstrap/external/pbs.h
+++ b/src/pm/hydra/tools/bootstrap/external/pbs.h
@@ -20,7 +20,8 @@ struct HYDT_bscd_pbs_sys_s {
extern struct HYDT_bscd_pbs_sys_s *HYDT_bscd_pbs_sys;
-HYD_status HYDT_bscd_pbs_launch_procs(char **args, struct HYD_proxy *proxy_list, int *control_fd);
+HYD_status HYDT_bscd_pbs_launch_procs(char **args, struct HYD_proxy *proxy_list, int use_rmk,
+ int *control_fd);
HYD_status HYDT_bscd_pbs_query_env_inherit(const char *env_name, int *ret);
HYD_status HYDT_bscd_pbs_wait_for_completion(int timeout);
HYD_status HYDT_bscd_pbs_launcher_finalize(void);
diff --git a/src/pm/hydra/tools/bootstrap/external/pbs_launch.c b/src/pm/hydra/tools/bootstrap/external/pbs_launch.c
index 1a9196c..27245d8 100644
--- a/src/pm/hydra/tools/bootstrap/external/pbs_launch.c
+++ b/src/pm/hydra/tools/bootstrap/external/pbs_launch.c
@@ -35,7 +35,8 @@ static HYD_status find_pbs_node_id(const char *hostname, int *node_id)
goto fn_exit;
}
-HYD_status HYDT_bscd_pbs_launch_procs(char **args, struct HYD_proxy *proxy_list, int *control_fd)
+HYD_status HYDT_bscd_pbs_launch_procs(char **args, struct HYD_proxy *proxy_list, int use_rmk,
+ int *control_fd)
{
int proxy_count, i, args_count, err, hostid;
struct HYD_proxy *proxy;
@@ -46,7 +47,7 @@ HYD_status HYDT_bscd_pbs_launch_procs(char **args, struct HYD_proxy *proxy_list,
/* If the RMK is not PBS, query for the PBS node list, and convert
* the user-specified node IDs to PBS node IDs */
- if (strcmp(HYDT_bsci_info.rmk, "pbs")) {
+ if (use_rmk == HYD_FALSE || strcmp(HYDT_bsci_info.rmk, "pbs")) {
status = HYDT_bscd_pbs_query_node_list(&pbs_node_list);
HYDU_ERR_POP(status, "error querying PBS node list\n");
}
diff --git a/src/pm/hydra/tools/bootstrap/external/slurm.h b/src/pm/hydra/tools/bootstrap/external/slurm.h
index f4a7c85..25a21f0 100644
--- a/src/pm/hydra/tools/bootstrap/external/slurm.h
+++ b/src/pm/hydra/tools/bootstrap/external/slurm.h
@@ -9,7 +9,8 @@
#include "hydra.h"
-HYD_status HYDT_bscd_slurm_launch_procs(char **args, struct HYD_proxy *proxy_list, int *control_fd);
+HYD_status HYDT_bscd_slurm_launch_procs(char **args, struct HYD_proxy *proxy_list, int use_rmk,
+ int *control_fd);
HYD_status HYDT_bscd_slurm_query_proxy_id(int *proxy_id);
HYD_status HYDT_bscd_slurm_query_native_int(int *ret);
HYD_status HYDT_bscd_slurm_query_node_list(struct HYD_node **node_list);
diff --git a/src/pm/hydra/tools/bootstrap/external/slurm_launch.c b/src/pm/hydra/tools/bootstrap/external/slurm_launch.c
index ad62e21..b88009c 100644
--- a/src/pm/hydra/tools/bootstrap/external/slurm_launch.c
+++ b/src/pm/hydra/tools/bootstrap/external/slurm_launch.c
@@ -59,7 +59,8 @@ static HYD_status proxy_list_to_node_str(struct HYD_proxy *proxy_list, char **no
goto fn_exit;
}
-HYD_status HYDT_bscd_slurm_launch_procs(char **args, struct HYD_proxy *proxy_list, int *control_fd)
+HYD_status HYDT_bscd_slurm_launch_procs(char **args, struct HYD_proxy *proxy_list, int use_rmk,
+ int *control_fd)
{
int num_hosts, idx, i;
int *pid, *fd_list;
@@ -83,7 +84,7 @@ HYD_status HYDT_bscd_slurm_launch_procs(char **args, struct HYD_proxy *proxy_lis
idx = 0;
targs[idx++] = HYDU_strdup(path);
- if (strcmp(HYDT_bsci_info.rmk, "slurm")) {
+ if (use_rmk == HYD_FALSE || strcmp(HYDT_bsci_info.rmk, "slurm")) {
targs[idx++] = HYDU_strdup("--nodelist");
status = proxy_list_to_node_str(proxy_list, &node_list_str);
diff --git a/src/pm/hydra/tools/bootstrap/include/bsci.h b/src/pm/hydra/tools/bootstrap/include/bsci.h
index ac079ad..820e20f 100644
--- a/src/pm/hydra/tools/bootstrap/include/bsci.h
+++ b/src/pm/hydra/tools/bootstrap/include/bsci.h
@@ -51,7 +51,8 @@ struct HYDT_bsci_fns {
/* Launcher functions */
/** \brief Launch processes */
- HYD_status(*launch_procs) (char **args, struct HYD_proxy * proxy_list, int *control_fd);
+ HYD_status(*launch_procs) (char **args, struct HYD_proxy * proxy_list, int use_rmk,
+ int *control_fd);
/** \brief Finalize the bootstrap control device */
HYD_status(*launcher_finalize) (void);
@@ -94,6 +95,7 @@ HYD_status HYDT_bsci_init(const char *rmk, const char *launcher,
*
* \param[in] args Arguments to be used for the launched processes
* \param[in] proxy_list List of proxies to launch
+ * \param[in] use_rmk Force not to use RMK if HYD_FALSE
* \param[out] control_fd Control socket to communicate with the launched process
*
* This function appends a proxy ID to the end of the args list and
@@ -106,8 +108,28 @@ HYD_status HYDT_bsci_init(const char *rmk, const char *launcher,
* perform parallel launches should set the proxy ID string to "-1",
* but allow proxies to query their ID information on each node using
* the HYDT_bsci_query_proxy_id function.
+ *
+ * Background of use_rmk: RMK is used to allocate nodes on a system
+ * before launching a job. If it is not specified in the user
+ * arguments for the UI process (e.g., mpiexec), it is set to the same
+ * as a job launcher (e.g., SLURM or PBS). This works fine for
+ * launching processes on nodes for the first time, but it has
+ * a problem when a process dynamically creates other processes at run
+ * time, e.g., by calling MPI_Comm_spawn(), because the job launcher
+ * does not know which node(s) will be used for new processes and it
+ * just allocates nodes based on its allocation policy. This may
+ * conflict with the process management policy of the Hydra framework,
+ * since the Hydra independently decides target nodes to create a
+ * proxy process and to spawn new processes. When the conflict
+ * happens the spawned processes cannot communicate correctly.
+ * To resolve this problem, a parameter 'use_rmk' is added to this
+ * launch function. If it is HYD_TRUE, RMK is used to allocate nodes.
+ * HYD_TRUE is passed when this function is called from the UI
+ * process. On the other hand, if it is HYD_FALSE, we force not to
+ * use RMK. HYD_FALSE is passed in PMI spawn functions.
*/
-HYD_status HYDT_bsci_launch_procs(char **args, struct HYD_proxy *proxy_list, int *control_fd);
+HYD_status HYDT_bsci_launch_procs(char **args, struct HYD_proxy *proxy_list, int use_rmk,
+ int *control_fd);
/**
diff --git a/src/pm/hydra/tools/bootstrap/persist/persist_client.h b/src/pm/hydra/tools/bootstrap/persist/persist_client.h
index ee2c92b..6ec59f9 100644
--- a/src/pm/hydra/tools/bootstrap/persist/persist_client.h
+++ b/src/pm/hydra/tools/bootstrap/persist/persist_client.h
@@ -12,7 +12,7 @@
#include "persist.h"
HYD_status HYDT_bscd_persist_launch_procs(char **args, struct HYD_proxy *proxy_list,
- int *control_fd);
+ int use_rmk, int *control_fd);
HYD_status HYDT_bscd_persist_wait_for_completion(int timeout);
extern int *HYDT_bscd_persist_control_fd;
diff --git a/src/pm/hydra/tools/bootstrap/persist/persist_launch.c b/src/pm/hydra/tools/bootstrap/persist/persist_launch.c
index c2faae4..b24db99 100644
--- a/src/pm/hydra/tools/bootstrap/persist/persist_launch.c
+++ b/src/pm/hydra/tools/bootstrap/persist/persist_launch.c
@@ -59,7 +59,7 @@ static HYD_status persist_cb(int fd, HYD_event_t events, void *userp)
}
HYD_status HYDT_bscd_persist_launch_procs(char **args, struct HYD_proxy *proxy_list,
- int *control_fd)
+ int use_rmk, int *control_fd)
{
struct HYD_proxy *proxy;
int idx, i;
diff --git a/src/pm/hydra/tools/bootstrap/src/bsci_launch.c b/src/pm/hydra/tools/bootstrap/src/bsci_launch.c
index dfe8c5a..e25f963 100644
--- a/src/pm/hydra/tools/bootstrap/src/bsci_launch.c
+++ b/src/pm/hydra/tools/bootstrap/src/bsci_launch.c
@@ -7,13 +7,14 @@
#include "hydra.h"
#include "bsci.h"
-HYD_status HYDT_bsci_launch_procs(char **args, struct HYD_proxy *proxy_list, int *control_fd)
+HYD_status HYDT_bsci_launch_procs(char **args, struct HYD_proxy *proxy_list, int use_rmk,
+ int *control_fd)
{
HYD_status status = HYD_SUCCESS;
HYDU_FUNC_ENTER();
- status = HYDT_bsci_fns.launch_procs(args, proxy_list, control_fd);
+ status = HYDT_bsci_fns.launch_procs(args, proxy_list, use_rmk, control_fd);
HYDU_ERR_POP(status, "launcher returned error while launching processes\n");
fn_exit:
-----------------------------------------------------------------------
Summary of changes:
src/pm/hydra/pm/pmiserv/pmiserv_pmci.c | 2 +-
src/pm/hydra/pm/pmiserv/pmiserv_pmi_v1.c | 2 +-
src/pm/hydra/pm/pmiserv/pmiserv_pmi_v2.c | 2 +-
src/pm/hydra/tools/bootstrap/external/common.h | 2 +-
.../bootstrap/external/external_common_launch.c | 3 +-
src/pm/hydra/tools/bootstrap/external/ll.h | 3 +-
src/pm/hydra/tools/bootstrap/external/ll_launch.c | 3 +-
src/pm/hydra/tools/bootstrap/external/pbs.h | 3 +-
src/pm/hydra/tools/bootstrap/external/pbs_launch.c | 5 ++-
src/pm/hydra/tools/bootstrap/external/slurm.h | 3 +-
.../hydra/tools/bootstrap/external/slurm_launch.c | 5 ++-
src/pm/hydra/tools/bootstrap/include/bsci.h | 26 ++++++++++++++++++-
.../hydra/tools/bootstrap/persist/persist_client.h | 2 +-
.../hydra/tools/bootstrap/persist/persist_launch.c | 2 +-
src/pm/hydra/tools/bootstrap/src/bsci_launch.c | 5 ++-
15 files changed, 49 insertions(+), 19 deletions(-)
hooks/post-receive
--
MPICH primary repository
1
0
[mpich] MPICH primary repository branch, master, updated. v3.2rc1-12-g7f2ccc2
by noreply@mpich.org 17 Oct '15
by noreply@mpich.org 17 Oct '15
17 Oct '15
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "MPICH primary repository".
The branch, master has been updated
via 7f2ccc24437f6e3bee25b4212e8695cdbb699360 (commit)
from 32de416540731de9f5d8e0e1a79cfc6b44d49541 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/7f2ccc24437f6e3bee25b4212e8695cdb…
commit 7f2ccc24437f6e3bee25b4212e8695cdbb699360
Author: Yanfei Guo <yguo(a)anl.gov>
Date: Sat Oct 17 20:31:59 2015 -0500
maint/jenkins: add MPICH copyright to Jenkins scripts
Copyright information was missing in Jenkins scripts.
No reviewer.
diff --git a/maint/jenkins/multinode/mn-build.sh b/maint/jenkins/multinode/mn-build.sh
index 01cb213..796d129 100755
--- a/maint/jenkins/multinode/mn-build.sh
+++ b/maint/jenkins/multinode/mn-build.sh
@@ -1,4 +1,8 @@
#!/bin/zsh -xe
+#
+# (C) 2015 by Argonne National Laboratory.
+# See COPYRIGHT in top-level directory.
+#
# This script only run on the first node. The mpiexec will automatically spawned
if test ! $SLURM_NODEID -eq 0; then
diff --git a/maint/jenkins/multinode/mn-run.sh b/maint/jenkins/multinode/mn-run.sh
index 3b6a12b..3750ea5 100755
--- a/maint/jenkins/multinode/mn-run.sh
+++ b/maint/jenkins/multinode/mn-run.sh
@@ -1,4 +1,8 @@
#!/bin/zsh -xe
+#
+# (C) 2015 by Argonne National Laboratory.
+# See COPYRIGHT in top-level directory.
+#
# This script only run on the first node. The mpiexec will automatically spawned
if test ! $SLURM_NODEID -eq 0; then
diff --git a/maint/jenkins/set-timeout.sh b/maint/jenkins/set-timeout.sh
index 1554632..bb999b2 100755
--- a/maint/jenkins/set-timeout.sh
+++ b/maint/jenkins/set-timeout.sh
@@ -1,4 +1,8 @@
#!/bin/zsh
+#
+# (C) 2015 by Argonne National Laboratory.
+# See COPYRIGHT in top-level directory.
+#
jobname=""
compiler=""
diff --git a/maint/jenkins/set-xfail.sh b/maint/jenkins/set-xfail.sh
index 7c4eb46..127de1e 100755
--- a/maint/jenkins/set-xfail.sh
+++ b/maint/jenkins/set-xfail.sh
@@ -1,4 +1,8 @@
#!/bin/zsh
+#
+# (C) 2015 by Argonne National Laboratory.
+# See COPYRIGHT in top-level directory.
+#
jobname=""
compiler=""
diff --git a/maint/jenkins/skip_test.sh b/maint/jenkins/skip_test.sh
index d832b96..c7a5603 100755
--- a/maint/jenkins/skip_test.sh
+++ b/maint/jenkins/skip_test.sh
@@ -1,4 +1,8 @@
#!/bin/zsh
+#
+# (C) 2015 by Argonne National Laboratory.
+# See COPYRIGHT in top-level directory.
+#
jobname=""
compiler=""
diff --git a/maint/jenkins/test-worker-abi-prolog.sh b/maint/jenkins/test-worker-abi-prolog.sh
index e9e7146..a059a5e 100755
--- a/maint/jenkins/test-worker-abi-prolog.sh
+++ b/maint/jenkins/test-worker-abi-prolog.sh
@@ -1,4 +1,8 @@
#!/bin/zsh -xe
+#
+# (C) 2015 by Argonne National Laboratory.
+# See COPYRIGHT in top-level directory.
+#
hostname
diff --git a/maint/jenkins/test-worker-abi.sh b/maint/jenkins/test-worker-abi.sh
index 4538e90..74a6ffb 100755
--- a/maint/jenkins/test-worker-abi.sh
+++ b/maint/jenkins/test-worker-abi.sh
@@ -1,4 +1,8 @@
#!/bin/zsh -x
+#
+# (C) 2015 by Argonne National Laboratory.
+# See COPYRIGHT in top-level directory.
+#
hostname
diff --git a/maint/jenkins/test-worker-armci.sh b/maint/jenkins/test-worker-armci.sh
index a073864..0dcd795 100755
--- a/maint/jenkins/test-worker-armci.sh
+++ b/maint/jenkins/test-worker-armci.sh
@@ -1,4 +1,8 @@
#!/bin/zsh -xe
+#
+# (C) 2015 by Argonne National Laboratory.
+# See COPYRIGHT in top-level directory.
+#
hostname
diff --git a/maint/jenkins/test-worker-tarball.sh b/maint/jenkins/test-worker-tarball.sh
index 162b0e6..b07093d 100755
--- a/maint/jenkins/test-worker-tarball.sh
+++ b/maint/jenkins/test-worker-tarball.sh
@@ -1,4 +1,8 @@
#!/bin/zsh -xe
+#
+# (C) 2015 by Argonne National Laboratory.
+# See COPYRIGHT in top-level directory.
+#
hostname
diff --git a/maint/jenkins/test-worker.sh b/maint/jenkins/test-worker.sh
index 8309576..f0b6ccb 100755
--- a/maint/jenkins/test-worker.sh
+++ b/maint/jenkins/test-worker.sh
@@ -1,4 +1,8 @@
#!/bin/zsh -xe
+#
+# (C) 2015 by Argonne National Laboratory.
+# See COPYRIGHT in top-level directory.
+#
hostname
-----------------------------------------------------------------------
Summary of changes:
maint/jenkins/multinode/mn-build.sh | 4 ++++
maint/jenkins/multinode/mn-run.sh | 4 ++++
maint/jenkins/set-timeout.sh | 4 ++++
maint/jenkins/set-xfail.sh | 4 ++++
maint/jenkins/skip_test.sh | 4 ++++
maint/jenkins/test-worker-abi-prolog.sh | 4 ++++
maint/jenkins/test-worker-abi.sh | 4 ++++
maint/jenkins/test-worker-armci.sh | 4 ++++
maint/jenkins/test-worker-tarball.sh | 4 ++++
maint/jenkins/test-worker.sh | 4 ++++
10 files changed, 40 insertions(+), 0 deletions(-)
hooks/post-receive
--
MPICH primary repository
1
0
[mpich] MPICH primary repository branch, master, updated. v3.2rc1-11-g32de416
by noreply@mpich.org 17 Oct '15
by noreply@mpich.org 17 Oct '15
17 Oct '15
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "MPICH primary repository".
The branch, master has been updated
via 32de416540731de9f5d8e0e1a79cfc6b44d49541 (commit)
from 61dfbb3020a8cbf3792077a18dd197640147ce9c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/32de416540731de9f5d8e0e1a79cfc6b4…
commit 32de416540731de9f5d8e0e1a79cfc6b44d49541
Author: Yanfei Guo <yguo(a)anl.gov>
Date: Sat Oct 17 00:33:57 2015 -0500
maint/jenkins: fix git clean
Perform git clean on NFS.
No reviewer.
diff --git a/maint/jenkins/test-worker-tarball.sh b/maint/jenkins/test-worker-tarball.sh
index e80d85d..162b0e6 100755
--- a/maint/jenkins/test-worker-tarball.sh
+++ b/maint/jenkins/test-worker-tarball.sh
@@ -9,6 +9,9 @@ export CXX=g++
export FC=gfortran
cd $WORKSPACE
+
+git clean -x -d -f
+
TMP_WORKSPACE=$(mktemp -d /sandbox/jenkins.tmp.XXXXXXXX)
if test ! -d $WORKSPACE/build ; then
@@ -17,9 +20,6 @@ fi
cp -a $WORKSPACE/* $TMP_WORKSPACE/
pushd $TMP_WORKSPACE
-
-git clean -x -d -f
-
pushd build
../maint/release.pl --branch=master --version=master --git-repo=git://git.mpich.org/mpich.git
-----------------------------------------------------------------------
Summary of changes:
maint/jenkins/test-worker-tarball.sh | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
hooks/post-receive
--
MPICH primary repository
1
0