project directories reorganization

This commit is contained in:
Blaise Tine
2020-04-14 06:35:20 -04:00
parent 1de06fd9c0
commit fc155e1223
1056 changed files with 8120 additions and 8120 deletions

View File

@@ -0,0 +1,54 @@
#!/usr/bin/env python3
import sys
import pandas as pd
from os import path
from glob import glob
if len(sys.argv) < 2:
print('usage: python3 ' + sys.argv[0] + ' <path to test_outputs>')
exit()
output_dir = sys.argv[1]
config_names = []
test_names = []
cycle_counts = []
for filename in glob(path.join(output_dir, '*.log')):
cycle_line = None
with open(filename, 'r') as f:
for line in f:
line = line.strip()
if line.startswith('[sim] total cycles:'):
cycle_line = line
print(filename, cycle_line)
full_name, _, _ = path.basename(filename).partition('.')
if cycle_line is None:
count = None
else:
_, _, count = cycle_line.partition(':')
count = int(count.strip())
config, test = full_name.rsplit('-', 1)
config_names.append(config)
test_names.append(test)
cycle_counts.append(count)
df = pd.DataFrame({
'config': config_names,
'test': test_names,
'cycle_count': cycle_counts,
})
print(df.head())
pivot = pd.pivot_table(df, values='cycle_count', index=['config'], columns=['test'])
print(pivot.head())
pivot.to_csv('results.csv')
print('Table written to results.csv')

View File

@@ -0,0 +1,101 @@
Warps: 2, Threads: 2
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/saxpy/saxpy.hex -s -b
292351
Warps: 2, Threads: 4
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/saxpy/saxpy.hex -s -b
174990
Warps: 2, Threads: 8
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/saxpy/saxpy.hex -s -b
87686
Warps: 2, Threads: 16
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/saxpy/saxpy.hex -s -b
44034
Warps: 2, Threads: 32
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/saxpy/saxpy.hex -s -b
29981
Warps: 4, Threads: 2
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/saxpy/saxpy.hex -s -b
751528
Warps: 4, Threads: 4
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/saxpy/saxpy.hex -s -b
490532
Warps: 4, Threads: 8
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/saxpy/saxpy.hex -s -b
245460
Warps: 4, Threads: 16
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/saxpy/saxpy.hex -s -b
122924
Warps: 4, Threads: 32
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/saxpy/saxpy.hex -s -b
61656
Warps: 8, Threads: 2
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/saxpy/saxpy.hex -s -b
609347
Warps: 8, Threads: 4
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/saxpy/saxpy.hex -s -b
337922
Warps: 8, Threads: 8
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/saxpy/saxpy.hex -s -b
103378
Warps: 8, Threads: 16
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/saxpy/saxpy.hex -s -b
44932
Warps: 8, Threads: 32
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/saxpy/saxpy.hex -s -b
30426
Warps: 16, Threads: 2
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/saxpy/saxpy.hex -s -b
446749
Warps: 16, Threads: 4
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/saxpy/saxpy.hex -s -b
197890
Warps: 16, Threads: 8
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/saxpy/saxpy.hex -s -b
106086
Warps: 16, Threads: 16
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/saxpy/saxpy.hex -s -b
46464
Warps: 16, Threads: 32
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/saxpy/saxpy.hex -s -b
31573
Warps: 32, Threads: 2
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/saxpy/saxpy.hex -s -b
274885
Warps: 32, Threads: 4
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/saxpy/saxpy.hex -s -b
185833
Warps: 32, Threads: 8
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/saxpy/saxpy.hex -s -b
95355
Warps: 32, Threads: 16
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/saxpy/saxpy.hex -s -b
49745
Warps: 32, Threads: 32
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/saxpy/saxpy.hex -s -b
33326

View File

