mirror of
				https://github.com/paboyle/Grid.git
				synced 2025-11-03 21:44:33 +00:00 
			
		
		
		
	Comms improvements
This commit is contained in:
		@@ -1 +0,0 @@
 | 
			
		||||
./configure --host=arm-linux-gnueabihf  CXX=clang++-3.5 CXXFLAGS='-std=c++11 -O3 -target arm-linux-gnueabihf -I/usr/arm-linux-gnueabihf/include/ -I/home/neo/Codes/gmp6.0/gmp-arm/include/ -I/usr/arm-linux-gnueabihf/include/c++/4.8.2/arm-linux-gnueabihf/ -L/home/neo/Codes/gmp6.0/gmp-arm/lib/ -I/home/neo/Codes/mpfr3.1.2/mpfr-arm/include/ -L/home/neo/Codes/mpfr3.1.2/mpfr-arm/lib/ -static -mcpu=cortex-a7' --enable-simd=NEONv7
 | 
			
		||||
@@ -1,3 +0,0 @@
 | 
			
		||||
#./configure --host=arm-linux-gnueabihf  CXX=clang++-3.5 CXXFLAGS='-std=c++11 -O3 -target arm-linux-gnueabihf -I/usr/arm-linux-gnueabihf/include/ -I/home/neo/Codes/gmp6.0/gmp-arm/include/ -I/usr/lib/llvm-3.5/lib/clang/3.5.0/include/ -L/home/neo/Codes/gmp6.0/gmp-arm/lib/ -I/home/neo/Codes/mpfr3.1.2/mpfr-arm/include/ -L/home/neo/Codes/mpfr3.1.2/mpfr-arm/lib/ -static -mcpu=cortex-a57' --enable-simd=NEONv7
 | 
			
		||||
 | 
			
		||||
./configure --host=aarch64-linux-gnu  CXX=clang++-3.5 CXXFLAGS='-std=c++11 -O3 -target aarch64-linux-gnu -static -I/home/neo/Codes/gmp6.0/gmp-armv8/include/ -L/home/neo/Codes/gmp6.0/gmp-armv8/lib/ -I/home/neo/Codes/mpfr3.1.2/mpfr-armv8/include/ -L/home/neo/Codes/mpfr3.1.2/mpfr-armv8/lib/ -I/usr/aarch64-linux-gnu/include/ -I/usr/aarch64-linux-gnu/include/c++/4.8.2/aarch64-linux-gnu/' --enable-simd=NEONv7
 | 
			
		||||
@@ -1,9 +0,0 @@
 | 
			
		||||
for omp in 1 2 4
 | 
			
		||||
do
 | 
			
		||||
echo > wilson.t$omp
 | 
			
		||||
for vol in 4.4.4.4 4.4.4.8 4.4.8.8  4.8.8.8  8.8.8.8   8.8.8.16 8.8.16.16  8.16.16.16
 | 
			
		||||
do   
 | 
			
		||||
perf=` ./benchmarks/Grid_wilson --grid $vol --omp $omp  | grep mflop | awk '{print $3}'`
 | 
			
		||||
echo $vol $perf >> wilson.t$omp
 | 
			
		||||
done
 | 
			
		||||
done
 | 
			
		||||
@@ -1,46 +0,0 @@
 | 
			
		||||
#!/bin/bash  -e
 | 
			
		||||
 | 
			
		||||
DIRS="clang-avx clang-avx-openmp clang-avx-openmp-mpi clang-avx-mpi clang-avx2 clang-avx2-openmp clang-avx2-openmp-mpi clang-avx2-mpi clang-sse"
 | 
			
		||||
EXTRADIRS="g++-avx g++-sse4 icpc-avx icpc-avx2 icpc-avx512"
 | 
			
		||||
BLACK="\033[30m"
 | 
			
		||||
RED="\033[31m"
 | 
			
		||||
GREEN="\033[32m"
 | 
			
		||||
YELLOW="\033[33m"
 | 
			
		||||
BLUE="\033[34m"
 | 
			
		||||
PINK="\033[35m"
 | 
			
		||||
