Skip to content

Building on ALCF Mira

Cameron Smith edited this page Jan 17, 2018 · 6 revisions

Setup

git clone [email protected]:cwsmith/phastaChef.git
cd phastaChef
git clone [email protected]:PHASTA/phasta.git

envXl.sh environment

resoft
soft delete @ibm-compilers-default
soft add @ibm-compilers-2016-05
soft add +mpiwrapper-xl
soft add +cmake
export DARSHAN_DISABLE=1
version=12.0-170408dev-bgq_xl
sim=/projects/TRAssembly_2/cwsmith/software/simmetrix/
export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:$sim/$version/
export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:$sim/$version/lib/bgq_xl/
coreDeps=/projects/TRAssembly_2/cwsmith/coreDeps/
export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:$coreDeps/zoltan/3.81/xl
export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:$coreDeps/parmetis/4.0.3/xl
export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:$coreDeps/bzip/1.0.6/xl

BGQ-XLMPI-toolchain.may2016 toolchain

set(CMAKE_SYSTEM_NAME BlueGeneQ-static)

set(COMPILER_SEARCH_PATHS 
/bgsys/drivers/ppcfloor/comm/xl/bin 
/soft/compilers/ibmcmp-may2016/vac/bg/12.1/bin/
/soft/compilers/ibmcmp-may2016/xlf/bg/14.1/bin/
/soft/compilers/ibmcmp-may2016/vacpp/bg/12.1/bin/)

find_program(CMAKE_C_COMPILER       mpicc    ${COMPILER_SEARCH_PATHS} )
find_program(CMAKE_CXX_COMPILER     mpicxx    ${COMPILER_SEARCH_PATHS} )
find_program(CMAKE_Fortran_COMPILER mpif90  ${COMPILER_SEARCH_PATHS} )
find_program(CMAKE_C_LINK_EXECUTABLE mpicc  ${COMPILER_SEARCH_PATHS} )
find_program(CMAKE_CXX_LINK_EXECUTABLE mpicxx  ${COMPILER_SEARCH_PATHS} )
find_program(CMAKE_Fortran_LINK_EXECUTABLE mpif90  ${COMPILER_SEARCH_PATHS} )

SET_PROPERTY(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS FALSE)
SET_PROPERTY(GLOBAL PROPERTY TARGET_ARCHIVES_MAY_BE_SHARED_LIBS FALSE)

set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

Configure

doConfigureXlOptGstrict cmake configure script

#!/bin/bash -ex

opt='-g -O2 -qstrict -qminimaltoc '
les=/path/to/libles.a

toolchain=/path/to/BGQ-XLMPI-toolchain.may2016

cmake .. \
-DCMAKE_TOOLCHAIN_FILE=$toolchain \
-DCMAKE_C_FLAGS="$opt" \
-DCMAKE_CXX_FLAGS="$opt" \
-DCMAKE_Fortran_FLAGS="$opt" \
-DCMAKE_INSTALL_PREFIX=$PWD/install/ \
\
-DSCOREC_PREFIX=/path/to/core/install \
\
-DPHASTA_SRC_DIR=/path/to/phasta/source \
-DPHASTA_INCOMPRESSIBLE=ON \
-DPHASTA_COMPRESSIBLE=ON \
-DPHASTA_USE_LESLIB=ON \
-DPHASTA_USE_SVLS=OFF \
-DPHASTA_USE_PETSC=OFF \
-DLESLIB=$les \
$d/phastaChef/

Build

make