@@ -0,0 +1,80 @@
Warps: 2, Threads: 2
2037907
Warps: 2, Threads: 4
1205061
Warps: 2, Threads: 8
583051
Warps: 2, Threads: 16
358821
Warps: 2, Threads: 32
168914
Warps: 4, Threads: 2
1647415
Warps: 4, Threads: 4
Warps: 4, Threads: 2
1719354
Warps: 4, Threads: 4
837672
Warps: 4, Threads: 8
358354
Warps: 4, Threads: 16
218991
Warps: 4, Threads: 32
174153
Warps: 8, Threads: 2
1684691
Warps: 8, Threads: 4
1035207
Warps: 8, Threads: 8
552477
Warps: 8, Threads: 16
316346
Warps: 8, Threads: 32
128139
Warps: 16, Threads: 2
1666519
Warps: 16, Threads: 4
1043940
Warps: 16, Threads: 8
554168
Warps: 16, Threads: 16
316615
Warps: 16, Threads: 32
131018
Warps: 32, Threads: 2
1637051
Warps: 32, Threads: 4
1036768
Warps: 32, Threads: 8
544135
Warps: 32, Threads: 16
310251
Warps: 32, Threads: 32
157421

View File

@@ -0,0 +1,276 @@
Warps: 2, Threads: 2
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/sgemm/sgemm.hex -s -b
ctx->num_groups[0]: 64
ctx->num_groups[1]: 64
ctx->num_groups[2]: 64
ctx->local_size[0]: 1
ctx->local_size[1]: 1
ctx->local_size[2]: 1
14663775
Warps: 2, Threads: 4
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/sgemm/sgemm.hex -s -b
ctx->num_groups[0]: 64
ctx->num_groups[1]: 64
ctx->num_groups[2]: 64
ctx->local_size[0]: 1
ctx->local_size[1]: 1
ctx->local_size[2]: 1
10280838
Warps: 2, Threads: 8
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/sgemm/sgemm.hex -s -b
ctx->num_groups[0]: 64
ctx->num_groups[1]: 64
ctx->num_groups[2]: 64
ctx->local_size[0]: 1
ctx->local_size[1]: 1
ctx->local_size[2]: 1
5133778
Warps: 2, Threads: 16
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/sgemm/sgemm.hex -s -b
ctx->num_groups[0]: 64
ctx->num_groups[1]: 64
ctx->num_groups[2]: 64
ctx->local_size[0]: 1
ctx->local_size[1]: 1
ctx->local_size[2]: 1
2670416
Warps: 2, Threads: 32
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/sgemm/sgemm.hex -s -b
ctx->num_groups[0]: 64
ctx->num_groups[1]: 64
ctx->num_groups[2]: 64
ctx->local_size[0]: 1
ctx->local_size[1]: 1
ctx->local_size[2]: 1
1353300
Warps: 4, Threads: 2
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/sgemm/sgemm.hex -s -b
ctx->num_groups[0]: 64
ctx->num_groups[1]: 64
ctx->num_groups[2]: 64
ctx->local_size[0]: 1
ctx->local_size[1]: 1
ctx->local_size[2]: 1
14014523
Warps: 4, Threads: 4
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/sgemm/sgemm.hex -s -b
ctx->num_groups[0]: 64
ctx->num_groups[1]: 64
ctx->num_groups[2]: 64
ctx->local_size[0]: 1
ctx->local_size[1]: 1
ctx->local_size[2]: 1
6700429
Warps: 4, Threads: 8
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/sgemm/sgemm.hex -s -b
ctx->num_groups[0]: 64
ctx->num_groups[1]: 64
ctx->num_groups[2]: 64
ctx->local_size[0]: 1
ctx->local_size[1]: 1
ctx->local_size[2]: 1
4196995
Warps: 4, Threads: 16
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/sgemm/sgemm.hex -s -b
ctx->num_groups[0]: 64
ctx->num_groups[1]: 64
ctx->num_groups[2]: 64
ctx->local_size[0]: 1
ctx->local_size[1]: 1
ctx->local_size[2]: 1
2179254
Warps: 4, Threads: 32
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/sgemm/sgemm.hex -s -b
ctx->num_groups[0]: 64
ctx->num_groups[1]: 64
ctx->num_groups[2]: 64
ctx->local_size[0]: 1
ctx->local_size[1]: 1
ctx->local_size[2]: 1
1303963
Warps: 8, Threads: 2
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/sgemm/sgemm.hex -s -b
ctx->num_groups[0]: 64
ctx->num_groups[1]: 64
ctx->num_groups[2]: 64
ctx->local_size[0]: 1
ctx->local_size[1]: 1
ctx->local_size[2]: 1
8146968
Warps: 8, Threads: 4
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/sgemm/sgemm.hex -s -b
ctx->num_groups[0]: 64
ctx->num_groups[1]: 64
ctx->num_groups[2]: 64
ctx->local_size[0]: 1
ctx->local_size[1]: 1
ctx->local_size[2]: 1
4180557
Warps: 8, Threads: 8
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/sgemm/sgemm.hex -s -b
ctx->num_groups[0]: 64
ctx->num_groups[1]: 64
ctx->num_groups[2]: 64
ctx->local_size[0]: 1
ctx->local_size[1]: 1
ctx->local_size[2]: 1
1946300
Warps: 8, Threads: 16
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/sgemm/sgemm.hex -s -b
ctx->num_groups[0]: 64
ctx->num_groups[1]: 64
ctx->num_groups[2]: 64
ctx->local_size[0]: 1
ctx->local_size[1]: 1
ctx->local_size[2]: 1
1056178
Warps: 8, Threads: 32
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/sgemm/sgemm.hex -s -b
ctx->num_groups[0]: 64
ctx->num_groups[1]: 64
ctx->num_groups[2]: 64
ctx->local_size[0]: 1
ctx->local_size[1]: 1
ctx->local_size[2]: 1
449062
Warps: 16, Threads: 2
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/sgemm/sgemm.hex -s -b
ctx->num_groups[0]: 64
ctx->num_groups[1]: 64
ctx->num_groups[2]: 64
ctx->local_size[0]: 1
ctx->local_size[1]: 1
ctx->local_size[2]: 1
4103843
Warps: 16, Threads: 4
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/sgemm/sgemm.hex -s -b
ctx->num_groups[0]: 64
ctx->num_groups[1]: 64
ctx->num_groups[2]: 64
ctx->local_size[0]: 1
ctx->local_size[1]: 1
ctx->local_size[2]: 1
2198894
Warps: 16, Threads: 8
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/sgemm/sgemm.hex -s -b
ctx->num_groups[0]: 64
ctx->num_groups[1]: 64
ctx->num_groups[2]: 64
ctx->local_size[0]: 1
ctx->local_size[1]: 1
ctx->local_size[2]: 1
1080948
Warps: 16, Threads: 16
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/sgemm/sgemm.hex -s -b
ctx->num_groups[0]: 64
ctx->num_groups[1]: 64
ctx->num_groups[2]: 64
ctx->local_size[0]: 1
ctx->local_size[1]: 1
ctx->local_size[2]: 1
630038
Warps: 16, Threads: 32
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/sgemm/sgemm.hex -s -b
ctx->num_groups[0]: 64
ctx->num_groups[1]: 64
ctx->num_groups[2]: 64
ctx->local_size[0]: 1
ctx->local_size[1]: 1
ctx->local_size[2]: 1
448537
Warps: 32, Threads: 2
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/sgemm/sgemm.hex -s -b
ctx->num_groups[0]: 64
ctx->num_groups[1]: 64
ctx->num_groups[2]: 64
ctx->local_size[0]: 1
ctx->local_size[1]: 1
ctx->local_size[2]: 1
2512219
Warps: 32, Threads: 4
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/sgemm/sgemm.hex -s -b
ctx->num_groups[0]: 64
ctx->num_groups[1]: 64
ctx->num_groups[2]: 64
ctx->local_size[0]: 1
ctx->local_size[1]: 1
ctx->local_size[2]: 1
1524192
Warps: 32, Threads: 8
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/sgemm/sgemm.hex -s -b
ctx->num_groups[0]: 64
ctx->num_groups[1]: 64
ctx->num_groups[2]: 64
ctx->local_size[0]: 1
ctx->local_size[1]: 1
ctx->local_size[2]: 1
936191
Warps: 32, Threads: 16
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/sgemm/sgemm.hex -s -b
ctx->num_groups[0]: 64
ctx->num_groups[1]: 64
ctx->num_groups[2]: 64
ctx->local_size[0]: 1
ctx->local_size[1]: 1
ctx->local_size[2]: 1
446168
Warps: 32, Threads: 32
../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/sgemm/sgemm.hex -s -b
ctx->num_groups[0]: 64
ctx->num_groups[1]: 64
ctx->num_groups[2]: 64
ctx->local_size[0]: 1
ctx->local_size[1]: 1
ctx->local_size[2]: 1
380334

View File

@@ -0,0 +1,51 @@
Warps: 2, Threads: 2
1.313778
Warps: 2, Threads: 4
1.869814
Warps: 2, Threads: 8
3.794385
Warps: 2, Threads: 16
7.532425
Warps: 2, Threads: 32
15.194329
Warps: 4, Threads: 2
1.373928
Warps: 4, Threads: 4
2.106374
Warps: 4, Threads: 8
4.214628
Warps: 4, Threads: 16
8.372964
Warps: 4, Threads: 32
16.604193
Warps: 8, Threads: 2
0.647895
Warps: 8, Threads: 4
1.232910
Warps: 8, Threads: 8
2.505588
Warps: 8, Threads: 16
5.622365
Warps: 8, Threads: 32
13.141898
Warps: 16, Threads: 2
0.683937
Warps: 16, Threads: 4
1.362874
Warps: 16, Threads: 8
2.877766
Warps: 16, Threads: 16
7.303546
Warps: 16, Threads: 32
12.981466
Warps: 32, Threads: 2
0.919473
Warps: 32, Threads: 4
1.601678
Warps: 32, Threads: 8
3.462736
Warps: 32, Threads: 16
7.460658
Warps: 32, Threads: 32
14.898925

View File

@@ -0,0 +1,27 @@
for PROJECT in sfilter; do
echo "" > $PROJECT.result
for number_of_warps in 2 4 8 16 32; do
for number_of_threads in 2 4 8 16 32; do
echo "$PROJECT = Warp Count: $number_of_warps Thread Count: $number_of_threads Launched"
echo "#define TOTAL_THREADS $number_of_threads" > ../../runtime/config.h
echo "#define TOTAL_WARPS $number_of_warps" >> ../../runtime/config.h
cd ../opencl/$PROJECT
make clean &>> /dev/null
make &>> /dev/null
cd ../../test_benchmark
echo "Warps: $number_of_warps, Threads: $number_of_threads" >> $PROJECT.result
# echo ../../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/$PROJECT/$PROJECT.hex -s -b &>> $PROJECT.result
../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/$PROJECT/$PROJECT.hex -s -b &>> $PROJECT.result
done
done
done

