Hansung Kim
3729a05adc
vx_spawn.c: Separate cluster-based scheduling code from original
2024-03-26 16:36:57 -07:00
Hansung Kim
f050a08d77
Write vx_spawn_tasks_cluster
...
This scheduling logic tries to evenly distribute warps across *all* cores,
instead of trying to fill up the first cores as much as possible. This scheme
is necessary for the intra-cluster cores which are assumed to have equal
workloads distributed.
2024-03-26 10:45:14 -07:00
Hansung Kim
7f00e6c376
vecaddx: Change arg device address to 7fff0000
2024-03-26 10:44:33 -07:00
Hansung Kim
cc7b34ec5b
vecaddx: Write args.bin and input.bin
2024-03-26 10:44:02 -07:00
Hansung Kim
ff401bdec0
Cleanup tests/.gitignore
2024-03-24 01:47:00 -07:00
Hansung Kim
7d177492b2
Move CORES_PER_CLUSTER to vx_spawn.h
2024-03-24 01:45:30 -07:00
Hansung Kim
8f3474b151
Don't clean *.bin
2024-03-24 01:45:08 -07:00
Hansung Kim
f590c4b417
Add vx_spawn.h as dependency to kernel/Makefile
2024-03-24 01:44:49 -07:00
joshua
b254281295
initial tcore impl
2024-03-21 01:29:38 -07:00
Richard Yan
c18267443f
matmul kernel switch to proper fence and fsm
2024-03-20 15:22:25 -07:00
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