8x8 matrix multiplication using AAM

This commit is contained in:
2024-01-06 17:34:31 +01:00
parent 92499fe95b
commit 29d9cee52c
3 changed files with 117 additions and 64 deletions

View File

@@ -18,7 +18,7 @@ use half::f16;
use nalgebra::Matrix;
use pim::{
array::{DummyArray, PimMatrixArena, PimStorage, NUMBER_OF_BANKS},
kernel::{execute_matrix_multiply, MATRIX_MUL},
kernel::{execute_matrix_multiply_rowwise, MATRIX_MUL},
state::PimState,
vector::{F16x1, F16x16},
};
@@ -49,13 +49,13 @@ pub extern "C" fn entry() -> ! {
pim_state.set_kernel();
let pim_matrix_arena0 = Rc::new(RefCell::new(PimMatrixArena(
[[[F16x16::default(); NUMBER_OF_BANKS]; 3]; 3],
[[[F16x16::default(); NUMBER_OF_BANKS]; 8]; 8],
)));
let pim_matrix_arena1 = Rc::new(RefCell::new(PimMatrixArena(
[[[F16x16::default(); NUMBER_OF_BANKS]; 3]; 3],
[[[F16x16::default(); NUMBER_OF_BANKS]; 8]; 8],
)));
let pim_matrix_arena2 = Rc::new(RefCell::new(PimMatrixArena(
[[[F16x16::default(); NUMBER_OF_BANKS]; 3]; 3],
[[[F16x16::default(); NUMBER_OF_BANKS]; 8]; 8],
)));
let pim_storage0 = PimStorage {
arena: &pim_matrix_arena0,
@@ -92,7 +92,7 @@ pub extern "C" fn entry() -> ! {
let mut dummy_array = Box::new(DummyArray([F16x16::default(); NUMBER_OF_BANKS]));
barrier::dsb(barrier::SY);
execute_matrix_multiply(
execute_matrix_multiply_rowwise(
&mut pim_state,
&mut pim_matrix_arena0.borrow_mut(),
&mut pim_matrix_arena1.borrow_mut(),