View File

@@ -0,0 +1,24 @@
PROJECT=sgemm
echo "" > $PROJECT.result
for number_of_warps in 2 4 8 16 32; do
for number_of_threads in 2 4 8 16 32; do
echo "Warp Count: $number_of_warps Thread Count: $number_of_threads Launched"
echo "#define TOTAL_THREADS $number_of_threads" > ../../runtime/config.h
echo "#define TOTAL_WARPS $number_of_warps" >> ../../runtime/config.h
cd ../opencl/$PROJECT
make clean &>> /dev/null
make &>> /dev/null
cd ../../test_benchmark
echo "Warps: $number_of_warps, Threads: $number_of_threads" >> $PROJECT.result
../../simX/obj_dir/Vcache_simX -E -a rv32i --core ../opencl/$PROJECT/$PROJECT.hex -s -b &>> $PROJECT.result
done
done

51
evaluation/run_tests.sh Executable file
View File

@@ -0,0 +1,51 @@
#!/bin/bash
set -e
mkdir -p test_outputs
output_dir="$(pwd)/test_outputs"
(cd rtl ; python3 gen_synth_configs.py ; ls -l configs)
config_location=rtl/configs
declare -a test_names=("sgemm" "saxpy" "bfs" "guassian" "vecadd" "nearn" "sfilter")
for test_name in ${test_names[@]}; do
if [ ! -d "benchmarks/new_opencl/$test_name" ]; then
echo "Unknown benchmark $test_name"
exit 1
fi
done
for filename in "$config_location"/*.sh; do
name=${filename##*/}
base=${name%.*}
. "$filename"
make -C rtl build_config
make -C runtime build_config
make -C driver/sw/rtlsim
for test_name in ${test_names[@]}; do
(
echo "Running $base-$test_name..."
cd "benchmarks/new_opencl/$test_name"
make clean
make
make run-rtlsim 2>&1 | tee "$output_dir/$base-$test_name.log"
) &
done # test_name
wait
done # config