CYAN="\033[36m"
 | 
			
		||||
WHITE="\033[37m"
 | 
			
		||||
NORMAL="\033[0;39m"
 | 
			
		||||
 | 
			
		||||
for D in $DIRS
 | 
			
		||||
do
 | 
			
		||||
 | 
			
		||||
echo
 | 
			
		||||
echo -e $RED ==============================
 | 
			
		||||
echo -e $GREEN $D
 | 
			
		||||
echo -e $RED ==============================
 | 
			
		||||
echo -e $BLUE
 | 
			
		||||
 | 
			
		||||
  cd builds/$D
 | 
			
		||||
  make clean all -j 8
 | 
			
		||||
  cd ../../
 | 
			
		||||
echo -e $NORMAL
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
if [ "X$1" == "Xextra" ]
 | 
			
		||||
then
 | 
			
		||||
for D in $EXTRADIRS
 | 
			
		||||
do
 | 
			
		||||
 | 
			
		||||
echo
 | 
			
		||||
echo -e $RED ==============================
 | 
			
		||||
echo -e $RED $D
 | 
			
		||||
echo -e $RED ==============================
 | 
			
		||||
echo -e $BLUE
 | 
			
		||||
 | 
			
		||||
  cd builds/$D
 | 
			
		||||
  make clean all -j 8
 | 
			
		||||
  cd ../../
 | 
			
		||||
echo -e $NORMAL
 | 
			
		||||
done
 | 
			
		||||
fi
 | 
			
		||||
@@ -1,11 +0,0 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
DIRS="clang-avx clang-avx-openmp clang-avx-openmp-mpi clang-avx-mpi clang-avx2 clang-avx2-openmp clang-avx2-openmp-mpi clang-avx2-mpi icpc-avx icpc-avx2 icpc-avx512 g++-sse4 g++-avx clang-sse icpc-avx-openmp-mpi icpc-avx-openmp"
 | 
			
		||||
 | 
			
		||||
for D in $DIRS
 | 
			
		||||
do
 | 
			
		||||
  mkdir -p builds/$D
 | 
			
		||||
  cd builds/$D
 | 
			
		||||
  ../../scripts/configure-commands $D
 | 
			
		||||
  cd ../..
 | 
			
		||||
done
 | 
			
		||||
@@ -1,89 +0,0 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
WD=$1
 | 
			
		||||
BLACK="\033[30m"
 | 
			
		||||
RED="\033[31m"
 | 
			
		||||
GREEN="\033[32m"
 | 
			
		||||
YELLOW="\033[33m"
 | 
			
		||||
BLUE="\033[34m"
 | 
			
		||||
PINK="\033[35m"
 | 
			
		||||
CYAN="\033[36m"
 | 
			
		||||
WHITE="\033[37m"
 | 
			
		||||
NORMAL="\033[0;39m"
 | 
			
		||||
echo
 | 
			
		||||
echo -e $RED ==============================
 | 
			
		||||
echo -e $GREEN $WD
 | 
			
		||||
echo -e $RED ==============================
 | 
			
		||||
echo -e $YELLOW
 | 
			
		||||
 | 
			
		||||
case $WD in
 | 
			
		||||
g++-avx)
 | 
			
		||||
  CXX=g++ ../../configure --enable-simd=AVX CXXFLAGS="-mavx -O3 -std=c++11" LIBS="-lgmp -lmpfr" --enable-comms=none
 | 
			
		||||
  ;;
 | 
			
		||||
g++-avx-openmp)
 | 
			
		||||
  CXX=g++ ../../configure --enable-simd=AVX CXXFLAGS="-mavx -fopenmp -O3 -std=c++11" LIBS="-fopenmp -lgmp -lmpfr" --enable-comms=none
 | 
			
		||||
  ;;
 | 
			
		||||
g++5-sse4)
 | 
			
		||||
  CXX=g++-5 ../../configure --enable-simd=SSE4 CXXFLAGS="-msse4 -O3 -std=c++11" LIBS="-lgmp -lmpfr" --enable-comms=none
 | 
			
		||||
  ;;
 | 
			
		||||
