Commit 6fbff0e0 authored by COULAUD Olivier's avatar COULAUD Olivier

Add features

parent 033d7e94
......@@ -117,8 +117,8 @@ if (MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_SOURCE_DIR}/CMakeModules/morse/")
IF (APPLE)
set(SSE_FLAGS "-msse4 -mfpmath=sse") # -mtune=native -march=native
else(APPLE)
set(AVX_FLAGS "-mavx")
set(AVX2_FLAGS "-march=core-avx2")
set(AVX_FLAGS "-march=native -axCORE-AVX2,CORE-AVX-I,AVX") #-mavx
set(AVX2_FLAGS "-march=native -axCORE-AVX2,CORE-AVX-I") #-march=core-avx2
set(SSE_FLAGS "-axSSE4.2 -march=native")
endif(APPLE)
#-Wshadow -Wpointer-arith -Wcast-qual -Wconversion -Wall -Wnosign-conversion ")
......@@ -189,7 +189,7 @@ if (MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_SOURCE_DIR}/CMakeModules/morse/")
# if compiler is intel add -ip
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
set(SCALFMM_CXX_FLAGS "${SCALFMM_CXX_FLAGS} -ip -no-prec-div -no-prec-sqrt")
set(SCALFMM_CXX_FLAGS "${SCALFMM_CXX_FLAGS} -ipo -fstrict-aliasing ")# -no-prec-div -no-prec-sqrt")
endif()
# Compile optimization
if(APPLE)
......@@ -627,13 +627,14 @@ if (MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_SOURCE_DIR}/CMakeModules/morse/")
If(SCALFMM_USE_EZTRACE)
find_package (PkgConfig)
if(PKG_CONFIG_FOUND)
MESSAGE(WARNING "PKG-CONFIG found")
set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH "ON")
pkg_search_module( EZTrace REQUIRED eztrace)
link_directories(${EZTrace_LIBRARY_DIRS})
link_libraries( ${EZTrace_LIBRARIES} -leztrace-memory)
include_directories(${EZTrace_INCLUDE_DIRS})
MESSAGE(WARNING "EZTRACE: ${EZTrace_INCLUDE_DIRS} ${EZTrace_LIBRARY_DIRS} ${EZTrace_LIBRARIES}")
MESSAGE(STATUS "EZTRACE: ${EZTrace_INCLUDE_DIRS} ${EZTrace_LIBRARY_DIRS} ${EZTrace_LIBRARIES}")
CMAKE_DEPENDENT_OPTION(SCALFMM_TRACE_M2L "Set to ON to trace M2L operator" ON "SCALFMM_USE_EZTRACE" OFF )
else(PKG_CONFIG_FOUND)
MESSAGE(WARNING "PKG-CONFIG not found- EZTRACE Is set to NONE")
set(SCALFMM_USE_EZTRACE OFF)
......
......@@ -85,6 +85,7 @@
///////////////////////////////////////////////////////
#cmakedefine SCALFMM_USE_EZTRACE
#cmakedefine SCALFMM_TRACE_M2L
///////////////////////////////////////////////////////
......
......@@ -8,10 +8,11 @@
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=24
#
w
#
# Task algorithm Improvement
#
METH='none'
METH='final'
data_dir=/projets/scalfmm/data/openmpImprovements ;
project_dir=$HOME/Dev/src/ScalFMM/scalfmm ;
......@@ -27,23 +28,29 @@ OPTION="-show-info -show-compile"
DATE=`date +%y-%m-%d-%H%M`
echo $DATE
#
cd $project_dir/BuildIntel2016
#
# INTEL
#
# module add compiler/gcc/5.1.0 compiler/intel/64/2016_beta
# cd $project_dir/BuildIntel2016
module add compiler/gcc/5.1.0 compiler/intel/64/2016_beta
cd $project_dir/BuildIntel2016
COMP=INTEL
export KMP_AFFINITY=scatter
#
# GCC
#
module add compiler/gcc/5.1.0 intel/mkl/64/11.2/2015.3.187
cd $project_dir/BuildGCC51
#module add compiler/gcc/5.1.0 intel/mkl/64/11.2/2015.3.187
#cd $project_dir/BuildGCC51
#COMP=GCC
#
# For eztrace
#
module add mpi/openmpi/gcc/1.8.4 trace/eztrace/1.0
module li
#
# Compilation
#
make ChebyshevInterpolationCmpAlgo
#
#
PER_SIZE=`cat /proc/cpuinfo |grep processor |wc -l`
PER_SIZE="4 8 12 16 20 24"
......@@ -51,15 +58,14 @@ HOST=`hostname`
NBTEST=3 # 0..NBTEST
DISTRIB=(unitcube unitsphere prolate plummer)
DEPTH=(6 7 9 8)
#ALGO=(basic balanced task sectiontask)
ALGO=(task)
ALGO=(basic balanced task tasknew sectiontask sectiontasknew)
#ALGO=( task )
#
pwd
export OMP_PROC_BIND=true
export KMP_AFFINITY=scatter
#export OMP_PROC_BIND=true
NUM=`git rev-list HEAD --count`
echo $DISTRIB
REP=${DATE}- ${METH}
REP=${DATE}-${COMP}-${METH}
mkdir ${REP}
for dist in `seq 0 $NBTEST`;
do
......@@ -70,20 +76,21 @@ do
touch $FILEGNU
#
# Loop on algorithm
for a in `seq 0 3`;
for a in `seq 0 5`;
do
echo "# Core GlabalTIME P2PTIME M2LTIME MALLOC FREE MEMUse ENERGY PotentialError ForceError"> $FILEPERF-${DISTRIB[$dist]}-${ALGO[$a]}.out
# One computation
for l in $PER_SIZE ;
do
OUTPUT=${FILEPERF}-${DISTRIB[$dist]}-${ALGO[$a]}-${l}.out
OUTPUT=${REP}/${DISTRIB[$dist]}/${FILEPERF}-${DISTRIB[$dist]}-${ALGO[$a]}-${l}.out
echo "ScalFMM git version: " $NUM > $OUTPUT
echo "Running on " ${l} " threads with algo " ${ALGO[$a]}
echo $EXEC ${OPTION} -f $FILE -depth ${DEPTH[$dist]} -subdepth 4 -t $l -cmp -algo ${ALGO[$a]}>> $OUTPUT
$EXEC ${OPTION} -f $FILE -depth ${DEPTH[$dist]} -subdepth 4 -t $l -cmp -algo ${ALGO[$a]}>> $OUTPUT
#
eztrace_stats /tmp/coulaud_eztrace_log_rank_1 > TRACE
TIME=`grep "@Algorithm" $OUTPUT | awk '{print $4}'`
TIMEP2P=`grep "P2P" $OUTPUT | grep "second" | awk '{print $4}'`
TIMEP2P=`grep "P2P and L2P" $OUTPUT | grep "second" | awk '{print $4}'`
TIMEM2L=`grep "M2L" $OUTPUT | grep "second" | awk '{print $2}'`
Energy=`grep "Energy" $OUTPUT | awk '{print $3}'`
P1=`grep " Potential " $OUTPUT | awk '{print $7}'`
......@@ -93,16 +100,15 @@ echo "# Core GlabalTIME P2PTIME M2LTIME MALLOC FREE MEMUse ENERGY PotentialE
MEM=`grep Total TRACE | grep malloc | awk '{print $15}'`
echo " " $l " " $TIME " " $TIMEP2P " " $TIMEM2L " " $MALLOC " " $FREE " " $MEM " " $Energy " " $P1 " " $P2
echo " " $l " " $TIME " " $TIMEP2P " " $TIMEM2L " " $MALLOC " " $FREE " " $MEM " "$Energy " " $P1 " " $P2 >> $FILEPERF-${DISTRIB[$dist]}-${ALGO[$a]}.out
mv $OUTPUT ${REP}/${DISTRIB[$dist]}
mv /tmp/coulaud_eztrace_log_rank_1 ${REP}/${DISTRIB[$dist]}/trace-${DISTRIB[$dist]}-${ALGO[$a]}-${l}
rm TRACE
done
echo ${DISTRIB[$dist]}/$FILEPERF-${DISTRIB[$dist]}-${ALGO[$a]}.out >> $FILEGNU
mv $FILEPERF-${DISTRIB[$dist]}-${ALGO[$a]}.out ${REP}/${DISTRIB[$dist]}
mv $FILEPERF-${DISTRIB[$dist]}-${ALGO[$a]}.out ${REP}/${DISTRIB[$dist]}
echo "----------------------------------------------------------"
done
echo "---------------------------- END ALGO ---------------------------------------"
echo "---------------------------- END ALGO $a ---------------------------------------"
mv $FILEGNU ${REP}
done
echo " ---------------------- FINISH -------------------------------"
File mode changed from 100644 to 100755
......@@ -26,9 +26,14 @@ echo $DATE
#
cd $project_dir/BuildIntel2016
#
# INTEL
# INTEL 2015
#
module add compiler/gcc/5.1.0 compiler/intel/64/2016_beta
# module add compiler/gcc/5.1.0 compiler/intel/64/2015.3.187
# cd $project_dir/BuildIntel2015
#
# INTEL 2016
#
module add compiler/gcc/5.1.0 compiler/intel/64/2016_beta
cd $project_dir/BuildIntel2016
#
# GCC
......
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