-
Notifications
You must be signed in to change notification settings - Fork 134
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
Release/7.1.0 sync main with develop #511
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ROCm 6.0 removed the deprecated macros __HIP_PLATFORM_HCC__ and __HIP_PLATFORM_NVCC__. The macros __HIP_PLATFORM_AMD__ and __HIP_PLATFORM_NVIDIA__ should be used instead otherwise WRAP_SIZE is undefined. --------- Signed-off-by: Ashesh Sharma <[email protected]>
Update `HIP_PLATFORM` default to `amd` as the previous default, `hcc`, is no longer recognized in ROCm 5.7.0 or newer. The new default is also valid in older version of ROCm (at least back to version 4.3.1). --------- Co-authored-by: Daniel R. Reynolds <[email protected]>
Fixes broken links in the documentation identified with the `--nitpicky` option of `sphinx-build`. --------- Co-authored-by: David J. Gardner <[email protected]>
Correct `versionadded` in SUNAdaptController docs --------- Co-authored-by: David J. Gardner <[email protected]>
* Combine the package "Changes in" sections into a single shared RST changelog. * Move the most recent changes to a separate file that can be included in the Introduction chapter of each package with the rest of the changelog (including the recent changes) as an appendix. * Use the `intersphinx` package to make links to other package functions and sections work with the combined changelog i.e., references to other package functions and sections will link to the online documentation. This should help with converting the latex example docs to RST. Note, that `:ref:` must be used when referring to Chapters/Sections as `:numref:` does not work in this case. * Sync `CHANGELOG.md` and `Changelog.rst` to make them consistent * Add a `Makefile` to build all the RST docs at once * Add a script to start a new release cycle, copies recent changes into the changelog and clears the recent changes file. * Builds the docs for PRs --------- Co-authored-by: Balos, Cody, J <[email protected]>
Fixes inclusion of manyvector examples when cmake option is disabled Co-authored-by: David Gardner <[email protected]>
Changed the CMake version compatibility mode for SUNDIALS to `AnyNewerVersion` instead of `SameMajorVersion`. --------- Co-authored-by: David Gardner <[email protected]>
Fixed a bug in some Fortran examples where `c_null_ptr` was passed as an argument to a function pointer instead of `c_null_funptr`.
Add a section to the install guide on how to build sundials on Frontier. --------- Co-authored-by: Daniel R. Reynolds <[email protected]> Co-authored-by: David Gardner <[email protected]>
* Move high level description of SUNDIALS to docs landing page * Remove file tree figure from docs (addresses #443) * Remove organization section in shared docs
This fixes compilation warnings I had with `gcc` 8.5 using `-Wall`. Many of the static functions in `sundials_hashmap.h` were unused by files that included the header. After discussion with @balos1 moving the implementations into a .c file made more sense than adding the `inline` keyword to all the functions. --------- Co-authored-by: David Gardner <[email protected]> Co-authored-by: Cody Balos <[email protected]>
Add missing arkFree if arkCreate fails Add missing ARKStepFree if ARKStepCreate fails Add missing ERKStepFree if ERKStepCreate fails ---------- Co-authored-by: David Gardner <[email protected]>
Added CMake infrastructure that enables externally maintained addons to be optionally built with SUNDIALS. --------- Co-authored-by: David Gardner <[email protected]>
…#456) Fixes a bug where an MRI method would use the (likely corrupted) result of an inner stepper which returned with a recoverable error. Once adaptivity is supported, this could be handled similarly to ARK methods. --------- Co-authored-by: David Gardner <[email protected]>
Replaces #375 which has become too outdated to easily merge develop into.
Fixed a bug that caused error messages to be cut off in some cases. Fixes #461 --------- Co-authored-by: David Gardner <[email protected]>
Fixes memory leak when multiple error handlers are attached. Fixes #446 --------- Co-authored-by: David Gardner <[email protected]>
Fix a CMake bug that causes an MPI linking error in some C++ examples. Fixes #464
Create a shared UI for all ARKODE steppers. --------- Co-authored-by: Cody Balos <[email protected]> Co-authored-by: David Gardner <[email protected]>
Cleaned up ARKODE source code files so that function declarations/implementations are in more logical locations (following the restructuring of ARKODE's user-interface). --------- Co-authored-by: David Gardner <[email protected]>
- Adds new 1st-3rd order MRI methods. Most are from the literature, but the rest are trivial to derive, e.g., Euler-based schemes. - Adds some of the base ERK and IRK method tables too. Note that some cannot be equipped with reasonable embeddings. - Fixes an MRI reallocation bug when switching coupling coefficients to one with more stages - Fixes a workspace size bug for MRIStep - Makes `MRIStepSetOrder` consistent with `ARKStepSetOrder` and `ERKStepSetOrder` so that a negative value sets the default order and a positive value out of range prints an error (when method initialization occurs not when `SetOrder` is called). --------- Co-authored-by: Daniel R. Reynolds <[email protected]> Co-authored-by: David Gardner <[email protected]>
ARKodeSPRKTable_Create did not allocate coefficient arrays
Fix copy-paste error in order condition 6s
) For MinGW, setting the library prefix is not necessary and setting the library suffix to d.lib is incorrect. The static library suffix is .a for MinGW. Prepending those values to the list of library prefixes and suffixes might not actually cause an issue if no libraries are found that match those patterns. But slight ABI differences between MSVC and MinGW could lead to unexpected behavior when mixing binaries of both targets. This was already discussed in #407 (comment). But apparently that change got lost in one of the rebases in that PR. --------- Signed-off-by: Markus Mützel <[email protected]>
`long int` is 32 bits wide on systems that use an LLP64 data model (e.g., Windows). Use a type for which the C standard guarantees that it is 64-bit instead (i.e., `int64_t`). See the error in CI for PR #432. Signed-off-by: Markus Mützel <[email protected]> Co-authored-by: Cody Balos <[email protected]>
…h events (#479) Addresses https://hpc.llnl.gov/technical-bulletins/bulletin-568 and also limits our github action workflows to only run on push to certain branches.
MSYS2 follows a rolling release model. I.e., most of its packages are quite new most of the time. Adding the SuiteSparse libraries in the CI tests for MSYS2 might help to detect potentially API changes early. Signed-off-by: Markus Mützel <[email protected]> Co-authored-by: Cody Balos <[email protected]> Co-authored-by: David Gardner <[email protected]>
#455) Description --- Disambiguate shared and static libs `.lib` files on Windows using MSVC Suffix library output name with `_static` when building both static and shared libs on Windows Closes #454 --------- Co-authored-by: Markus Mützel <[email protected]> Co-authored-by: Cody Balos <[email protected]>
This fixes dll search on conda where dlls are expected to be installed in prefix/bin (pretty standard layout) static or import libs still go to prefix/lib Signed-off-by: Julien Schueller <[email protected]> Co-authored-by: Cody Balos <[email protected]>
…ons (#481) Co-authored-by: David Gardner <[email protected]> Co-authored-by: Cody Balos <[email protected]>
This is a tiny PR to updated the file folder layout for ARKODE's time-stepping module "usage" documents. Now that we do not separately document the C and Fortran interfaces in different folders, there is no need for our folder names to be, e.g., `Usage/ARKStep_c_interface/`.
This is essentially the exact file that GitHub proposes here: https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot#example-dependabotyml-file-for-github-actions Adding this file to the repository would simplify the update process of actions used in the CI. You might need to additionally enable dependabot for this repository to actually make this work. You should be able to find that setting on the "Insights" tab in the "Dependency graph" section. If it works, the bot will automatically create PRs for CI actions that are out of date. You can still decide to not merge those PRs. So everything will still be in your hands. Potential caveat: This file might need to exist on the default branch of this repository (i.e., `main`) to actually have an effect. Signed-off-by: Markus Mützel <[email protected]>
Casting between `int64_t *` and `int32_t *` does *not* maintain the values in the array. Instead, it tells the compiler to interpret the memory at that pointer as an array of a different type (i.e., two `int32_t` elements "become" one `int64_t` element). That can lead to all kinds of errors and is likely not what was intended. Remove the pointer casts to allow the compiler to emit an error on compile-time instead of potentially causing, e.g., an array overflow on runtime if `sunindextype` has a different size from `KLU_INDEXTYPE`. --------- Signed-off-by: Markus Mützel <[email protected]> Co-authored-by: Cody Balos <[email protected]>
32-bit and 64-bit Windows systems are different to 32-bit and 64-bit Linux systems, e.g., when it comes to the data model. Add a runner to the CI that builds for Windows 32-bit for coverage. Signed-off-by: Markus Mützel <[email protected]>
Switches from a vector of table names (which was often not updated) to iterating over the enum of tables so methods get included in this test automatically.
Add support for disabling interpolated output in ARKODE steppers by passing `ARK_INTERP_NONE` to `ARKodeSetInterpolantType`. Disabling interpolation can reduce the memory footprint of an integrator by two or more state vectors (depending on the interpolation type and degree) which can be beneficial when interpolation is not needed e.g., when integrating to a final time without output in between or using an explicit fast time scale integrator with MRIStep. When interpolation is disabled, rootfinding is not supported, implicit methods must use the trivial predictor, interpolation at stop times cannot be used, and calls to `ARKodeEvolve` in `ARK_NORMAL` mode will return at or past the requested output time. --------- Co-authored-by: Cody Balos <[email protected]> Co-authored-by: Daniel R. Reynolds <[email protected]>
Address a couple missing things noted in #488 after it was merged. --------- Co-authored-by: David Gardner <[email protected]>
Ginkgo now refers to DPC++ as SYCL (inline with what Intel is doing), so this just updates our interface to match the naming convention. --------- Co-authored-by: David Gardner <[email protected]>
Fix broken references in docs with "nitpicky" mode
Add Fortran `-check` flags with `ENABLE_ALL_WARNINGS`
Add `SUNDIALS_MAYBE_UNUSED` macro to suppresses warnings on unused entities.
…he Trivial Predictor (#495) Add the function ``ARKodeSetAutonomous`` to indicate that the implicit right-hand side function does not explicitly depend on time. When using the trivial predictor, an autonomous problem may reuse implicit function evaluations across stage solves reducing the total number of function evaluations. --------- Co-authored-by: Daniel R. Reynolds <[email protected]> Co-authored-by: Cody Balos <[email protected]>
Add initial log parsing Python library --------- Co-authored-by: Daniel R. Reynolds <[email protected]> Co-authored-by: David J. Gardner <[email protected]>
Update the the SWIG generation and CMake build system to support Fortran interfaces for 32-bit or 64-bit sunindextype. --------- Co-authored-by: David Gardner <[email protected]> Co-authored-by: Daniel R. Reynolds <[email protected]>
Revert changes to FindKLU made in #447
Fixes various issues related to building Fortran interfaces and examples on Windows
Correct required CMake version from 3.12+ to 3.18+ --------- Co-authored-by: David Gardner <[email protected]>
Add Fortran formatting to CI and apply it
gardner48
requested review from
balos1,
cswoodward and
drreynolds
as code owners
June 20, 2024 16:30
balos1
approved these changes
Jun 20, 2024
balos1
changed the title
Release/7.0.0 sync main with develop
Release/7.1.0 sync main with develop
Jun 20, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.