apt install cmake g++ vim
apt install openmpi-bin libopenmpi-dev
apt install python3 python-is-python3
apt install papi-tools libpapi-dev
apt install libjsoncpp-dev
apt install libunwind-dev
-ljevents
git clone https://github.com/andikleen/pmu-tools/
cd pmu-tools/jevents
update the Makefile
libjevents.a: ${OBJ}
rm -f libjevents.a
ar q libjevents.a $^
ranlib libjevents.a
rm -f libjevents.so
$(CC) -shared -o libjevents.so $^
make
set environment
export CPATH=/usr/include/jsoncpp:$CPATH
export LIBRARY_PATH=/data/VAPRO/pmu-tools/jevents
export LD_LIBRARY_PATH=/data/VAPRO/pmu-tools/jevents:$LD_LIBRARY_PATH
/data/VAPRO/online_analyse.cpp
/* Setup description of the 2 MPI_INT fields n, type */
/* Need to first figure offset by getting size of MPI_FLOAT */
// PMPI_Type_extent(oldtypes[0], &extent);
// wk update
MPI_Aint lb;
#if MPI_VERSION < 2
PMPI_Type_extent(oldtypes[0], &extent);
lb = 0; // MPI-1 had no lb
#else
PMPI_Type_get_extent(oldtypes[0], &lb, &extent);
#endif
// PMPI_Type_struct(2, blockcounts, offsets, oldtypes, &mpi_online_type);
PMPI_Type_create_struct(2, blockcounts, offsets, oldtypes, &mpi_online_type);