View File

@@ -0,0 +1,8 @@
build_name,Fmax_Slow_900mV_100C,m20k,logic_utilization,total_registers,total_power,static_power
1cl-2c-8w-4t-8Kl2-4Kd-1Ki,154.01,2.3590121636564687,16.956694756554306,99408.0,3.64785,1.88908
1cl-2c-8w-8t-16Kl2-8Kd-1Ki,137.78,2.3590121636564687,23.021769662921347,134668.0,4.29923,1.95073
1cl-2c-8w-8t-8Kl2-4Kd-1Ki,131.22,2.3590121636564687,23.179541198501873,134129.0,4.31822,1.94177
1cl-4c-16w-8t-16Kl2-8Kd-1Ki,106.37,4.128271286398821,62.116573033707866,356954.0,7.92994,2.28735
1cl-4c-8w-8t-16Kl2-4Kd-1Ki,118.51,4.128271286398821,43.340823970037455,251029.0,6.34737,2.09685
1cl-4c-8w-8t-16Kl2-8Kd-1Ki,123.49,4.128271286398821,43.34199438202247,250895.0,6.34987,2.11429
2cl-4c-8w-4t-8Kl2-4Kd-1Ki,132.75,6.1924069295982305,56.91058052434457,322475.0,7.63097,2.27641
1 build_name Fmax_Slow_900mV_100C m20k logic_utilization total_registers total_power static_power
2 1cl-2c-8w-4t-8Kl2-4Kd-1Ki 154.01 2.3590121636564687 16.956694756554306 99408.0 3.64785 1.88908
3 1cl-2c-8w-8t-16Kl2-8Kd-1Ki 137.78 2.3590121636564687 23.021769662921347 134668.0 4.29923 1.95073
4 1cl-2c-8w-8t-8Kl2-4Kd-1Ki 131.22 2.3590121636564687 23.179541198501873 134129.0 4.31822 1.94177
5 1cl-4c-16w-8t-16Kl2-8Kd-1Ki 106.37 4.128271286398821 62.116573033707866 356954.0 7.92994 2.28735
6 1cl-4c-8w-8t-16Kl2-4Kd-1Ki 118.51 4.128271286398821 43.340823970037455 251029.0 6.34737 2.09685
7 1cl-4c-8w-8t-16Kl2-8Kd-1Ki 123.49 4.128271286398821 43.34199438202247 250895.0 6.34987 2.11429
8 2cl-4c-8w-4t-8Kl2-4Kd-1Ki 132.75 6.1924069295982305 56.91058052434457 322475.0 7.63097 2.27641