-
Notifications
You must be signed in to change notification settings - Fork 29
Fix multiply kernel memory leak #293
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
Conversation
|
I tested this change on all multiply kernels in https://github.com/OrderN/CONQUEST-release/actions/runs/7045441423 and the tests pass so it's ready |
ilectra
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks fine, but I still don't understand why it worked! See my review comment in #292 (comment)
|
Actually, with this change we can just pass slices of See #294 |
While part_array may not matter anymore, ndimi and ndimj from the halo structure will.
|
I have added two small but important changes: we now zero |
Closes #280
Uses assumed shape arrays for remote index arrays. These can vary in size and using a fixed size leads to accessing uninitialized memory.
Edit: I wanted to clarify that the inputs you gave in #292 still fail for me on all multiply kernels. So I'm not claiming to fix that issue. But I discovered a different issue and I'm fixing it 😀
Edit2: The reason the inputs from #292 fail for me is that my machine runs out of memory. Based on our last discussion that is to be expected with the size of the problem.