-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathrun_gpop.sh
More file actions
128 lines (122 loc) · 4.08 KB
/
Copy pathrun_gpop.sh
File metadata and controls
128 lines (122 loc) · 4.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
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
121
122
123
124
125
126
127
128
#!/bin/bash
ROUNDS=5
ROOT_DIR=$(pwd)
LOG_ROOT="${ROOT_DIR}/result"
GPOP_ROOT="${ROOT_DIR}/system/GPOP"
DATA_ROOT="${ROOT_DIR}/dataset"
dataset=("MPI" "TW" "KR") # "TW" "KR"
BFS_STARTER=("18767213" "3841886" "49100819") # "6557208"
SSSP_STARTER=("18767213" "3841886" "49100819") # "15620566"
for index in "${!dataset[@]}"
do
DATA=${dataset[index]}
DATA_DIR=${DATA_ROOT}/${DATA}
REORDER_DIR=${DATA_DIR}/reorder
echo "=========="
echo "dataset = ${DATA}"
DATA_LOG_DIR=${LOG_ROOT}/GPOP/${DATA}
if [ ! -d "$DATA_LOG_DIR" ]; then
mkdir -p ${DATA_LOG_DIR}
fi
for APP in bfs sssp cc pr; do
APP_ROOT=${GPOP_ROOT}/${APP}
cd ${APP_ROOT} || exit
make clean && make -j
echo "-----"
echo "APP: ${APP}"
APP_LOG=${DATA_LOG_DIR}/${APP}
if [ ! -d "$APP_LOG" ]; then
mkdir -p ${APP_LOG}
fi
START_VERTEX_OPT=""
if [ "${APP}" == "bfs" ]; then
START_VERTEX_OPT=" -s ${BFS_STARTER[index]} "
fi
if [ "${APP}" == "sssp" ]; then
START_VERTEX_OPT=" -s ${SSSP_STARTER[index]} "
fi
if [ "${APP}" == "cc" ]; then
NUMA_OPT="numactl -i all "
fi
if [ "${APP}" == "pr" ]; then
ITER_OPT=" -iter 10 "
fi
#
for ALGO in OG FO SO FBC HC DBG CO RBT GO; do #
echo "------"
echo "REORDER_ALGO: ${ALGO}"
LOG_FILE=${APP_LOG}/${ALGO}.log
if [ "${ALGO}" == "OG" ]; then
${APP_ROOT}/${APP} ${DATA_DIR}/${DATA}.csr \
-rounds ${ROUNDS} ${START_VERTEX_OPT} ${ITER_OPT} > ${LOG_FILE}
continue
fi
REORDER_FILE=${REORDER_DIR}/${DATA}-${ALGO}.reorder
if [ ! -f "$REORDER_FILE" ];then
echo "not exist reordering file: ${REORDER_FILE}"
continue
fi
${APP_ROOT}/${APP} ${DATA_DIR}/${DATA}-${ALGO}.csr -rounds ${ROUNDS} \
-map ${REORDER_FILE} ${START_VERTEX_OPT} ${ITER_OPT} > ${LOG_FILE}
done
done
done
ext_data=("DL" "FR" "RM") # "FR" "RM"
BFS_STARTER=("44365" "2681889" "55875322") #
SSSP_STARTER=("44365" "2681889" "55875322") #
DATA_ROOT="${ROOT_DIR}/ext_data"
for index in "${!ext_data[@]}"
do
DATA=${ext_data[index]}
DATA_DIR=${DATA_ROOT}/${DATA}
REORDER_DIR=${DATA_DIR}/reorder
echo "=========="
echo "dataset = ${DATA}"
DATA_LOG_DIR=${LOG_ROOT}/GPOP/${DATA}
if [ ! -d "$DATA_LOG_DIR" ]; then
mkdir -p ${DATA_LOG_DIR}
fi
for APP in bfs sssp cc pr; do
APP_ROOT=${GPOP_ROOT}/${APP}
cd ${APP_ROOT} || exit
make clean && make -j
echo "-----"
echo "APP: ${APP}"
APP_LOG=${DATA_LOG_DIR}/${APP}
if [ ! -d "$APP_LOG" ]; then
mkdir -p ${APP_LOG}
fi
START_VERTEX_OPT=""
if [ "${APP}" == "bfs" ]; then
START_VERTEX_OPT=" -s ${BFS_STARTER[index]} "
fi
if [ "${APP}" == "sssp" ]; then
START_VERTEX_OPT=" -s ${SSSP_STARTER[index]} "
fi
if [ "${APP}" == "cc" ]; then
NUMA_OPT="numactl -i all "
fi
if [ "${APP}" == "pr" ]; then
ITER_OPT=" -iter 10 "
fi
#
for ALGO in OG FO SO FBC HC DBG CO RBT GO; do # OG FO SO FBC HC DBG CO RBT GO
echo "------"
echo "REORDER_ALGO: ${ALGO}"
LOG_FILE=${APP_LOG}/${ALGO}.log
if [ "${ALGO}" == "OG" ]; then
${APP_ROOT}/${APP} ${DATA_DIR}/${DATA}.csr \
-rounds ${ROUNDS} ${START_VERTEX_OPT} ${ITER_OPT} > ${LOG_FILE}
continue
fi
REORDER_FILE=${REORDER_DIR}/${DATA}-${ALGO}.reorder
if [ ! -f "$REORDER_FILE" ];then
echo "not exist reordering file: ${REORDER_FILE}"
continue
fi
${APP_ROOT}/${APP} ${DATA_DIR}/${DATA}-${ALGO}.csr -rounds ${ROUNDS} \
-map ${REORDER_FILE} ${START_VERTEX_OPT} ${ITER_OPT} > ${LOG_FILE}
done
done
done
cd ${ROOT_DIR}