Commit ad0e231f authored by incardon's avatar incardon
Browse files

Merging with master

parents 673b27f2 5fd5804b
......@@ -9,16 +9,16 @@ parallel (
checkout scm
stage ('build_nyu')
{
sh "./build.sh $WORKSPACE $NODE_NAME pdata"
sh "./build.sh $WORKSPACE $NODE_NAME pdata 0 $BRANCH_NAME }"
}
stage ('run_nyu')
{
parallel (
"1" : {sh "./run.sh $WORKSPACE $NODE_NAME 1"},
"2" : {sh "./run.sh $WORKSPACE $NODE_NAME 2"},
"3" : {sh "./run.sh $WORKSPACE $NODE_NAME 3"})
sh "./run.sh $WORKSPACE $NODE_NAME 5"
"1" : {sh "./run.sh $WORKSPACE $NODE_NAME 1 0 0 $BRANCH_NAME"},
"2" : {sh "./run.sh $WORKSPACE $NODE_NAME 2 0 0 $BRANCH_NAME"},
"3" : {sh "./run.sh $WORKSPACE $NODE_NAME 3 0 0 $BRANCH_NAME"})
sh "./run.sh $WORKSPACE $NODE_NAME 5 0 0 $BRANCH_NAME"
sh "./success.sh 2 nyu opefpm_pdata"
}
}
......@@ -34,20 +34,20 @@ parallel (
checkout scm
stage ('build_sb15')
{
sh "./build.sh $WORKSPACE $NODE_NAME pdata"
sh "./build.sh $WORKSPACE $NODE_NAME pdata 0 $BRANCH_NAME"
}
stage ('run_sb15')
{
parallel (
"1" : {sh "./run.sh $WORKSPACE $NODE_NAME 1"},
"2" : {sh "./run.sh $WORKSPACE $NODE_NAME 2"},
"3" : {sh "./run.sh $WORKSPACE $NODE_NAME 3"}
"1" : {sh "./run.sh $WORKSPACE $NODE_NAME 1 0 0 $BRANCH_NAME"},
"2" : {sh "./run.sh $WORKSPACE $NODE_NAME 2 0 0 $BRANCH_NAME"},
"3" : {sh "./run.sh $WORKSPACE $NODE_NAME 3 0 0 $BRANCH_NAME"}
)
sh "./run.sh $WORKSPACE $NODE_NAME 4"
sh "./run.sh $WORKSPACE $NODE_NAME 5"
sh "./run.sh $WORKSPACE $NODE_NAME 6"
sh "./run.sh $WORKSPACE $NODE_NAME 7"
sh "./run.sh $WORKSPACE $NODE_NAME 4 0 0 $BRANCH_NAME"
sh "./run.sh $WORKSPACE $NODE_NAME 5 0 0 $BRANCH_NAME"
sh "./run.sh $WORKSPACE $NODE_NAME 6 0 0 $BRANCH_NAME"
sh "./run.sh $WORKSPACE $NODE_NAME 7 0 0 $BRANCH_NAME"
sh "./success.sh 2 sbalzarini-mac-15 opefpm_pdata"
}
}
......@@ -61,16 +61,16 @@ parallel (
checkout scm
stage ('build_gin')
{
sh "./build.sh $WORKSPACE $NODE_NAME pdata"
sh "./build.sh $WORKSPACE $NODE_NAME pdata 0 $BRANCH_NAME"
}
stage ('run_gin')
{
parallel (
"p1" : {sh "./run.sh $WORKSPACE $NODE_NAME 1"},
"p2" : {sh "./run.sh $WORKSPACE $NODE_NAME 2"},
"p3" : {sh "./run.sh $WORKSPACE $NODE_NAME 3"},
"p4" : {sh "./run.sh $WORKSPACE $NODE_NAME 5"}
"p1" : {sh "./run.sh $WORKSPACE $NODE_NAME 1 0 0 $BRANCH_NAME"},
"p2" : {sh "./run.sh $WORKSPACE $NODE_NAME 2 0 0 $BRANCH_NAME"},
"p3" : {sh "./run.sh $WORKSPACE $NODE_NAME 3 0 0 $BRANCH_NAME"},
"p4" : {sh "./run.sh $WORKSPACE $NODE_NAME 5 0 0 $BRANCH_NAME"}
)
sh "./success.sh 2 gin opefpm_pdata"
}
......
......@@ -4,70 +4,64 @@
echo "Directory: $1"
echo "Machine: $2"
echo "Branch name: $5"
mkdir src/config
git submodule init
if [ $? -ne 0 ]; then
echo -e "Configure\033[91;5;1m FAILED \033[0m"
exit 1
fi
#### If you have a dep_dir file change the branch name to the dep_dir
git submodule update
if [ $? -ne 0 ]; then
echo -e "Configure\033[91;5;1m FAILED \033[0m"
exit 1
dep_dir=$(cat dep_dir)
if [ x"$dep_dir" != x"" ]; then
set -- "${@:1:4}" "$dep_dir"
fi
mkdir src/config
mkdir openfpm_numerics/src/config
if [ "$2" == "gin" ]
then
echo "Compiling on gin\n"
source ~/.bashrc
module load gcc/4.9.2
## Check if MPI folder exist if not copy MPICH
if [ ! -d $HOME/$5/MPI ]; then
echo "COPY MPICH"
cp -R $HOME/MPI $HOME/$5/MPI
echo 1 > $HOME/$5/MPI/version
fi
### Activate MPI and binutils ###
export PATH="$PATH:$HOME/$5/MPI/bin"
export PATH="/usr/local/binutils/bin/:$PATH"
mkdir $HOME/$5
if [ x"$4" == x"full" ]; then
./install -s -c "--prefix=/home/jenkins/openfpm_install"
CC=gcc-4.9.2 CXX=g++-4.9.2 FC=gfortran-4.9.2 F77=gfortran-4.9.2 ./install -i $HOME/$5 -s -c "--prefix=/home/jenkins/openfpm_install"
mv $HOME/openfpm_vars $HOME/openfpm_vars_$5
source $HOME/openfpm_vars_$5
elif [ x"$3" == x"numerics" ]; then
./install -m -s -c "--prefix=/home/jenkins/openfpm_install"
CC=gcc-4.9.2 CXX=g++-4.9.2 FC=gfortran-4.9.2 F77=gfortran-4.9.2 ./install -i $HOME/$5 -m -s -c "--prefix=/home/jenkins/openfpm_install"
mv $HOME/openfpm_vars $HOME/openfpm_vars_$5
source $HOME/openfpm_vars_$5
make $3
else
./install -m -s -c "--prefix=/home/jenkins/openfpm_install --no-recursion"
CC=gcc-4.9.2 CXX=g++-4.9.2 FC=gfortran-4.9.2 F77=gfortran-4.9.2 ./install -i $HOME/$5 -m -s -c "--prefix=/home/jenkins/openfpm_install --no-recursion"
mv $HOME/openfpm_vars $HOME/openfpm_vars_$5
source $HOME/openfpm_vars_$5
make $3
fi
if [ $? -ne 0 ]; then
curl -X POST --data "payload={\"icon_emoji\": \":jenkins:\", \"username\": \"jenkins\" , \"attachments\":[{ \"title\":\"Error:\", \"color\": \"#FF0000\", \"text\":\"$2 failed to complete the openfpm_pdata test \" }] }" https://hooks.slack.com/services/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
exit 1 ;
fi
source $HOME/openfpm_vars
if [ $? -ne 0 ]; then
curl -X POST --data "payload={\"icon_emoji\": \":jenkins:\", \"username\": \"jenkins\" , \"attachments\":[{ \"title\":\"Error:\", \"color\": \"#FF0000\", \"text\":\"$2 failed to complete the openfpm_pdata test \" }] }" https://hooks.slack.com/services/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
exit 1 ;
fi
elif [ "$2" == "wetcluster" ]
then
echo "Compiling on wetcluster"
## produce the module path
source ~/.bashrc
module load gcc/4.9.2
module load openmpi/1.8.1
module load boost/1.54.0
sh ./autogen.sh
./install -m -s -c "--with-boost=/sw/apps/boost/1.54.0/ CXX=mpic++ --no-recursion"
make $3
if [ $? -ne 0 ]; then
curl -X POST --data "payload={\"icon_emoji\": \":jenkins:\", \"username\": \"jenkins\" , \"attachments\":[{ \"title\":\"Error:\", \"color\": \"#FF0000\", \"text\":\"$2 failed to complete the openfpm_pdata test \" }] }" https://hooks.slack.com/services/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
exit 1 ;
fi
elif [ "$2" == "taurus" ]
then
echo "Compiling on taurus"
......@@ -83,10 +77,12 @@ then
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/incard/PARMETIS/lib:/home/incard/METIS/lib:/home/incard/HDF5/lib"
./install -m -i "/scratch/p_ppm/" -s -c"CXX=mpic++ --no-recursion"
mkdir /scratch/p_ppm/$5
./install -m -i "/scratch/p_ppm/$5" -s -c"CXX=mpic++ --no-recursion"
mv $HOME/openfpm_vars $HOME/openfpm_vars_$5
source $HOME/openfpm_vars_$5
make $3
source $HOME/openfpm_vars
if [ $? -ne 0 ]; then
curl -X POST --data "payload={\"icon_emoji\": \":jenkins:\", \"username\": \"jenkins\" , \"attachments\":[{ \"title\":\"Error:\", \"color\": \"#FF0000\", \"text\":\"$2 failed to complete the openfpm_pdata test \" }] }" https://hooks.slack.com/services/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
......@@ -96,13 +92,20 @@ else
echo "Compiling general"
source ~/.bashrc
mkdir $HOME/$5
if [ x"$4" == x"full" ]; then
./install -s -c "--prefix=/Users/jenkins/openfpm_install"
./install -i $HOME/$5 -s -c "--prefix=/Users/jenkins/openfpm_install"
mv $HOME/openfpm_vars $HOME/openfpm_vars_$5
source $HOME/openfpm_vars_$5
elif [ x"$3" == x"numerics" ]; then
./install -m -s -c "--prefix=/home/jenkins/openfpm_install"
./install -i $HOME/$5 -m -s -c "--prefix=/home/jenkins/openfpm_install"
mv $HOME/openfpm_vars $HOME/openfpm_vars_$5
source $HOME/openfpm_vars_$5
make $3
else
./install -m -s -c "--prefix=/Users/jenkins/openfpm_install --no-recursion"
./install -i $HOME/$5 -m -s -c "--prefix=/Users/jenkins/openfpm_install --no-recursion"
mv $HOME/openfpm_vars $HOME/openfpm_vars_$5
source $HOME/openfpm_vars_$5
make $3
fi
......
......@@ -27,7 +27,8 @@ then
echo "Compiling on gin\n"
source ~/.bashrc
module load gcc/4.9.2
./install -s -c "--prefix=/home/jenkins/openfpm_install"
mkdir $HOME/$4
./install -i $HOME/$4 -s -c "--prefix=/home/jenkins/openfpm_install"
make
if [ $? -ne 0 ]; then
curl -X POST --data "payload={\"icon_emoji\": \":jenkins:\", \"username\": \"jenkins\" , \"attachments\":[{ \"title\":\"Error:\", \"color\": \"#FF0000\", \"text\":\"$2 failed to complete the openfpm_pdata test \" }] }" https://hooks.slack.com/services/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
......@@ -200,7 +201,8 @@ then
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/incard/PARMETIS/lib:/home/incard/METIS/lib:/home/incard/HDF5/lib"
./install -i "/scratch/p_ppm/" -s -c"CXX=mpic++"
mkdir "/scratch/p_ppm/$4"
./install -i "/scratch/p_ppm/$4" -s -c"CXX=mpic++"
make
source $HOME/openfpm_vars
......@@ -242,7 +244,8 @@ then
else
echo "Compiling general"
source ~/.bashrc
./install -s
mkdir $HOME/$4
./install -i $HOME/$4 -s
make
if [ $? -ne 0 ]; then
......@@ -264,7 +267,7 @@ else
mpirun -np 2 ./src/pdata
if [ $? -ne 0 ]; then
curl -X POST --data "payload={\"icon_emoji\": \":jenkins:\", \"username\": \"jenkins\" , \"attachments\":[{ \"title\":\"Error:\", \"color\": \"#FF0000\", \"text\":\"$2 failed to complete the openfpm_pdata test \" }] }" https://hooks.slack.com/services/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
exit 1 ;
exit 1 ;
fi
mpirun -np 3 ./src/pdata
if [ $? -ne 0 ]; then
......
#! /bin/bash
# Make a directory in /tmp/OpenFPM_pdata
echo "Directory: $1"
echo "Machine: $2"
mkdir src/config
if [ "$2" == "windows10" ]; then
echo "Compiling on windows10"
echo "1" > input_install
echo "1" >> input_install
echo "1" >> input_install
echo "2" >> input_install
echo "y" >> input_install
./install -i "/scratch/p_ppm/openfpm_deps_intel" < input_install
fi
......@@ -13,9 +13,10 @@ source script/update_openfpm
b_switch=$(cat switch_branch)
if [ x"$b_switch" != x"" ]; then
git checkout $b_switch
echo -e "Please relaunch ./install ..."
exit 0
git checkout $b_switch
rm switch_branch
./install "$@"
exit 0
fi
## Check that your home is not empty
......@@ -85,6 +86,8 @@ if [ x"$i_dir" == x"" ]; then
i_dir="$HOME"
fi
## Check and try to install the prerequisites
if [ $update_openfpm -eq 1 -a $upgrade_openfpm -eq 1 ]; then
echo -e "\033[1;5;31m It is not possible to update and upgrade at the same time \033[0m"
......@@ -102,9 +105,11 @@ if [ $upgrade_openfpm -eq 1 ]; then
fi
remove_old $i_dir
## Check and try to install the prerequisites
pre_req
pre_req
## clone the dependencies
......@@ -120,6 +125,12 @@ if [ $? -ne 0 ]; then
exit 1
fi
#### Eventualy remove garbage from old installation
rm -rf openfpm_numerics/src/.deps
rm -rf src/.deps
# Create config directory in each submodule
cd openfpm_data
......@@ -204,7 +215,7 @@ if [ ! -d "$i_dir/PETSC" -o ! -d "$i_dir/EIGEN" ]; then
if [ $sq -eq 0 ]; then
read inst_lin_alg
else
inst_lin_alg = n
inst_lin_alg="y"
fi
fi
......
......@@ -4,6 +4,7 @@
echo "Directory: $1"
echo "Machine: $2"
echo "Branch: $6"
if [ "$2" == "gin" ]
then
......@@ -14,7 +15,7 @@ then
exit 1 ;
fi
source $HOME/openfpm_vars
source $HOME/openfpm_vars_$6
if [ x"$3" == x"no_test" ]; then
exit 0;
......@@ -26,25 +27,6 @@ then
exit 1 ;
fi
elif [ "$2" == "wetcluster" ]
then
echo "Compiling on wetcluster"
## produce the module path
source ~/.bashrc
module load gcc/4.9.2
module load openmpi/1.8.1
module load boost/1.54.0
source $HOME/openfpm_vars
## Run on the cluster
bsub -o output_run$3.%J -K -n 2 -R "span[hosts=$4]" "module load openmpi/1.8.1 ; module load gcc/4.9.2; module load boost/1.54.0; mpirun -np $3 ./src/pdata"
if [ $? -ne 0 ]; then
curl -X POST --data "payload={\"icon_emoji\": \":jenkins:\", \"username\": \"jenkins\" , \"attachments\":[{ \"title\":\"Error:\", \"color\": \"#FF0000\", \"text\":\"$2 failed to complete the openfpm_pdata test \" }] }" https://hooks.slack.com/services/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
exit 1 ;
fi
elif [ "$2" == "taurus" ]
then
......@@ -59,7 +41,7 @@ then
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/incard/PARMETIS/lib:/home/incard/METIS/lib:/home/incard/HDF5/lib"
source $HOME/openfpm_vars
source $HOME/openfpm_vars_$6
salloc --nodes=$4 --ntasks-per-node=$5 --time=00:15:00 --mem-per-cpu=1900 --partition=haswell bash -c "ulimit -s unlimited && mpirun -np $3 src/pdata --report_level=no"
if [ $? -ne 0 ]; then
......@@ -74,7 +56,7 @@ else
exit 0;
fi
source $HOME/openfpm_vars
source $HOME/openfpm_vars_$6
mpirun -np $3 ./src/pdata
if [ $? -ne 0 ]; then
......
......@@ -23,6 +23,46 @@ function detect_compiler()
dgc_ret=0
if [ x"$CXX" != x"" -o x"$CC" != x"" -o x"$F77" != x"" -o x"$FC" != x"" ]; then
if [ x"$CXX" == x"" ]; then
CXX=g++
fi
if [ x"$CC" == x"" ]; then
CC=gcc
fi
if [ x"$FC" == x"" ]; then
FC=gfortran
fi
if [ x"$F77" == x"" ]; then
F77=gfortran
fi
echo -e "\033[1;34;5m ---------------------------------------------------------------------- \033[0m"
echo -e "\033[1;34;5m Selected compilers \033[0m"
echo -e "\033[1;34;5m ---------------------------------------------------------------------- \033[0m"
echo -e "\033[91;1m The user request to use specifics compilers to compile C/C++ or Fortran code \033[0m"
echo -e "\033[91;1m specifing one or more of these variables CXX/CC/F77/FC. When at least one is \033[0m"
echo -e "\033[91;1m defined the specified compiler will be used. \033[0m"
echo -e "\033[91;1m When not specified the system will use the default g++/gcc/gfortran/gfortran \033[0m"
echo -e "\033[91;1m The installer will use the following compilers \033[0m"
echo -e ""
echo -e "CXX=$CXX"
echo -e "CC=$CC"
echo -e "F77=$F77"
echo -e "FC=$FC"
dgc_ret=1
dgc_compiler=$CXX
return
fi
# First we try to understand if g++ command line is linked to clang
g++ --version | grep "Apple LLVM"
......
......@@ -7,15 +7,27 @@ if [ -d "$1/OPENBLAS" ]; then
exit 0
fi
wget http://ppmcore.mpi-cbg.de/upload/OpenBLAS-0.2.15.tar.gz
rm -rf OpenBLAS-0.2.15
tar -xf OpenBLAS-0.2.15.tar.gz
cd OpenBLAS-0.2.15
wget http://ppmcore.mpi-cbg.de/upload/OpenBLAS-0.2.19.tar.gz
rm -rf OpenBLAS-0.2.19
tar -xf OpenBLAS-0.2.19.tar.gz
cd OpenBLAS-0.2.19
wget http://ppmcore.mpi-cbg.de/upload/openblas.diff
patch -p1 < openblas.diff
# configuration
make CC=gcc CXX=g++
mkdir $1/OPENBLAS
make install PREFIX=$1/OPENBLAS
rm -rf OpenBLAS-0.2.15
# if empty remove the folder
if [ ! "$(ls -A $1/OPENBLAS)" ]; then
rm -rf $1/OPENBLAS
else
rm -rf OpenBLAS-0.2.19
echo 1 > $1/OPENBLAS/version
exit 0
fi
......@@ -212,6 +212,7 @@ if [ x"$CXX" != x"icpc" ]; then
fi
else
echo "MUMPS already installed"
MUMPS_extra_lib="$1/MUMPS/lib/libdmumps.a $1/MUMPS/lib/libmumps_common.a $1/MUMPS/lib/libpord.a -pthread "
configure_options="$configure_options --with-mumps=yes --with-mumps-include=$1/MUMPS/include"
......@@ -351,6 +352,7 @@ cd petsc-3.7.6
echo "./configure COPTFLAGS="-O3 -g" CXXOPTFLAGS="-O3 -g" FOPTFLAGS="-O3 -g" $ldflags_petsc --with-cxx-dialect=C++11 $petsc_openmp --with-mpi-dir=$mpi_dir $configure_options --with-mumps-lib="$MUMPS_extra_lib" --prefix=$1/PETSC --with-debugging=0"
<<<<<<< HEAD
python_command=python
# if python2 exist use python2
command -v python2 >/dev/null
......@@ -359,6 +361,11 @@ if [ $? -eq 0 ]; then
fi
$python_command configure COPTFLAGS="-O3 -g" CXXOPTFLAGS="-O3 -g" FOPTFLAGS="-O3 -g" $ldflags_petsc --with-cxx-dialect=C++11 $petsc_openmp --with-mpi-dir=$mpi_dir $configure_options --with-mumps-lib="$MUMPS_extra_lib" --prefix=$1/PETSC --with-debugging=0
=======
echo "./configure --with-cxx-dialect=C++11 $petsc_openmp --with-mpi-dir=$mpi_dir $configure_options --with-mumps-lib="$MUMPS_extra_lib" --prefix=$1/PETSC --with-debugging=0"
./configure --with-cxx-dialect=C++11 $petsc_openmp --with-mpi-dir=$mpi_dir $configure_options --with-mumps-lib="$MUMPS_extra_lib" --prefix=$1/PETSC --with-debugging=0
>>>>>>> master
make all test
make install
......
......@@ -214,6 +214,25 @@ function remove_old()
fi
fi
if [ -d $1/OPENBLAS ]; then
version=$(cat $1/OPENBLAS/version)
if [ x"$version" != x"1" ]; then
echo -e "\033[1;34;5m ---------------------------------------------------------------------- \033[0m"
echo -e "\033[1;34;5m OPENBLAS has been updated, the component will be updated automatically \033[0m"
echo -e "\033[1;34;5m ---------------------------------------------------------------------- \033[0m"
sleep 5
rm -rf $1/OPENBLAS
rm -rf $1/EIGEN
rm -rf $1/PETSC
rm -rf $1/SUITESPARSE
rm -rf $1/SCALAPACK
rm -rf $1/SUPERLU_DIST
rm -rf $1/TRILINOS
rm -rf $1/HYPRE
fi
fi
}
......@@ -70,6 +70,7 @@ function update_openfpm()
echo -e "To make the update active do: \033[1m make install \033[0m"
fi
else
#### Remove .deps for fresh install
./install $dir_prev_inst $for_opt
if [ $? -ne 0 ]; then
echo -e "Upgrade summary\033[91;5;1m FAILED \033[0m"
......
LINKLIBS = $(HDF5_LDFLAGS) $(HDF5_LIBS) $(OPENMP_LDFLAGS) $(LIBHILBERT_LIB) $(METIS_LIB) $(PTHREAD_LIBS) $(OPT_LIBS) $(BOOST_LDFLAGS) $(BOOST_IOSTREAMS_LIB) $(CUDA_LIBS) $(PETSC_LIB) $(PARMETIS_LIB) $(BOOST_UNIT_TEST_FRAMEWORK_LIB) $(BOOST_CHRONO_LIB) $(BOOST_TIMER_LIB) $(BOOST_SYSTEM_LIB) $(LIBIFCORE)
LINKLIBS = $(HDF5_LDFLAGS) $(HDF5_LIBS) $(OPENMP_LDFLAGS) $(LIBHILBERT_LIB) $(METIS_LIB) $(PTHREAD_LIBS) $(OPT_LIBS) $(BOOST_LDFLAGS) $(BOOST_IOSTREAMS_LIB) $(CUDA_LIBS) $(PETSC_LIB) $(PARMETIS_LIB) $(BOOST_UNIT_TEST_FRAMEWORK_LIB) $(BOOST_CHRONO_LIB) $(BOOST_TIMER_LIB) $(BOOST_SYSTEM_LIB) $(LIBIFCORE)
noinst_PROGRAMS = pdata
pdata_SOURCES = main.cpp pdata_performance.cpp Grid/grid_dist_id_unit_test.cpp lib/pdata.cpp test_multiple_o.cpp ../openfpm_devices/src/memory/HeapMemory.cpp ../openfpm_devices/src/memory/PtrMemory.cpp ../openfpm_vcluster/src/VCluster/VCluster.cpp ../openfpm_devices/src/Memleak_check.cpp
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment