Open Evane5cence opened 1 month ago
I need more info. What did you change? Did you change the trace directly?
Thanks for the reply! I did not change the trace. I changed the address of mf using a certain formula.
at what stage? At mf allocation?
which function did you change.
At the stage when the interconnect passes the mf to the L2 cache, I modify the address of the mf. When the L2 cache passes the mf back to the interconnect, I restore the original address.
This sounds like fine. Without seeing your code I cannot really help much.
But my guess is mf is being directed to somewhere else. Or the mf gets merged at L2, but failed to notify L1 when writeback.
My recommendation would be just to modify the address at mf allocation and keep it like that. No need to restore it back. If you just want to redirect the mf to different L2 banks, you can just change the memory subpartition hash function, without changing the address.
Thanks! May I ask what is the base_addr of L1/DRAM? How can I retreive them?
i only see the shmem base_addr and local mem base_addr
base_addr is for local and shmem only. the actual address is base_addr + offset. You can consider this as an allocated array.
L1/DRAM is global memory, which uses the global address. the address for each instruction can be found in mem_access_t object.
Hi,
I slightly modified the kernel to implement a simple function and run GEMM, but I encountered a deadlock. This only occurs when the matrix size is large (4096x4096). May I ask if there is any indication of why this might happen? Is there a common reason for this?
Thank you!!!