mirror of
https://github.com/JHUAPL/kaiju.git
synced 2026-01-09 18:57:53 -05:00
Merge remote-tracking branch 'origin/asd' into ewinter-python_environment_upgrade
This commit is contained in:
@@ -58,8 +58,9 @@ if(CMAKE_Fortran_COMPILER_ID MATCHES Intel)
|
||||
message(WARNING "Compiler has incomplete F2008 features, Git hash/compiler information won't be saved to H5 files")
|
||||
add_compile_definitions(__INTEL_COMPILER_OLD)
|
||||
elseif( (CMAKE_Fortran_COMPILER_VERSION VERSION_GREATER_EQUAL 20.0) )
|
||||
message(WARNING "Setting default optimization to O2 to avoid certain Intel compiler bugs")
|
||||
set(CMAKE_DEFOPT "-O2")
|
||||
#message(WARNING "Setting default optimization to O2 to avoid certain Intel compiler bugs")
|
||||
message(WARNING "You only live once so let's see what happens")
|
||||
#set(CMAKE_DEFOPT "-O2")
|
||||
endif()
|
||||
elseif(CMAKE_Fortran_COMPILER_ID MATCHES GNU)
|
||||
if(CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 8.0)
|
||||
@@ -101,9 +102,17 @@ if(CMAKE_Fortran_COMPILER_ID MATCHES Intel)
|
||||
if (HOST MATCHES cheyenne)
|
||||
string(APPEND PROD " -march=corei7 -axCORE-AVX2")
|
||||
string(APPEND PRODWITHDEBUGINFO " -march=corei7 -axCORE-AVX2")
|
||||
elseif(HOST MATCHES pfe)
|
||||
string(APPEND PROD " -march=corei7 -axCORE-AVX2")
|
||||
string(APPEND PRODWITHDEBUGINFO " -march=corei7 -axCORE-AVX2")
|
||||
elseif(HOST MATCHES pfe)
|
||||
string(APPEND PROD " -march=corei7 -axCORE-AVX2")
|
||||
string(APPEND PRODWITHDEBUGINFO " -march=corei7 -axCORE-AVX2")
|
||||
elseif (HOST MATCHES derecho)
|
||||
message("You're on Derecho, good for you!")
|
||||
set(ALLOW_INVALID_COMPILERS ON)
|
||||
if (ENABLE_MKL)
|
||||
string(APPEND CMAKE_Fortran_FLAGS " -qmkl")
|
||||
endif()
|
||||
string(APPEND PROD " -march=core-avx2")
|
||||
string(APPEND PRODWITHDEBUGINFO " -march=core-avx2")
|
||||
endif()
|
||||
|
||||
#Check Intel Fortran version
|
||||
|
||||
28
scripts/preproc/pinCpuCores.sh
Executable file
28
scripts/preproc/pinCpuCores.sh
Executable file
@@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# usage: pinCpuCores.sh <program executable> <program arguments>
|
||||
|
||||
# THIS IS ONLY MEANT TO WORK ON DERECHO
|
||||
# USE ON OTHER SYSTEMS AT YOUR OWN RISK
|
||||
|
||||
if [[ ! -v PMI_LOCAL_SIZE ]] || [[ ! -v PMI_LOCAL_RANK ]]; then
|
||||
echo "pinCpuCores.sh is only meant to be used on systems that set the"
|
||||
echo " PMI_LOCAL_SIZE and PMI_LOCAL_RANK environment variables."
|
||||
echo " One or both of these was not set. Please use the"
|
||||
echo " correctOMPEnvironment.sh script in conjunction with omplace instead"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
let numCpus=`lscpu | sed --quiet "s/^CPU(s): \\+\\([0-9]\\+\\)$/\\1/p"`
|
||||
let threadsPerCore=`lscpu | sed --quiet "s/^Thread(s) per core: \\+\\([0-9]\\+\\)$/\\1/p"`
|
||||
let numCores=$numCpus/$threadsPerCore
|
||||
let newNumThreads=$numCores/$PMI_LOCAL_SIZE
|
||||
let minThread=$newNumThreads*$PMI_LOCAL_RANK
|
||||
let maxThread=$minThread+$newNumThreads-1
|
||||
export OMP_NUM_THREADS=$newNumThreads
|
||||
|
||||
#echo "I am rank $PMI_LOCAL_RANK of $PMI_LOCAL_SIZE on this node using cpus $minThread to $maxThread"
|
||||
|
||||
# call the arguments to this script
|
||||
taskset --cpu-list $minThread-$maxThread $1 "${@:2}"
|
||||
|
||||
Reference in New Issue
Block a user