-
Notifications
You must be signed in to change notification settings - Fork 32
Buffer cleanup #455
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
base: master
Are you sure you want to change the base?
Buffer cleanup #455
Conversation
|
John very nice results! Can you also show this on Lumi and/or on Beverin? |
|
with GPU off you mean: -D Heffte_DISABLE_GPU_AWARE_MPI=OFF ? |
yes. exactly this |
|
@biddisco Could you please pull and merge the latest master as it contains a fix for the Jülich's CI. I can then add the label and check if the unit tests are passing. |
To improve messaging performance, we may wish to replace simple kokkos:views in buffer handling with an alternative implementation that allows for better alignment and caching. Additionally, code may leak communication buffers via direct use of kokkos views that are passed around from send/rec code into/out of fields or attributes. Placing buffers behind an API reduces the chance of this happening.
…copies Always reset read/write pos on buffer when getBuffer is called
…memory Kokkos::views are aligned to 64 byte boundaries, but communications can benefit from stronger alignment. Support user defined (compile time) alignment of higher order and create kokkos views inside manually allocated cuda memory
9cdd0f8 to
6f22411
Compare
|
The last commit seams to break the compilation: https://ippl-bc4558.pages.jsc.fz-juelich.de/365538/allure-report/index.html#suites/0a150a27af0a5eb1faedcb6100255f56/782113b35712612a/ |

This PR contains cleanups to buffer management that should improve default performance
This PR also adds support for logging using the spdlog library and the fmt library for clean messages, this can be enabled or disabled at compile time using IPPL_LOG_LEVEL off, trace, debug, warn, error, critical etc etc by default it is off, to use it, one needs to find_package spdlog, fmt which are now provided in uenvs for alps