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

Ability to address larger memory space with SimpleMemory (HAST-259) #27

Open
Piedone opened this issue Mar 2, 2018 · 0 comments
Open

Comments

@Piedone
Copy link
Member

Piedone commented Mar 2, 2018

SimpleMemory currently lets you address 8GB of memory with its int cellIndex (int.MaxValue * 32, since cells are 32b). This is sufficient for now, but we could support addressing more memory.

This can be done by making the size of the Hast_IP CellIndex port configurable in IDeviceManifest, so this can vary between FPGA devices. Though the user code would need to be adapted between platforms too so this is not ideal. Alternatively, we could use a 64b int for addressing in ˙SimpleMemory operations as well as in the Hast_IP ports.

However, the current limitation in .NET Framework is that even with gcAllowVeryLargeObjects enabled the maximum index of a single dimension can still be around int.MaxValue, so we wouldn't be able to use this when running as software. This can be overcome by making SimpleMemory be paged, i.e. use multiple arrays internally (if <2GB these can be even without gcAllowVeryLargeObjects) but have ulong indices in the interface.

After this device drivers for Alveo cards can be updated.

Jira issue

@github-actions github-actions bot changed the title Ability to address larger memory space with SimpleMemory Ability to address larger memory space with SimpleMemory (HAST-259) Sep 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant