13
UTAM REPRODUCIBLE RESEARCH AND C++ LI Samuel Brown – February 6, 2009

UTAM REPRODUCIBLE RESEARCH AND C++ LIBRARIES Samuel Brown – February 6, 2009

Embed Size (px)

Citation preview

UTAM REPRODUCIBLE RESEARCH AND C++ LIBRARIES

Samuel Brown – February 6, 2009

Subversion Repository

svn co https://repo.chpc.utah.edu/svn/repo/UTAM_repro_research/trunk utam

--username=utam2008 password: qUinoa80

Repository Snapshots

http://utam.gg.utah.edu/utam_repro_research/

username: utam2008 password: qUinoa80 also contains images and intermediate

data for student reports

Directory Structure

Prerequisites

Compiling C++ Library scons version >= 1.1.0 - required fftw3 - optional – need to set FFTWHOME MPI C++ compiler/library – optional

C++ Library Documentation Doxygen - optional

Environment Setup

Option 1: cd utam source utamvars.[c]sh

Option 2: export UTAMHOME=/path/to/utam source $UTAMHOME/utamvars.sh

Reproducibility

Report directories contain a latex file and uniform python script for generating results and compiling report

run.py: python only, does not use scons generates and runs shell scripts

interactively simple mechanisms for downloading data

and controlling computation with sources and targets

run.py

Process( cmds=[ <only required parameter>], sources=[ ], targets=[ ], docmds=1, // check for targets or

force/skip wdir=, // working directory bdir=, // batch directory sdir=, // source directory pbs=, // submit to cluster? nodes=, ppn=, walltime=, datapath=, scratchpath=, clean=, ktemps=, kbatch=)

C++ Compilation

Compilation must take place from $UTAMHOME/src/ucsl

Top-level SConstruct should be customized to your system

cd $UTAMHOME/src/ucsl scons

SConstruct Customization

USE_MPI=True

BGP=False

INTEL=False

SANDDUNE=False

HMM=False

PS3D=False

TEP=False

if(BGP):

UCPPFLAGS = ['-O5']

CC = 'bgxlc'

CXX = 'bgxlc++'

MPICC = 'mpixlc'

MPICXX = 'mpixlcxx'

BUILD_SERIAL = False

USE_FFTW = True

USE_THREAD = False

C++ Library Basic Objects

Parameter Initialization Memory Abstractions Traces Axes Planes Volumes

C++ Library

Task-specific File I/O Trace files Volume files Coordinate file

3D Modeling

3D domain decomposition object ability to separate boundary and interior

regions load balancing

3D stencil overlap communication object