-
-
Notifications
You must be signed in to change notification settings - Fork 179
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
AdjacencyList
offset array can overflow
#2624
Comments
Oh dear. |
I'm going to think about other solutions: we only really need it in a few places (sparsity pattern and MatrixCSR) so I don't think we want to make it int64 everywhere... |
Then I guess we want to template it, but maybe make some wrappers already at the C++ level to avoid everything being moved into header files. |
I think I'm going to close this. On reflection, it is only useful when we have >50M dofs, and the associated matrix will occupy around 64Gb of memory, which is close to the limit, at the moment. We should however, have some kind of test to make sure we are not overflowing when creating sparsity patterns or matrices. |
This should be fixed at some point. The simplest approach might be (1) avoid AdjacencyList when we don't really need it (see #2632), and then (2) store the offsets in a |
AdjacencyList
offset array can overflow
How to reproduce the bug
Running a problem of sufficient size on one process (e.g. Q2 problem on mesh with 60 million dofs) can overwhelm the range of
AdjacencyList
.Possible solution: use 64-bit indexing for offsets in
AdjacencyList
or template it.Minimal Example (Python)
No response
Output (Python)
No response
Version
main branch
DOLFINx git commit
No response
Installation
No response
Additional information
No response
The text was updated successfully, but these errors were encountered: