run_check_bgq.sh 3.08 KB
Newer Older
1 2
#!/bin/bash

3
NODES=1024
4 5 6 7
PPN=16
NPROCS=$((NODES*PPN))
TARGET="/projects/visualization/ftessier/debug"

8
cd $HOME/TAPIOCA/examples/HACC-IO
9 10 11 12

export TAPIOCA_DEVNULL=false
export TAPIOCA_COMMSPLIT=true
export TAPIOCA_STRATEGY=TOPOLOGY_AWARE
13
export TAPIOCA_NBAGGR=16
14
export TAPIOCA_BUFFERSIZE=16777216
15
export TAPIOCA_PIPELINING=true
16 17 18 19

function updateSettings()
{
    printenv | egrep "TAPIOCA_"
20
    SETTINGS="TAPIOCA_DEVNULL=$TAPIOCA_DEVNULL"
21 22 23 24
    SETTINGS="$SETTINGS TAPIOCA_COMMSPLIT=$TAPIOCA_COMMSPLIT"
    SETTINGS="$SETTINGS TAPIOCA_STRATEGY=$TAPIOCA_STRATEGY"
    SETTINGS="$SETTINGS TAPIOCA_NBAGGR=$TAPIOCA_NBAGGR"
    SETTINGS="$SETTINGS TAPIOCA_BUFFERSIZE=$TAPIOCA_BUFFERSIZE"
25 26 27 28 29 30 31
    SETTINGS="$SETTINGS TAPIOCA_PIPELINING=$TAPIOCA_PIPELINING"
    
    SETTINGS="$SETTINGS PAMID_VERBOSE=1"
    SETTINGS="$SETTINGS PAMID_COLLECTIVES_MEMORY_OPTIMIZED=1"
    SETTINGS="$SETTINGS PAMID_COLLECTIVES=1"
    SETTINGS="$SETTINGS BG_SHAREDMEMSIZE=64"
    SETTINGS="$SETTINGS BGLOCKLESSMPIO_F_TYPE=0x47504653"
32 33
}

34 35 36 37 38 39 40 41 42 43 44

function outputFile ()
{
    OUTPUT="$HOME/PUB-IPDPS18/dat/hacc_rw"
    OUTPUT="${OUTPUT}/HACC_BGQ_${BIN}_${NODES}_${PPN}"
    OUTPUT="${OUTPUT}_${TAPIOCA_STRATEGY}_${TAPIOCA_NBAGGR}_${TAPIOCA_BUFFERSIZE}_${PARTICLES}"
}

updateSettings

for run in {0..4}
45
do
46 47 48 49 50 51 52 53 54 55
    for PARTICLES in 100000
    do
        for BIN in miniHACC-AoS miniHACC-SoA miniHACC-AoS-MPIIO miniHACC-SoA-MPIIO
        do
	    rm $TARGET/*
	    outputFile
	    runjob --block $COBALT_PARTNAME --envs $SETTINGS -p $PPN --np $NPROCS : ./$BIN $PARTICLES >> $OUTPUT
	    sleep 5
	done
    done
56
done
57

58 59 60 61 62 63 64 65 66 67 68 69 70 71
# #########################
# # Array of Structures
# #########################
# rm $TARGET/*
# updateSettings
# runjob --block $COBALT_PARTNAME --envs $VARS $SETTINGS -p $PPN --np $NPROCS : ./miniHACC-AoS-MPIIO 42
# sleep 4
# let j=0
# for i in $TARGET/*
# do
#     CONTROLAOS[$j]=`md5sum $i | cut -d ' ' -f1`
#     echo ${CONTROLAOS[$j]}
#     let j=$j+1
# done
72

73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
# rm $TARGET/*
# updateSettings
# runjob --block $COBALT_PARTNAME --envs $VARS $SETTINGS -p $PPN --np $NPROCS : ./miniHACC-AoS 42
# sleep 4
# let j=0
# for i in $TARGET/*
# do
#     HASH[$j]=`md5sum $i | cut -d ' ' -f1`
#     if [ ${CONTROLAOS[$j]} == ${HASH[$j]} ]
#     then
#         echo -e "\e[32m[PASSED]\e[39m ${HASH[$j]}"
#     else
#         echo -e "\e[31m[FAILED]\e[39m ${HASH[$j]}"
#     fi
#     let j=$j+1
# done

# #########################
# # Structure of Arrays
# #########################
# rm $TARGET/*
# updateSettings
# runjob --block $COBALT_PARTNAME --envs $VARS $SETTINGS -p $PPN --np $NPROCS : ./miniHACC-SoA-MPIIO 42
# sleep 4
# let j=0
# for i in $TARGET/*
# do
#     CONTROLSOA[$j]=`md5sum $i | cut -d ' ' -f1`
#     echo ${CONTROLSOA[$j]}
#     let j=$j+1
# done

# rm $TARGET/*
# updateSettings
# runjob --block $COBALT_PARTNAME --envs $VARS $SETTINGS -p $PPN --np $NPROCS : ./miniHACC-SoA 42
# sleep 4
# let j=0
# for i in $TARGET/*
# do
#     HASH[$j]=`md5sum $i | cut -d ' ' -f1`
#     if [ ${CONTROLSOA[$j]} == ${HASH[$j]} ]
#     then
#         echo -e "\e[32m[PASSED]\e[39m ${HASH[$j]}"
#     else
#         echo -e "\e[31m[FAILED]\e[39m ${HASH[$j]}"
#     fi
#     let j=$j+1
# done
121 122