mirror of
https://github.com/vortexgpgpu/vortex.git
synced 2025-04-23 13:27:29 -04:00
Benchmarking stuff
This commit is contained in:
parent
cec065b6fd
commit
44b8cdf5c1
11 changed files with 595 additions and 24 deletions
101
benchmarks/test_benchmark/saxpy.result
Normal file
101
benchmarks/test_benchmark/saxpy.result
Normal 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
|
||||
|
80
benchmarks/test_benchmark/sfilter.result
Normal file
80
benchmarks/test_benchmark/sfilter.result
Normal 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
|
||||
|
276
benchmarks/test_benchmark/sgemm.result
Normal file
276
benchmarks/test_benchmark/sgemm.result
Normal 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
|
51
benchmarks/test_benchmark/sgemm_ipc.result
Normal file
51
benchmarks/test_benchmark/sgemm_ipc.result
Normal 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
|
27
benchmarks/test_benchmark/test_all.sh
Normal file
27
benchmarks/test_benchmark/test_all.sh
Normal 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
|
24
benchmarks/test_benchmark/test_bench.sh
Normal file
24
benchmarks/test_benchmark/test_bench.sh
Normal 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
|
2
runtime/config.h
Normal file
2
runtime/config.h
Normal file
|
@ -0,0 +1,2 @@
|
|||
#define TOTAL_THREADS 4
|
||||
#define TOTAL_WARPS 4
|
|
@ -1,15 +1,16 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include "../intrinsics/vx_intrinsics.h"
|
||||
#include "vx_api.h"
|
||||
#include <inttypes.h>
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define TOTAL_WARPS 2
|
||||
#define TOTAL_THREADS 16
|
||||
|
||||
func_t global_function_pointer;
|
||||
// void (func_t)(void *)
|
||||
|
||||
|
@ -105,7 +106,7 @@ void pocl_spawn(struct context_t * ctx, const void * pfn, void * arguments)
|
|||
{
|
||||
pocl_threads = TOTAL_THREADS;
|
||||
global_x = ctx->num_groups[0] / TOTAL_THREADS;
|
||||
printf("pocl_threads: %d\n", pocl_threads);
|
||||
// printf("pocl_threads: %d\n", pocl_threads);
|
||||
// printf("global_x: %d\n", global_x);
|
||||
}
|
||||
else
|
||||
|
@ -149,8 +150,17 @@ void pocl_spawn(struct context_t * ctx, const void * pfn, void * arguments)
|
|||
unsigned end_inst = vx_getInst();
|
||||
|
||||
|
||||
printf("pocl_spawn: Total Cycles: %d\n", (end_cycles - starting_cycles));
|
||||
printf("pocl_spawn: Total Inst : %d\n", (end_inst - starting_inst ));
|
||||
unsigned total_cycles = (unsigned) (end_cycles - starting_cycles);
|
||||
// float total_inst = (float) (end_inst - starting_inst );
|
||||
|
||||
// float ipc = total_inst/total_cycles;
|
||||
|
||||
printf("%d\n", total_cycles);
|
||||
|
||||
vx_tmc(0);
|
||||
|
||||
// printf("pocl_spawn: Total Cycles: %d\n", );
|
||||
// printf("pocl_spawn: Total Inst : %d\n", (end_inst - starting_inst ));
|
||||
|
||||
// int z;
|
||||
// int y;
|
||||
|
|
|
@ -413,7 +413,7 @@ void Core::fetch()
|
|||
w[schedule_w].step(&inst_in_fetch);
|
||||
D(3, "Now " << w[schedule_w].activeThreads << " active threads in " << schedule_w << flush);
|
||||
|
||||
// this->getCacheDelays(&inst_in_fetch);
|
||||
this->getCacheDelays(&inst_in_fetch);
|
||||
D(3, "Got cache delays" << flush);
|
||||
if (inst_in_fetch.stall_warp)
|
||||
{
|
||||
|
@ -697,15 +697,15 @@ bool Core::running() const {
|
|||
}
|
||||
|
||||
void Core::printStats() const {
|
||||
unsigned long insts = 0;
|
||||
for (unsigned i = 0; i < w.size(); ++i)
|
||||
insts += w[i].insts;
|
||||
// unsigned long insts = 0;
|
||||
// for (unsigned i = 0; i < w.size(); ++i)
|
||||
// insts += w[i].insts;
|
||||
|
||||
cerr << "Total steps: " << steps << endl;
|
||||
for (unsigned i = 0; i < w.size(); ++i) {
|
||||
// cout << "=== Warp " << i << " ===" << endl;
|
||||
w[i].printStats();
|
||||
}
|
||||
// cerr << "Total steps: " << steps << endl;
|
||||
// for (unsigned i = 0; i < w.size(); ++i) {
|
||||
// // cout << "=== Warp " << i << " ===" << endl;
|
||||
// w[i].printStats();
|
||||
// }
|
||||
}
|
||||
|
||||
Warp::Warp(Core *c, Word id) :
|
||||
|
@ -836,13 +836,13 @@ bool Warp::interrupt(Word r0) {
|
|||
}
|
||||
|
||||
void Warp::printStats() const {
|
||||
cout << "Steps : " << steps << endl
|
||||
<< "Insts : " << insts << endl
|
||||
<< "Loads : " << loads << endl
|
||||
<< "Stores: " << stores << endl;
|
||||
// cout << "Steps : " << steps << endl
|
||||
// << "Insts : " << insts << endl
|
||||
// << "Loads : " << loads << endl
|
||||
// << "Stores: " << stores << endl;
|
||||
|
||||
unsigned const grade = reg[0][28];
|
||||
|
||||
if (grade == 1) cout << "GRADE: PASSED\n";
|
||||
else cout << "GRADE: FAILED " << (grade >> 1) << "\n";
|
||||
// if (grade == 1) cout << "GRADE: PASSED\n";
|
||||
// else cout << "GRADE: FAILED " << (grade >> 1) << "\n";
|
||||
}
|
||||
|
|
|
@ -2225,8 +2225,8 @@ void Instruction::executeOn(Warp &c, trace_inst_t * trace_inst) {
|
|||
// cout << "After for loop" << endl;
|
||||
break;
|
||||
default:
|
||||
cout << "pc: " << hex << (c.pc-4) << "\n";
|
||||
cout << "aERROR: Unsupported instruction: " << *this << "\n" << flush;
|
||||
D(3, "pc: " << hex << (c.pc-4));
|
||||
D(3, "aERROR: Unsupported instruction: " << *this);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
|
|
@ -104,7 +104,7 @@ int emu_main(int argc, char **argv) {
|
|||
// mu.attach(console, 0xf0000000);
|
||||
|
||||
// core.w[0].pc = 0x8000007c; // If I want to start at a specific location
|
||||
std::cout << "ABOUT TO START\n";
|
||||
// std::cout << "ABOUT TO START\n";
|
||||
// bool count_down = false;
|
||||
// int cycles_left;
|
||||
// while (!count_down || (count_down && (cycles_left == 0)))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue