Commit Graph

11 Commits

Author SHA1 Message Date
Hansung Kim
e4eec8ab4d vx_spawn.c: Handle num_clusters > 1
WIP: still assumes num_tasks is divisible by num_cluster
2024-03-28 20:16:44 -07:00
Hansung Kim
870846f20f vx_spawn.c: Create separate vx_spawn_tasks_contiguous 2024-03-27 15:38:52 -07:00
Hansung Kim
4e834f2103 vx_spawn.c: Rewrite cluster-based vx_spawn_tasks variant
Implements round-robin allocation of warps to cores & maintains contiguous
thread ID allocation to neighboring threads.  Also handles partially-enabled
remainder warp logic.

TODO: Hardcodes only 1 cluster in the system.
2024-03-27 15:14:45 -07:00
Hansung Kim
df1f7f242a vx_spawn.c: Implement spawn_tasks_cluster_rem_stub 2024-03-27 00:00:44 -07:00
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
7d177492b2 Move CORES_PER_CLUSTER to vx_spawn.h 2024-03-24 01:45:30 -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
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
Blaise Tine
4e7a536918 adding tensor regression test. 2023-11-14 05:37:46 -08:00
Blaise Tine
c1e168fdbe Vortex 2.0 changes:
+ Microarchitecture optimizations
+ 64-bit support
+ Xilinx FPGA support
+ LLVM-16 support
+ Refactoring and quality control fixes

minor update

minor update

minor update

minor update

minor update

minor update

cleanup

cleanup

cache bindings and memory perf refactory

minor update

minor update

hw unit tests fixes

minor update

minor update

minor update

minor update

minor update

minor udpate

minor update

minor update

minor update

minor update

minor update

minor update

minor update

minor updates

minor updates

minor update

minor update

minor update

minor update

minor update

minor update

minor updates

minor updates

minor updates

minor updates

minor update

minor update
2023-11-10 02:47:05 -08:00