accel-sim / accel-sim-framework

This is the top-level repository for the Accel-Sim framework.
https://accel-sim.github.io
Other
308 stars 118 forks source link

defining variable number of memory modules #184

Closed beneslami closed 1 year ago

beneslami commented 1 year ago

Hi.

In my project, I set the -gpgpu_n_mem to 144 but I got the below error: "addrdec.cc:138: void linear_to_raw_address_translation::addrdec_tlx(new_addr_type, addrdec_t*) const: Assertion `!gap' failed"

when I dig into the code, I realized that the number of memory module should be a power of 2. " gap = (n_channel - ::powli(2, nchipbits));"

My question is that, is it possible to change the code in a way that it supports variable number of memory modules?

Thanks

JRPan commented 1 year ago

It's probably the hash function you chose for address decoding must have power of 2. Check that function you mentioned. I think IPOLY does not require a power of 2. Or you can create your custom.