-
Notifications
You must be signed in to change notification settings - Fork 90
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
Outerloop suggestions #2495
Outerloop suggestions #2495
Conversation
Store function pointers for the specific HYPRE solver implementations in the `HypreSystem` constructor
Automatically copies README.md and data/BOUT.inp if they exist. Also use `REQUIRES` argument to specify build requirement
- Make M, x, b, linearsystem all values instead of pointers - Remove unused headers - Use newer Options/Output API - clang-format
1fc0718
to
f56c510
Compare
Hmm, merging in |
f56c510
to
9de2830
Compare
I've reverted the |
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.
clang-tidy made some suggestions
I think RTD is failing due to something we've fixed in |
use git submodule for cloning on RTD
Co-authored-by: Peter Hill <peter.hill@york.ac.uk>
older version not tested, but should still work
I have newer python versions installed for testing, but they dont have all the libraries installed, thus bout++ always fails. If a new enough cmake is present we should find the one that appears first in PATH, rather then the most recent one. It is easy to change PATH to ensure the correct python is found.
ensure zoidberg is installed for documentation
find python based on path
Check the bout++Config.cmake file is working
Adds a header for common backports shared between the different SUNDIALS solvers such that the main code only needs to differentiate between SUNDIALS pre/post 3.0.0
Various fixes and updates for CI
Add backports and shims for SUNDIALS 6
* next: (27 commits) Also avoid warning from CMP0127 ensure zoidberg is installed for documentation Using python based on version is a pain. Add comments Update filename for cmake Ensure all files get formatted Add bout++Config.cmake check to CI Fix NLS detection use git submodule for cloning on RTD CI: Cancel previous workflows on same branch CI: Apply clang-format changes immediately CI: Only run clang-tidy on changes to C++ files CI: Turn off Python for clang-tidy CI: Better fix for clang-format? CI: Fix clang-tidy-review version CI: Fix for actions/checkout not fetching other branches CI: Tweak some build names CI: Make CMake build use release flags CI: Remove unneeded HDF5 flag from build CI: Remove OpenMP build ...
Add support for SUNDIALS 6
Conflicts: CMakeLists.txt
@@ -1,8 +1,8 @@ | |||
cmake_minimum_required(VERSION 3.13...3.16) | |||
if(${CMAKE_VERSION} VERSION_LESS 3.13) | |||
cmake_minimum_required(VERSION 3.17...3.20) |
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.
The clang-tidy-review CI has only cmake 3.16 - so that workflow needs to be adapted.
Outerloop suggestions - resolve merge conflicts
Previously nvcc would fail claiming that symbols were defined multiple times. Now needs these symbols to be defined or linker errors result.
HYPRE_SOLVER_TYPE can't be directly formatted with nvcc compiler, but needs to be first converted to a string.
More cori nvcc fixes
There's one breaking change in here: CMake will now look for
HYPRE_ROOT
instead ofHYPRE_DIR/HYPRE_SEARCH_DIR
, as*_ROOT
is more idiomatic (and more importantly, built-in) CMake.That probably means some of the config scripts will need updating.
This fixes various of @johnomotani, mine, and clang-tidy's comments on #2397, and manages to shave a few hundred lines off the PR.
There's still a few things I've not fixed. The hypre interface still uses
malloc
and I would very much like to get rid of that if possible.next
needs to be merged in and conflicts fixed.