forked from MegEngine/midout
-
Notifications
You must be signed in to change notification settings - Fork 0
/
run.sh
executable file
·56 lines (43 loc) · 1.34 KB
/
run.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
52
53
54
55
56
#!/bin/bash -e
# $File: run.sh
# MegEngine is Licensed under the Apache License, Version 2.0 (the "License")
#
# Copyright (c) 2014-2020 Megvii Inc. All rights reserved.
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT ARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
cd $(dirname $0)
MAKE="make -f Makefile.impl"
if [ "$1" = "--clean" ]; then
rm -rf build main*
echo "clean finished"
exit 0
fi
$MAKE TARGET=main_prof CXXFLAGS=-DMIDOUT_PROFILING BUILD_DIR=build/prof
rm -rf output
mkdir -p output
cd output
ln -sv ../main_prof main
if [ "$1" = "-i" ]; then
cat <<EOF
--------------------------------------------------------------------------------
You would be dropped into a shell now; you can run ./main with some opr mode,
and unused modes would be stripped in the next build.
EOF
bash
else
./main 1 1 p
fi
cd ..
./gen_header.py -o output/midout_gen.h output/midout_trace.*
$MAKE V= TARGET=main_midout \
CXXFLAGS='-include output/midout_gen.h' BUILD_DIR=build/run
$MAKE TARGET=main_vanilla BUILD_DIR=build/vanilla
function print_stat {
echo "$1: $(stat -c '%s' $2)"
nm $2 | c++filt | grep calc | sed -e 's/^/ /'
}
echo "-----------------"
print_stat vanilla main_vanilla
print_stat midout main_midout