Profiling with Tau
Thanks to Sameer Sande, QMCPACK can be compiled with TAU with SSE enabled.
TauIntel.cmake is a toolchain file to use Tau with Intel compilers with or without MPI.
set(CMAKE_CXX_COMPILER /home/jnkim/tau-2.19.2/x86_64/bin/taucxx)
set(CMAKE_C_COMPILER icc)
set(GNU_OPTS "-DADD_ -DINLINE_ALL=inline")
#set(INTEL_OPTS "-g -unroll -ansi-alias -O3 -ip -openmp -opt-prefetch -ftz -xSSE4.2")
set(TAU_OPTS "-tau_makefile=/home/jnkim/tau-2.19.2/x86_64/lib/Makefile.tau-pdt-openmp-opari -optPdtCxxOpts='-optKeepFiles -D_XMMINTRIN_H_INCLUDED=1 -D_INCLUDED_MM2 -I/site/local/pkg/intel/Compiler/11.1/069/include/intel64")
set(INTEL_OPTS "-g -unroll -O3 -ip -openmp -opt-prefetch -ftz -xSSE4.2")
set(CMAKE_CXX_FLAGS "$ENV{CXX_FLAGS} ${GNU_OPTS} ${INTEL_OPTS} -restrict -Wno-deprecated")
set(CMAKE_C_FLAGS "$ENV{CC_FLAGS} ${INTEL_OPTS} -std=c99 -restrict -Wno-deprecated")
SET(CMAKE_Fortran_FLAGS "${INTEL_OPTS}")
SET(CMAKE_Fortran_FLAGS_RELEASE ${CMAKE_Fortran_FLAGS})
About TAU_OPTS (these can be set via environment variables)
-tau_makefile=/home/jnkim/tau-2.19.2/x86_64/lib/Makefile.tau-pdt-openmp-opari
- Resolve header files for SSE intrinsic
-optPdtCxxOpts='-optKeepFiles -D_XMMINTRIN_H_INCLUDED=1
-D_INCLUDED_MM2
-I/site/local/pkg/intel/Compiler/11.1/069/include/intel64' |