Re: [gem5-users] Getting single cache line from multiple channels of HBM

2019-09-29 Thread Nitish Srivastava
Hi Chenfeng,

Sorry for the late response. If you look into src/mem/Xbar.py the width of
SystemXbar is set to be 16-bytes. This means if you are running the network
at 1GHz, even though your HBM can support 128 GBps (with 8 channels), the
bandwidth from crossbar is 16*1 GHz = 16GBps. There might be multiple ways
to solve this issue. One way is to just increase the SystemXbar width from
16-bytes to 128 bytes. Then you should be able to achieve 128 GBps.

Let me know if this helps.

Thanks,
Nitish

On Tue, Sep 17, 2019 at 5:15 PM Zhao, Chenfeng 
wrote:

> Hi Nitish,
>
> I am also trying to use 8 channels of HBM to take advantage of 128Gbps
> bandwidth. However, I can only get 16GBps as well. I was wondering have you
> figured out how to solve this problem?
>
> Thanks a lot!
>
> Chenfeng Zhao
>
>
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

[gem5-users] Getting single cache line from multiple channels of HBM

2019-09-17 Thread Zhao, Chenfeng
Hi Nitish,

I am also trying to use 8 channels of HBM to take advantage of 128Gbps 
bandwidth. However, I can only get 16GBps as well. I was wondering have you 
figured out how to solve this problem?

Thanks a lot!

Chenfeng Zhao

___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

[gem5-users] Getting single cache line from multiple channels of HBM

2019-04-02 Thread Nitish Srivastava
Hi,

I have a streaming application which reads two arrays A and B sequentially
from the memory. I am trying to use HBM memory model (HBM_1000_4H_1x128) in
gem5 with 8 channels (without ruby). Since there are 8 channels and each
can provide 16 GBps, I want to achieve 8x16 = 128 GBps while reading a
single cache line from memory. I guess this is only possible when the lower
address bits are mapped to different channels? Out of the three address
mappings “RoRaBaChCo”, “RoRaBaCoCh” and “RoCoRaBaCh” supported in gem5 only
“RoRaBaCoCh” and “RoCoRaBaCh” allow the channel bits to be at LSB
positions. However, in dram_ctrl.cc in DRAMCtrl::init() there is an
assertion which ensures that an entire cache line is mapped to a single
channel which is preventing me to map a single cache line to multiple
channels.

if (system()->cacheLineSize() > range.granularity()) {
   fatal("Channel interleaving of %s must be at least as large "
"as the cache line size\n", name());
}

Is there a way I can achieve 128 GBps for this streaming application? Let
me know if you have suggestions. I tried running for different settings and
memory configurations but the achieved bandwidth is much lower than
128GBps. I also integrated the changes as mentioned in
https://www.mail-archive.com/gem5-users@gem5.org/msg16420.html but it
didn’t help either.

Thanks,
Nitish
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users