diff --git a/tests/kernel/gemmini_mmio/main.cpp b/tests/kernel/gemmini_mmio/main.cpp index 053e0c25..3eaf3621 100644 --- a/tests/kernel/gemmini_mmio/main.cpp +++ b/tests/kernel/gemmini_mmio/main.cpp @@ -79,13 +79,22 @@ int main() { // gemmini_extended_compute_preloaded(spad_A, GARBAGE_ADDR, DIM, DIM, DIM, DIM); // gemmini_extended_mvout(0xc0000000, 0xff000000, DIM, DIM); // gemmini_extended_mvout_spad(spad_C, 1, acc_C, DIM, DIM); - + + uint32_t core_id; + asm volatile ("csrr %0, 0xcc2" : "=r" (core_id)); + printf("core id %d\n", core_id); + if (core_id > 0) return 0; + + uint32_t start_cycles, end_cycles; + asm volatile ("csrr %0, mcycle" : "=r" (start_cycles)); sp_tiled_matmul_full_spad_ws(spad_A, spad_B, /*spad_D=*/0, spad_C, /*I=*/I, /*J=*/J, /*K=*/K, /*pad_I=*/0, /*pad_J=*/0, /*pad_K=*/0, /*a_transpose=*/0, /*b_transpose=*/0, /*full_C=*/0, /*low_D=*/0, /*no_bias=*/1, /*repeating_bias=*/0, /*act=*/NO_ACTIVATION); fence(); + asm volatile ("csrr %0, mcycle" : "=r" (end_cycles)); + sprintf(print_buf, "gemmini cycles taken: %d\n", end_cycles - start_cycles); // check results for (int i = 0; i < I * DIM; i++) {