Open cyyself opened 1 year ago
Hi,
Thanks for spotting this. Ramulator 2.0 does support writes in the DRAM model. The reason for this is that the SimpleO3
processor frontend that comes with Ramulator 2.0 does not block on writes, thus no write callback is needed.
This will cause issues if the user is using another frontend (e.g., in your case, your own frontend) that do needs write callbacks. We will modify the controller code to account for this,
I tried to use ramulator2 to test DDR write performance. A simple code is shown above:
A simple YAML file is shown above:
If I specify the
type
to1
, the request type isRamulator::Request::Type::Write
. I will never get a request callback.My running result:
After investigating the code, I found that the GenericDRAMController does not support write transactions and leaves the TODO in the code generic_dram_controller.cpp#L123.
If I copy the two lines of code from the read transaction processing to the write transaction processing and then recompile the ramultor2, I will get the callback from the write transaction but use the read latency for write transactions.
Is it my fault for misusing the ramulator2, or is the write transaction not supported now?