g++5-avx)
 | 
			
		||||
  CXX=g++-5 ../../configure --enable-simd=AVX CXXFLAGS="-mavx -O3 -std=c++11" LIBS="-lgmp -lmpfr" --enable-comms=none
 | 
			
		||||
  ;;
 | 
			
		||||
icpc-avx)
 | 
			
		||||
  CXX=icpc ../../configure --enable-simd=AVX CXXFLAGS="-mavx -O3 -std=c++11" LIBS="-lgmp -lmpfr" --enable-comms=none
 | 
			
		||||
  ;;
 | 
			
		||||
icpc-avx-openmp-mpi)
 | 
			
		||||
CXX=icpc ../../configure --enable-simd=AVX CXXFLAGS="-mavx -fopenmp -O3 -I/opt/local/include/openmpi-mp/ -std=c++11" LDFLAGS=-L/opt/local/lib/openmpi-mp/ LIBS="-lmpi -lmpi_cxx -fopenmp -lgmp -lmpfr" --enable-comms=mpi
 | 
			
		||||
;;
 | 
			
		||||
icpc-avx-openmp)
 | 
			
		||||
CXX=icpc ../../configure --enable-precision=single --enable-simd=AVX CXXFLAGS="-mavx -fopenmp -O3 -std=c++11" LIBS="-fopenmp -lgmp -lmpfr" --enable-comms=mpi
 | 
			
		||||
;;
 | 
			
		||||
icpc-avx2)
 | 
			
		||||
  CXX=icpc ../../configure --enable-simd=AVX2 CXXFLAGS="-march=core-avx2 -O3 -std=c++11" LIBS="-lgmp -lmpfr" --enable-comms=none
 | 
			
		||||
  ;;
 | 
			
		||||
icpc-avx512)
 | 
			
		||||
  CXX=icpc ../../configure --enable-simd=AVX512 CXXFLAGS="-xCOMMON-AVX512 -O3  -std=c++11" --host=none  LIBS="-lgmp -lmpfr" --enable-comms=none
 | 
			
		||||
  ;;
 | 
			
		||||
icpc-mic)
 | 
			
		||||
  CXX=icpc ../../configure --host=none --enable-simd=IMCI CXXFLAGS="-mmic -O3  -std=c++11" LDFLAGS=-mmic LIBS="-lgmp -lmpfr" --enable-comms=none
 | 
			
		||||
  ;;
 | 
			
		||||
icpc-mic-avx512)
 | 
			
		||||
  CXX=icpc ../../configure --host=none --enable-simd=IMCI CXXFLAGS="-xCOMMON_AVX512 -O3  -std=c++11" LDFLAGS=-xCOMMON_AVX512 LIBS="-lgmp -lmpfr" --enable-comms=none
 | 
			
		||||
  ;;
 | 
			
		||||
clang-sse)
 | 
			
		||||
CXX=clang++ ../../configure --enable-precision=single --enable-simd=SSE4 CXXFLAGS="-msse4 -O3 -std=c++11"  LIBS="-lgmp -lmpfr" --enable-comms=none
 | 
			
		||||
  ;;
 | 
			
		||||
clang-avx)
 | 
			
		||||
CXX=clang++ ../../configure --enable-simd=AVX CXXFLAGS="-mavx -O3 -std=c++11"  LIBS="-lgmp -lmpfr" --enable-comms=none
 | 
			
		||||
  ;;
 | 
			
		||||
clang-avx2)
 | 
			
		||||
CXX=clang++ ../../configure --enable-simd=AVX2 CXXFLAGS="-mavx2 -mfma -O3 -std=c++11"  LIBS="-lgmp -lmpfr" --enable-comms=none
 | 
			
		||||
  ;;
 | 
			
		||||
clang-avx-openmp)
 | 
			
		||||
CXX=clang-omp++ ../../configure --enable-precision=double --enable-simd=AVX CXXFLAGS="-mavx -fopenmp -O3 -std=c++11" LDFLAGS="-fopenmp"  LIBS="-lgmp -lmpfr" --enable-comms=none
 | 
			
		||||
  ;;
 | 
			
		||||
clang-xc30)
 | 
			
		||||
CXX=$HOME/Clang/install/bin/clang++ ../../configure --enable-simd=AVX CXXFLAGS="-mavx -O3 -std=c++11 -I/opt/gcc/4.9.2/snos/include/g++/x86_64-suse-linux/ -I/opt/gcc/4.9.2/snos/include/g++/ " LDFLAGS=""  LIBS="-lgmp -lmpfr" --enable-comms=none
 | 
			
		||||
  ;;
 | 
			
		||||
clang-xc30-openmp)
 | 
			
		||||
CXX=$HOME/Clang/install/bin/clang++ ../../configure --enable-simd=AVX CXXFLAGS="-mavx -fopenmp -O3 -std=c++11 -I/opt/gcc/4.9.2/snos/include/g++/x86_64-suse-linux/ -I/opt/gcc/4.9.2/snos/include/g++/ " LDFLAGS="-fopenmp"  LIBS="-lgmp -lmpfr" --enable-comms=none
 | 
			
		||||
  ;;
 | 
			
		||||
clang-avx2-openmp)
 | 
			
		||||
CXX=clang-omp++ ../../configure --enable-simd=AVX2 CXXFLAGS="-mavx2 -mfma -fopenmp -O3 -std=c++11" LDFLAGS="-fopenmp"  LIBS="-lgmp -lmpfr" --enable-comms=none
 | 
			
		||||
  ;;
 | 
			
		||||
clang-avx-openmp-mpi)
 | 
			
		||||
CXX=clang-omp++ ../../configure --enable-simd=AVX CXXFLAGS="-mavx -fopenmp -O3 -I/opt/local/include/openmpi-mp/ -std=c++11" LDFLAGS=-L/opt/local/lib/openmpi-mp/ LIBS="-lmpi -lmpi_cxx -fopenmp -lgmp -lmpfr" --enable-comms=mpi
 | 
			
		||||
;;
 | 
			
		||||
clang-avx2-openmp-mpi)
 | 
			
		||||
CXX=clang-omp++ ../../configure --enable-simd=AVX2 CXXFLAGS="-mavx2 -mfma -fopenmp -O3 -I/opt/local/include/openmpi-mp/ -std=c++11" LDFLAGS=-L/opt/local/lib/openmpi-mp/ LIBS="-lmpi -lmpi_cxx -fopenmp -lgmp -lmpfr" --enable-comms=mpi
 | 
			
		||||
;;
 | 
			
		||||
clang-avx-mpi)
 | 
			
		||||
CXX=clang++ ../../configure --enable-simd=AVX CXXFLAGS="-mavx -O3 -I/opt/local/include/openmpi-mp/ -std=c++11" LDFLAGS=-L/opt/local/lib/openmpi-mp/ LIBS="-lmpi -lmpi_cxx -lgmp -lmpfr" --enable-comms=mpi
 | 
			
		||||
;;
 | 
			
		||||
clang-avx2-mpi)
 | 
			
		||||
CXX=clang++ ../../configure --enable-simd=AVX2 CXXFLAGS="-mavx2 -mfma -O3 -I/opt/local/include/openmpi-mp/ -std=c++11" LDFLAGS=-L/opt/local/lib/openmpi-mp/ LIBS="-lmpi -lmpi_cxx -lgmp -lmpfr" --enable-comms=mpi
 | 
			
		||||
;;
 | 
			
		||||
clang-avx2)
 | 
			
		||||
CXX=clang++ ../../configure --enable-simd=AVX2 CXXFLAGS="-mavx2 -mfma -O3 -std=c++11" LDFLAGS="-L/usr/local/lib/" LIBS="-lgmp -lmpfr" --enable-comms=none
 | 
			
		||||
;;
 | 
			
		||||
esac
 | 
			
		||||
echo -e $NORMAL
 | 
			
		||||
@@ -1,10 +0,0 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
DIRS="g++-avx-openmp g++-avx clang-xc30 clang-xc30-openmp"
 | 
			
		||||
 | 
			
		||||
