Skip to content

hep-cce/TMPIFile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TMPI

This project builds a TFile-like object that uses MPI (Message Passing Interface) libraries and TMemFile for parallelization of IO process.

Author: Amit Bashyal

August 8, 2018

PRE-REQUISITES

ROOT preferably ROOT 6 or higher

MPICH or other distributions like OpenMPI, Intel MPI, etc.

CMake 3.2 or higher

The "tmpi" container is available on dockerhub

INSTALLATION

The following instructions assume the user has already built/installed ROOT, MPICH, and CMake in the machine.

Create a new working directory for the project tmpi:

mkdir tmpi

Put the TMPIFile repo under tmpi:

cd tmpi
git clone [email protected]:hep-cce/TMPIFile.git

Create a build and an install directory:

mkdir install build

Make sure to enable dynamic linking on Cray system before build:

export CRAYPE_LINK_TYPE=dynamic

Go to the build directory and build CMake:

cd build
C=mpicc CXX=mpicxx cmake ../TMPIFile/ -DCMAKE_INSTALL_PREFIX=/PATH/TO/tmpi/install/ -DCMAKE_BUILD_TYPE=RelWithDebInfo

Make:

make install 

USAGE EXAMPLE

Setup environment:

source install/env_tmpi.sh

Run example code:

mpirun -np 10 ./install/bin/test_tmpi

CREDITS:

I would like to thank Taylor Childers for advising me, HEPCCE (High Energy Physics Center of Computational Excellence) program and Argonne National Laboratory for providing the opportunity to work on this project.