Skip to content
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

Add macro for consistent sunrealtype formatting #498

Closed
wants to merge 90 commits into from

Conversation

Steven-Roberts
Copy link
Collaborator

@Steven-Roberts Steven-Roberts commented May 31, 2024

Putting in draft stage since there's many more places to add the macro, but I want to get the ok before proceeding. Is SUN_REAL_TYPE_FORMAT preferable to SUN_REAL_FORMAT? Or SUN_FORMAT_REAL?

Example of the formatting used: https://godbolt.org/z/EEjderKab

ashesh2512 and others added 30 commits March 12, 2024 15:48
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.
if (!start) { fprintf(fp, ","); }
for (size_t i = 0; i < count; i++)
{
fprintf(fp, "%s %zu,%ld", name, i, value[i]);
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note this format is slightly different than

fprintf(outfile, ",Sens stgr1[%i] NLS iters,%ld", is,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants