Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Size of each transaction #35

Open
kaustubhcs opened this issue Feb 26, 2023 · 1 comment
Open

Size of each transaction #35

kaustubhcs opened this issue Feb 26, 2023 · 1 comment

Comments

@kaustubhcs
Copy link

I was wondering what the number of bits each transaction fetches are.
For example, while using the "HBM2_8Gb_x128.ini" when an address (0x7F00) is READ.

Do you receive 8 bits, 32 bits, 128 bits, or 1024 bits of data?

I am assuming since the bus_width is 128 and the number of channels are 8,
We are fetching 128 * 8 = 1024 bits at a time.

Experimentation, making an assumption with 1024-bit fetches, show that the peak bandwidth of HBM2 is 119.203 GB/s.
This seems to be close to the theoretical peak of 128 GB/s.

Also, how do you model sending different addresses to the eight independent channels in the HBM stack.

Should I create eight different Memory controllers, or just one should do it?
Is it recommended to send multiple transactions per cycle to the HBM?

Any help is appreciated.

Thank you,
Kaustubh Shivdikar

@NicolasMeseguer
Copy link

A very interesting question. I would like to know on what basis you calculate the theoretical bandwidth of 128 GB/s. If I am not mistaken in HBM2 memory modules the theoretical bandwidth is 256 GB/s.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants