Commit Graph

2504 Commits

Author SHA1 Message Date
Richard Yan
94ad1850a9 implement correct gemmini fence and loop fsm support 2024-03-20 15:18:31 -07:00
joshua
f9b4509936 initial tensor core 2024-03-20 02:46:00 -07:00
joshua
978dd3bdfe seemingly working fp32 implementation 2024-03-19 17:56:59 -07:00
Hansung Kim
12ee2a3a0f Write cluster-aware thread scheduling
NOTE: cores per cluster is hardcoded as a constant
2024-03-18 16:40:02 -07:00
Hansung Kim
3e6771237f Merge remote-tracking branch 'sungwoong/master' into kernels 2024-03-14 09:48:31 -07:00
Hansung Kim
2036d37840 sgemm_wg: Prevent run-ahead using ternary flags; reduce mem accesses 2024-03-13 21:35:24 -07:00
Hansung Kim
510a834db5 sgemm_wg: Implement software barrier for inter-core synchronization 2024-03-12 15:34:42 -07:00
Hansung Kim
fbe872c831 sgemm_wg: Add missing makefile dep to common.h 2024-03-12 15:34:17 -07:00
joshua
beb3dce46d integer reduction unit 2024-03-06 01:39:17 -08:00
Sungwoong Ha
3c2a266d37 second pass 2024-03-01 21:27:26 -08:00
Sungwoong Ha
a9709edae2 first pass 2024-03-01 21:05:52 -08:00
Hansung Kim
6f4dfe5a0e sgemm_wg: Implement 2D threadtiling 2024-02-29 14:40:54 -08:00
Hansung Kim
a06b2dd20e sgemm_wg: Cleanup & proper unroll 2024-02-28 21:17:42 -08:00
Hansung Kim
46f242e520 sgemm_wg: Constantify BM/BN/BK/TM, computationally set gridsize and TB/core 2024-02-27 22:23:25 -08:00
Hansung Kim
27646bb507 sgemm_wg: Implement multiple C per thread with sliding A/B blocks 2024-02-27 22:06:01 -08:00
Hansung Kim
a2ea27b2b5 vx_spawn: Add spawn_tasks_contiguous_all_stub
Spawns tasks in a way that the threads in a warp see contiguous
thread_id, unlike the original variant where each thread were allocated
a range of thread_id that spans the number of batches.

E.g. in a 4-thread config, instead of mapping IDs (0,2,4,6)->(1,3,5,7),
map (0,1,2,3)->(4,5,6,7).

TODO remaining logic not implemented.
2024-02-27 15:46:02 -08:00
Hansung Kim
2b1b5fe537 convolution: Fix write_operand_file after upstream merge 2024-02-27 15:45:22 -08:00
Hansung Kim
f1e7407d3a sgemm_wg: Run multiple threadblock per core 2024-02-27 15:44:04 -08:00
Richard Yan
5b1c527186 Merge branch 'kernels' of https://github.com/hansungk/vortex into kernels 2024-02-24 00:27:23 -08:00
Richard Yan
914864206a MMIO gemmini matmul kernel 2024-02-24 00:27:16 -08:00
Sungwoong Ha
be7d87c82d temp 2024-02-22 16:31:42 -08:00
Hansung Kim
d2da0d3394 sgemm_wg: Parameterize threadblock dimensions 2024-02-17 18:05:59 -08:00
Hansung Kim
301f1ca260 sgemm_wg: Implement blocking over k-dimension 2024-02-16 16:20:57 -08:00
Hansung Kim
5f79e8a3f1 sgemm_wg: reference matmul in cpu 2024-02-12 22:29:38 -08:00
Hansung Kim
6b420aceb6 sgemm_wg: write simple C=A*A matmul 2024-02-12 22:22:28 -08:00
Hansung Kim
a43d5eb1a7 Merge remote-tracking branch 'upstream/master' into kernels 2024-02-12 20:50:32 -08:00
Hansung Kim
6a1a506b64 sgemm_wg: save args and input bin 2024-02-12 20:49:08 -08:00
Hansung Kim
f586ab28df vecadd: save operand to file 2024-02-12 20:49:08 -08:00
Hansung Kim
5a216ef9ca flops: unroll by 16 2024-02-12 20:49:08 -08:00
Blaise Tine
5f2b10b8a6 minor update 2024-02-09 21:20:23 -08:00
Blaise Tine
3fee1a6193 minor update 2024-02-09 20:34:44 -08:00
Richard Yan
c258557999 Merge branch 'kernels' of https://github.com/hansungk/vortex into kernels 2024-02-08 17:05:37 -08:00
Richard Yan
12bdab8043 update gemmini matmul kernel 2024-02-08 17:00:19 -08:00
Blaise Tine
ae7b01405c CI minor update 2024-02-08 14:10:00 -08:00
Hansung Kim
ad8bf9b223 Add sgemm_wg C kernel 2024-02-07 21:31:08 -08:00
Blaise Tine
be0db6e1a5 minor update 2024-02-04 20:32:05 -08:00
Blaise Tine
50028c1a33 Merge remote-tracking branch 'origin' into develop 2024-02-04 20:19:30 -08:00
Blaise Tine
8d4b6c804f minor update 2024-02-04 20:17:12 -08:00
Blaise Tine
6f7a389a1f arbiters unlock refactoring 2024-02-04 20:16:18 -08:00
Blaise Tine
fe15647f98 minor update 2024-02-04 02:11:53 -08:00
Blaise Tine
b0b7cd2b1e minor updates 2024-02-03 19:09:53 -08:00
Hansung Kim
b5bfa7d4b9 Fix bogus spad address 2024-02-01 14:05:13 -08:00
Hansung Kim
0462a91953 Update mmio kernel to do single gemm 2024-02-01 13:52:29 -08:00
Blaise Tine
f9cd8be19e minor update 2024-01-31 13:35:43 -08:00
Blaise Tine
dab262e4f7 Merge branch 'develop' of https://github.com/vortexgpgpu/vortex into develop 2024-01-31 12:03:50 -08:00
Blaise Tine
8ab7c590fd disabling fetch's deadlock check when L1 caches are present 2024-01-31 06:16:54 -08:00
Blaise Tine
e2d1387df8 elastic buffers classification 2024-01-31 00:39:37 -08:00
Shinnung Jeong
fd65ed95eb fix bug to access memory address in simx 2024-01-30 20:45:47 -05:00
Blaise Tine
b31d868a27 Merge branch 'develop' 2024-01-28 17:34:46 -08:00
Blaise Tine
b6919d19a7 minor update 2024-01-28 17:34:07 -08:00