-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathalgo.sh
executable file
·55 lines (37 loc) · 1.9 KB
/
algo.sh
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
#!/bin/bash
perftool="perf stat -e task-clock,cache-misses,cache-references,L1-dcache-loads,L1-dcache-load-misses,L2_rqsts.miss"
#parameters, options, backups com-amazon
datasets=(com-amazon)
#orders=(original)
orders=(original deg gorder hubcluster hubsort selective_hubsort ldg minla minloga rcm slashburn)
#orders=(original rand deg rcm gorder ldg dbg hubsort selective_hubsort hubcluster minla minloga slashburn)
algos=(BC)
#algos=(BellmanFord BC BFS Components PageRank PageRankDelta Radii)
dirn=$(date +%Y%m%d%H%M%S)
dirr=./results/r${dirn}
mkdir $dirr
#对于每个图数据
for dataset in ${!datasets[*]} #dataset是数组变量索引【!" 表示展开数组 "datasets" 中的所有索引】
do
folder=./datasets/${datasets[$dataset]}-preprocess
#对于每个重排序算法order
for algo in ${algos[*]};do
algo_time=${dirr}/${algo}.txt
for order in ${orders[*]}
do
perf_time=${dirr}/${algo}-perf-$order.txt
if [ "$algo" == "BellmanFord" ]; then
#tee -a $algo_time <<< "********************${datasets[$dataset]}-${order}-${algo}********************"
cmd_algo1=" $perftool -o ${perf_time} ./apps/$algo ${folder}/${datasets[$dataset]}-${order}.cintgr"
#cmd_algo1="$perftool -o $algo_time numactl -N all -i all ./apps/$algo ${folder}/${datasets[$dataset]}-${order}.cintgr"
${cmd_algo1} | tee -a $algo_time
#${cmd_algo1}
else
#tee -a $algo_time <<< "********************${datasets[$dataset]}-${order}-${algo} ********************"
#cmd_algo2="./apps/$algo ${folder}/${datasets[$dataset]}-${order}.cvgr"
cmd_algo2="$perftool -o ${perf_time} ./apps/$algo ${folder}/${datasets[$dataset]}-${order}.cvgr "
${cmd_algo2} | tee -a $algo_time
fi
done
done
done