Benchmarking stuff
This commit is contained in:
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 "../intrinsics/vx_intrinsics.h"
|
||||||
#include "vx_api.h"
|
#include "vx_api.h"
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
|
|
||||||
|
#include "../config.h"
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define TOTAL_WARPS 2
|
|
||||||
#define TOTAL_THREADS 16
|
|
||||||
|
|
||||||
func_t global_function_pointer;
|
func_t global_function_pointer;
|
||||||
// void (func_t)(void *)
|
// void (func_t)(void *)
|
||||||
|
|
||||||
@@ -105,7 +106,7 @@ void pocl_spawn(struct context_t * ctx, const void * pfn, void * arguments)
|
|||||||
{
|
{
|
||||||
pocl_threads = TOTAL_THREADS;
|
pocl_threads = TOTAL_THREADS;
|
||||||
global_x = ctx->num_groups[0] / 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);
|
// printf("global_x: %d\n", global_x);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -149,8 +150,17 @@ void pocl_spawn(struct context_t * ctx, const void * pfn, void * arguments)
|
|||||||
unsigned end_inst = vx_getInst();
|
unsigned end_inst = vx_getInst();
|
||||||
|
|
||||||
|
|
||||||
printf("pocl_spawn: Total Cycles: %d\n", (end_cycles - starting_cycles));
|
unsigned total_cycles = (unsigned) (end_cycles - starting_cycles);
|
||||||
printf("pocl_spawn: Total Inst : %d\n", (end_inst - starting_inst ));
|
// 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 z;
|
||||||
// int y;
|
// int y;
|
||||||
|
|||||||
@@ -413,7 +413,7 @@ void Core::fetch()
|
|||||||
w[schedule_w].step(&inst_in_fetch);
|
w[schedule_w].step(&inst_in_fetch);
|
||||||
D(3, "Now " << w[schedule_w].activeThreads << " active threads in " << schedule_w << flush);
|
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);
|
D(3, "Got cache delays" << flush);
|
||||||
if (inst_in_fetch.stall_warp)
|
if (inst_in_fetch.stall_warp)
|
||||||
{
|
{
|
||||||
@@ -697,15 +697,15 @@ bool Core::running() const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Core::printStats() const {
|
void Core::printStats() const {
|
||||||
unsigned long insts = 0;
|
// unsigned long insts = 0;
|
||||||
for (unsigned i = 0; i < w.size(); ++i)
|
// for (unsigned i = 0; i < w.size(); ++i)
|
||||||
insts += w[i].insts;
|
// insts += w[i].insts;
|
||||||
|
|
||||||
cerr << "Total steps: " << steps << endl;
|
// cerr << "Total steps: " << steps << endl;
|
||||||
for (unsigned i = 0; i < w.size(); ++i) {
|
// for (unsigned i = 0; i < w.size(); ++i) {
|
||||||
// cout << "=== Warp " << i << " ===" << endl;
|
// // cout << "=== Warp " << i << " ===" << endl;
|
||||||
w[i].printStats();
|
// w[i].printStats();
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
Warp::Warp(Core *c, Word id) :
|
Warp::Warp(Core *c, Word id) :
|
||||||
@@ -836,13 +836,13 @@ bool Warp::interrupt(Word r0) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Warp::printStats() const {
|
void Warp::printStats() const {
|
||||||
cout << "Steps : " << steps << endl
|
// cout << "Steps : " << steps << endl
|
||||||
<< "Insts : " << insts << endl
|
// << "Insts : " << insts << endl
|
||||||
<< "Loads : " << loads << endl
|
// << "Loads : " << loads << endl
|
||||||
<< "Stores: " << stores << endl;
|
// << "Stores: " << stores << endl;
|
||||||
|
|
||||||
unsigned const grade = reg[0][28];
|
unsigned const grade = reg[0][28];
|
||||||
|
|
||||||
if (grade == 1) cout << "GRADE: PASSED\n";
|
// if (grade == 1) cout << "GRADE: PASSED\n";
|
||||||
else cout << "GRADE: FAILED " << (grade >> 1) << "\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;
|
// cout << "After for loop" << endl;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
cout << "pc: " << hex << (c.pc-4) << "\n";
|
D(3, "pc: " << hex << (c.pc-4));
|
||||||
cout << "aERROR: Unsupported instruction: " << *this << "\n" << flush;
|
D(3, "aERROR: Unsupported instruction: " << *this);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ int emu_main(int argc, char **argv) {
|
|||||||
// mu.attach(console, 0xf0000000);
|
// mu.attach(console, 0xf0000000);
|
||||||
|
|
||||||
// core.w[0].pc = 0x8000007c; // If I want to start at a specific location
|
// 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;
|
// bool count_down = false;
|
||||||
// int cycles_left;
|
// int cycles_left;
|
||||||
// while (!count_down || (count_down && (cycles_left == 0)))
|
// while (!count_down || (count_down && (cycles_left == 0)))
|
||||||
|
|||||||
Reference in New Issue
Block a user