for D in $DIRS
 | 
			
		||||
do
 | 
			
		||||
  mkdir -p builds/$D
 | 
			
		||||
  cd builds/$D
 | 
			
		||||
  ../../scripts/configure-commands $D
 | 
			
		||||
  cd ../..
 | 
			
		||||
done
 | 
			
		||||
@@ -1,10 +0,0 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
DIRS="build-icpc-mic"
 | 
			
		||||
 | 
			
		||||
for D in $DIRS
 | 
			
		||||
do
 | 
			
		||||
  mkdir -p $D
 | 
			
		||||
 cd $D
 | 
			
		||||
  ../configure-commands
 | 
			
		||||
  cd ..
 | 
			
		||||
done
 | 
			
		||||
@@ -12,6 +12,7 @@ Grid physics library, www.github.com/paboyle/Grid
 | 
			
		||||
Source file: $1
 | 
			
		||||
 | 
			
		||||
Copyright (C) 2015
 | 
			
		||||
Copyright (C) 2016
 | 
			
		||||
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
@@ -38,8 +39,21 @@ See the full license in the file "LICENSE" in the top level distribution directo
 | 
			
		||||
/*  END LEGAL */
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
cat message > tmp.fil
 | 
			
		||||
cat $1 >> tmp.fil
 | 
			
		||||
 | 
			
		||||
NOTICE=`grep -n "END LEGAL" $1 | awk '{ print $1 }'  `
 | 
			
		||||
 | 
			
		||||
if [ "X$NOTICE" != "X" ]
 | 
			
		||||
then
 | 
			
		||||
    echo "found notice ending on line $NOTICE"
 | 
			
		||||
    awk 'BEGIN { P=0 } { if ( P ) print } /END LEGAL/{P=1} ' $1 >> tmp.fil
 | 
			
		||||
else
 | 
			
		||||
    cat $1 >> tmp.fil
 | 
			
		||||
      
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
cp tmp.fil $1
 | 
			
		||||
 | 
			
		||||
shift
 | 
			
		||||
 
 | 
			
		||||
@@ -1,2 +0,0 @@
 | 
			
		||||
module swap PrgEnv-cray PrgEnv-intel
 | 
			
		||||
module swap intel/14.0.4.211 intel/15.0.2.164
 | 
			
		||||
@@ -1,4 +0,0 @@
 | 
			
		||||
aclocal -I m4
 | 
			
		||||
autoheader -f
 | 
			
		||||
automake -f --add-missing
 | 
			
		||||
autoconf -f
 | 
			
		||||
@@ -1,18 +0,0 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
if (( $# != 1 )); then
 | 
			
		||||
    echo "usage: `basename $0` <archive>" 1>&2
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
ARC=$1
 | 
			
		||||
 | 
			
		||||
INITDIR=`pwd`
 | 
			
		||||
rm -rf lib/fftw
 | 
			
		||||
mkdir lib/fftw
 | 
			
		||||
 | 
			
		||||
ARCDIR=`tar -tf ${ARC} | head -n1 | sed -e 's@/.*@@'`
 | 
			
		||||
tar -xf ${ARC}
 | 
			
		||||
cp ${ARCDIR}/api/fftw3.h lib/fftw/
 | 
			
		||||
 | 
			
		||||
cd ${INITDIR}
 | 
			
		||||
rm -rf ${ARCDIR}
 | 
			
		||||
@@ -1,7 +0,0 @@
 | 
			
		||||
plot 'wilson.t1' u 2 w l t "AVX1-OMP=1"
 | 
			
		||||
replot 'wilson.t2' u 2 w l t "AVX1-OMP=2"
 | 
			
		||||
replot 'wilson.t4' u 2 w l t "AVX1-OMP=4"
 | 
			
		||||
set terminal 'pdf'
 | 
			
		||||
set output 'wilson_clang.pdf'
 | 
			
		||||
replot
 | 
			
		||||
quit
 | 
			
		||||
		Reference in New Issue
	
	Block a user