sgemm_impl: Add mmio reconverge barrier to avoid slip-off; switch to FP32

This commit is contained in:
Hansung Kim
2024-10-02 15:17:44 -07:00
parent 34d0956cd5
commit 68cd6455fe

View File

@@ -6,7 +6,7 @@
#include "include/gemmini.h" #include "include/gemmini.h"
#include "gemmini_mmio.h" #include "gemmini_mmio.h"
#define FP_SIZE 16 #define FP_SIZE 32
// "fake" fp16 type that only has the correct data width. // "fake" fp16 type that only has the correct data width.
using float16_t = uint16_t; using float16_t = uint16_t;
@@ -822,6 +822,10 @@ __attribute__((always_inline)) inline void thread_block_gemm_single_tile(
if (tid_in_threadblock == 0) { if (tid_in_threadblock == 0) {
gemmini_fence(); gemmini_fence();
} }
// reconverge after mmio
threadblock_barrier(threadblock_id_in_cluster,
warps_per_threadblock_per_core);
} }
if constexpr (write_to_mem) { if constexpr (write_to_mem) {