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

Feature/error handling just the core #373

Merged
merged 306 commits into from
Dec 7, 2023
Merged
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
306 commits
Select commit Hold shift + click to select a range
3cd7a85
remove unused flag
balos1 Nov 5, 2023
454203a
Merge branch 'feature/remove-deprecated-code' into feature/remove-dep…
balos1 Nov 5, 2023
7764a5b
regen fortran
balos1 Nov 5, 2023
22c9bf3
clean up more use of Diagnostics
balos1 Nov 5, 2023
1af246d
Merge branch 'feature/remove-deprecated-code' into feature/remove-dep…
balos1 Nov 5, 2023
31d3115
remove sundials_lapack.h from install list
balos1 Nov 6, 2023
1212aea
Merge branch 'feature/remove-deprecated-code' into feature/remove-dep…
balos1 Nov 6, 2023
f136670
Merge remote-tracking branch 'origin/feature/remove-deprecated-code-t…
balos1 Nov 6, 2023
8a8ae96
update fortran
balos1 Nov 6, 2023
a10585b
use SUN_RCONST
balos1 Nov 6, 2023
6bcaa1a
Merge remote-tracking branch 'origin/feature/remove-deprecated-code-t…
balos1 Nov 6, 2023
a6f9327
replace opaque SUNCheckCallLastErr macro with explicit version
balos1 Nov 6, 2023
d74c002
create a mpi addon oject lib for mpi errors
balos1 Nov 6, 2023
2b39a12
remove KINSetInfofile
balos1 Nov 6, 2023
cf16ebf
Release/6.6.2 (#363)
balos1 Nov 6, 2023
7f6f328
Merge branch 'develop' into feature/remove-deprecated-code
balos1 Nov 6, 2023
1cbfa1f
remove warnings to stdout
balos1 Nov 6, 2023
447eafa
Merge remote-tracking branch 'origin/develop' into feature/remove-dep…
balos1 Nov 7, 2023
5806bc6
Merge branch 'feature/remove-deprecated-code' into feature/remove-dep…
balos1 Nov 7, 2023
752c350
update action to sunrealtype
balos1 Nov 7, 2023
787fd87
rename sundials_generic to sundials_core
balos1 Nov 6, 2023
e72774f
always link to sundials_core rather than include its objects
balos1 Nov 6, 2023
52ac7c6
update N_VGetCommunicator to use SUN_Comm
balos1 Nov 6, 2023
573e35c
update GetCommunicator docs
balos1 Nov 6, 2023
9fd7103
update swig
balos1 Nov 6, 2023
1a8d35e
use SUN_Comm in profiler and logger
balos1 Nov 6, 2023
1c85937
rename sundials_fgeneric to sundials_fcore
balos1 Nov 6, 2023
74a8b60
fix comm use with logger in fortran
balos1 Nov 6, 2023
66571a6
update signatures in docs and recent changes
balos1 Nov 7, 2023
04efe89
fix typo
balos1 Nov 7, 2023
5f02834
update types section to be in the "Using SUNDIALS" section
balos1 Nov 7, 2023
d202111
remove DFID
balos1 Nov 7, 2023
f16bc3c
remove KINInfoHandler
balos1 Nov 7, 2023
820a6f6
Merge remote-tracking branch 'origin/develop' into feature/remove-dep…
balos1 Nov 8, 2023
afbc36f
remove unused variable
balos1 Nov 8, 2023
aeb11af
Merge remote-tracking branch 'origin/develop' into feature/udpating-a…
balos1 Nov 9, 2023
0c7c9a2
Merge branch 'develop' into feature/udpating-answers-instructions
balos1 Nov 9, 2023
a2be7dc
Merge branch 'develop' into feature/remove-deprecated-code
balos1 Nov 9, 2023
83f2c7c
remove unused variables
balos1 Nov 9, 2023
6fcb7cb
Update examples/arkode/CXX_xbraid/ark_heat2D_hypre_pfmg_xbraid.cpp
balos1 Nov 9, 2023
4e1a6ec
doc fixes
balos1 Nov 9, 2023
8d5e784
address more small comments
balos1 Nov 9, 2023
4741472
fix translation of commptr to comm
balos1 Nov 10, 2023
b771e51
SUN_Comm to SUNComm for consistency with other types
balos1 Nov 10, 2023
7e78db8
update vectors I missed before
balos1 Nov 10, 2023
da8d24f
Fixed broken builds due to incorrect usage of SUNLogger_Create
drreynolds Nov 10, 2023
10f3796
change SUNContext_Create to accept SUN_Comm
balos1 Nov 9, 2023
4243820
find and replace SUNContext_Create with NULL to use SUN_COMM_NULL
balos1 Nov 9, 2023
2f43654
find and replace passing of comm pointer to SUNContext_Create with pa…
balos1 Nov 9, 2023
3e0b632
SUN_Comm to SUNComm for consistency with other types
balos1 Nov 10, 2023
7440e5a
post merge fix
balos1 Nov 10, 2023
303ab8e
change comm NULL check
balos1 Nov 10, 2023
aadc4b2
Fix fortran interface to MPI_Comm, address calls to MPI functions bef…
balos1 Nov 10, 2023
86ddddb
fix C++ interface to SUNContext
balos1 Nov 10, 2023
09ff282
fix a call to SUNProfiler_Create
balos1 Nov 10, 2023
b683c61
fix typo
balos1 Nov 10, 2023
4cff0ae
remove delted functions from soruce
balos1 Nov 10, 2023
b601820
remove unused kinsol parts
balos1 Nov 10, 2023
9690f3d
remove use of printfl
balos1 Nov 10, 2023
4a8ad53
change default logging level
balos1 Nov 10, 2023
dbf7f3f
remove more unused stuff in arkode
balos1 Nov 10, 2023
6ebf949
fix some C++ calls to SUNContext_Create
balos1 Nov 10, 2023
89dcad3
remove uses of ark_mem->report
balos1 Nov 10, 2023
a0502e3
build with different logging levels and profiling on/off
balos1 Nov 10, 2023
4e38f35
remove broken line
balos1 Nov 10, 2023
90b0924
rename GitHub actions CI jobs
balos1 Nov 10, 2023
6e17a61
update log levels cycles through
balos1 Nov 10, 2023
1ef6287
dont automatically include sundials_context.hpp
balos1 Nov 10, 2023
c125409
add recent changes
balos1 Nov 10, 2023
aede7e5
fix indentation
balos1 Nov 10, 2023
4d3ed8f
undo removal of include
balos1 Nov 10, 2023
5224893
dont fail fast
balos1 Nov 10, 2023
3d4661d
fix logging statements in arkode_adapt broken in merge
balos1 Nov 11, 2023
40f5135
fix compiler warning
balos1 Nov 11, 2023
97a3fbd
Merge branch 'feature/remove-deprecated-code' into feature/remove-dep…
balos1 Nov 11, 2023
07f73cc
post merge fixes
balos1 Nov 11, 2023
2f3773b
post-merge fix: change RCONST to SUN_RCONST
balos1 Nov 11, 2023
004191f
another spot where we need to supress warning of set but unused
balos1 Nov 11, 2023
075105f
Merge branch 'feature/remove-deprecated-code' into feature/remove-dep…
balos1 Nov 11, 2023
314e8e0
Merge branch 'feature/remove-deprecated-code-types' into feature/sunm…
balos1 Nov 11, 2023
7ab0e1d
make requested changes
balos1 Nov 11, 2023
765e947
regen fortran
balos1 Nov 11, 2023
d42fdd7
Update doc/shared/nvectors/NVector_Description.rst
balos1 Nov 11, 2023
b35effa
Merge branch 'feature/sunmpicomm' into feature/error-handling-just-th…
balos1 Nov 11, 2023
103849f
Merge remote-tracking branch 'origin/feature/udpating-answers-instruc…
balos1 Nov 11, 2023
c279dd6
post merge fix
balos1 Nov 11, 2023
c6b428d
fix messed up includes of posix timers due to merge
balos1 Nov 12, 2023
602bfe0
upgrade CMake minimum to 3.18
balos1 Nov 12, 2023
1c55404
ensure SUNAdaptControllers link to sundials_core
balos1 Nov 12, 2023
8dd9c82
Merge remote-tracking branch 'origin/develop' into feature/remove-dep…
balos1 Nov 12, 2023
52efca3
Merge branch 'feature/remove-deprecated-code' into feature/remove-dep…
balos1 Nov 12, 2023
953f17e
Merge branch 'feature/remove-deprecated-code-types' into feature/sunm…
balos1 Nov 12, 2023
50f9812
Merge branch 'feature/sunmpicomm' into feature/error-handling-just-th…
balos1 Nov 12, 2023
dbb6994
fix some more SUNContext_Create calls
balos1 Nov 12, 2023
bfe5216
Merge remote-tracking branch 'origin/feature/sunmpicomm' into feature…
balos1 Nov 12, 2023
1ce3a4b
fix include in diffusion 2d benchmark
balos1 Nov 12, 2023
45bec60
remove left over debugging print statements
balos1 Nov 12, 2023
a880772
Merge remote-tracking branch 'origin/feature/sunmpicomm' into feature…
balos1 Nov 12, 2023
94fb192
rename SUNAssignSUNCTX to SUNFunctionBegin
balos1 Nov 12, 2023
8bd2335
use SUN_COMM_NULL
balos1 Nov 13, 2023
8062c1f
doc grammar
balos1 Nov 13, 2023
b59f074
doc fix
balos1 Nov 13, 2023
e7a6e66
need to use types mode for SUN_COMM_NULL
balos1 Nov 13, 2023
6a74d14
fix MPI linking for sunadaptcontroller
balos1 Nov 13, 2023
6384760
Merge remote-tracking branch 'origin/feature/sunmpicomm' into feature…
balos1 Nov 13, 2023
4228b22
Merge remote-tracking branch 'origin/develop' into feature/remove-dep…
balos1 Nov 13, 2023
6c32318
Merge branch 'feature/remove-deprecated-code-types' into feature/sunm…
balos1 Nov 13, 2023
538a3f5
Merge remote-tracking branch 'origin/feature/sunmpicomm' into feature…
balos1 Nov 13, 2023
0e01058
a bad solution to SUN_COMM_NULL fortran mapping
balos1 Nov 13, 2023
b5f1b52
remove unused variable
balos1 Nov 14, 2023
86ad845
possible workaround for MPI in installed examples
balos1 Nov 14, 2023
826594b
fix references to sundials_core_obj
balos1 Nov 14, 2023
6c6462e
add details about linking libsundials_core in docs
balos1 Nov 14, 2023
29e5178
link to core in templates
balos1 Nov 14, 2023
74022e1
Merge remote-tracking branch 'origin/feature/sunmpicomm' into feature…
balos1 Nov 14, 2023
b7468ef
fix doc build
gardner48 Nov 14, 2023
93132b1
Update CHANGELOG.md
balos1 Nov 14, 2023
b59256e
rename sundials_types_old
balos1 Nov 14, 2023
50a90ed
update recent changes
balos1 Nov 14, 2023
bcfc49a
fix tables
gardner48 Nov 14, 2023
28043ea
fix typo
gardner48 Nov 14, 2023
edb4bb0
install sundials_types_deprecated.h
gardner48 Nov 14, 2023
2b16b8c
Apply suggestions for READMEs
balos1 Nov 14, 2023
a779c70
Apply suggestions from code review
balos1 Nov 14, 2023
7baeafe
Update doc/shared/sunmatrix/SUNMatrix_SLUNRloc.rst
balos1 Nov 14, 2023
4e891f7
Update doc/shared/nvectors/NVector_SYCL.rst
balos1 Nov 14, 2023
f0f6260
Merge remote-tracking branch 'origin/feature/remove-deprecated-code-t…
balos1 Nov 14, 2023
32c827b
add mpi to SUNDIALSConfig
balos1 Nov 14, 2023
ab36627
Merge remote-tracking branch 'origin/feature/sunmpicomm' into feature…
balos1 Nov 14, 2023
32e997e
Merge remote-tracking branch 'origin/develop' into feature/sunmpicomm
balos1 Nov 14, 2023
76ad50e
add core lib to xbraid cmake template
balos1 Nov 14, 2023
b2c07d5
fix install doc includes
gardner48 Nov 14, 2023
41bc80e
fix install guide build
gardner48 Nov 14, 2023
819090b
fix IDAS doc build
gardner48 Nov 14, 2023
7d93083
fix Ginkgo matrix include in KINSOL docs
gardner48 Nov 14, 2023
1b24df2
replace NULL with SUN_COMM_NULL
gardner48 Nov 15, 2023
6dab7f6
link cvode fused ops to core
balos1 Nov 15, 2023
7a15da4
link sunmemory to core
balos1 Nov 15, 2023
b680e30
use MPI_Comm where we can
balos1 Nov 15, 2023
581941a
add sundials_core to makefile templates
balos1 Nov 15, 2023
b3a9c0f
Merge branch 'develop' into feature/sunmpicomm
gardner48 Nov 16, 2023
80357e3
Merge remote-tracking branch 'origin/develop' into feature/sunmpicomm
balos1 Nov 17, 2023
bceba76
Merge branch 'feature/sunmpicomm' into feature/error-handling-just-th…
balos1 Nov 17, 2023
5642da8
fix cmake templates
balos1 Nov 20, 2023
4b07244
Merge remote-tracking branch 'origin/develop' into feature/sunmpicomm
balos1 Nov 20, 2023
86f163e
move core lib to later in link list
balos1 Nov 20, 2023
882eb6a
add mpi paths to config
balos1 Nov 21, 2023
a7c60e5
try MPIEXEC_EXECUTABLE
balos1 Nov 21, 2023
ea352d8
need core lib in second loop
balos1 Nov 21, 2023
e4efcc9
link header defined libraries to core
balos1 Nov 21, 2023
34afa95
remove unused variable
balos1 Nov 21, 2023
c0c5f5e
update docs with info on sundials_core
balos1 Nov 21, 2023
2cc9fac
use CMake 3.18.6 for all testings
gardner48 Nov 23, 2023
6df58f6
remove C90 build tests
gardner48 Nov 23, 2023
5addbeb
address a bunch of comments
balos1 Nov 23, 2023
62647c2
Merge remote-tracking branch 'origin' into feature/error-handling-jus…
balos1 Nov 23, 2023
6a13724
Merge remote-tracking branch 'origin/feature/error-handling-just-the-…
balos1 Nov 23, 2023
cfd2d46
Update doc/shared/sundials/Install.rst
balos1 Nov 23, 2023
c6931fa
update changelog according to PR comments
balos1 Nov 27, 2023
edb7894
use MPI_C_COMPILER instead of MPIEXEC_EXECUTABLE for finding MPI in S…
balos1 Nov 27, 2023
426fb40
cmake fixes as per commentd
balos1 Nov 27, 2023
faeb30d
more doc fixes based on comments
balos1 Nov 27, 2023
64dc7ce
move cmake code for setting _EXAMPLES_lang_COMPILER variables to exam…
balos1 Nov 27, 2023
8cbd218
quote MPI variables in example templates
balos1 Nov 27, 2023
7034f3e
dont link to sundials_core in kokkos example
balos1 Nov 27, 2023
d6fee47
fix formatting in f90 examples
balos1 Nov 27, 2023
ea5c1bf
add quotes to @_EXAMPLES_CXX_COMPILER@
balos1 Nov 27, 2023
fe04993
move sundials_core in makefile templates
balos1 Nov 27, 2023
ce32b37
formatting
balos1 Nov 27, 2023
529ccfe
make sundials_fcore_mod library and use it instead of object lib
balos1 Nov 27, 2023
c59520e
Fix c2f fortran case
balos1 Nov 27, 2023
d8ef554
fixes in logger and profiler related to freeing comm
balos1 Nov 27, 2023
5dbf04c
remove duplicate swig code
balos1 Nov 27, 2023
d53aaf9
recent change fixes
balos1 Nov 27, 2023
98de540
insert copyright into sundials_types_mod
balos1 Nov 27, 2023
cf80c3b
make suggested change in manyvector
balos1 Nov 27, 2023
718caaa
use cmake 3.18.6 for testing
gardner48 Nov 27, 2023
21d17a8
fix f2003 example templates
balos1 Nov 27, 2023
0aa2819
Merge remote-tracking branch 'origin/feature/sunmpicomm' into feature…
balos1 Nov 27, 2023
abf8270
address a batch of comments
balos1 Nov 28, 2023
a3017f6
fix syntax
balos1 Nov 28, 2023
7cee6d2
Merge branch 'develop' into feature/error-handling-just-the-core
balos1 Nov 28, 2023
9b2c966
fix trilinos GetComm
balos1 Nov 28, 2023
3214dba
remove POSIX_C_SOURCE from source files, just pass it via CMake
balos1 Nov 28, 2023
0ce9564
address another batch of comments
balos1 Nov 28, 2023
290e284
_SUNProfiler --> SUNProfiler_
balos1 Nov 28, 2023
a623482
address some more comments
balos1 Nov 29, 2023
dbb0291
address more comments
balos1 Nov 29, 2023
2f9e32d
revert changes to ARKODE Organziation.rst
balos1 Nov 29, 2023
40b0106
add checks for null suncontext in constructors
balos1 Nov 29, 2023
70e18d6
add missing ifdef around profiler free in SUNContext_Create
balos1 Nov 29, 2023
2b07808
reinforce that private header files are private
balos1 Nov 29, 2023
413bfb4
fix handling of SUN_COMM_NULL in Fortran
balos1 Nov 30, 2023
4a42f2a
fix tarscript
balos1 Nov 30, 2023
093ef00
remove debugging print statements
balos1 Nov 30, 2023
9915189
include sundials_core in adr kokkos benchmark
balos1 Nov 30, 2023
79df63f
include sundials_core instead of sundials_context
balos1 Nov 30, 2023
d323c37
update header file and library access sections in user guides
balos1 Dec 1, 2023
e61d02f
check for valid SUNContex
balos1 Dec 1, 2023
4f46a37
remove reference to SUNMPIAssert
balos1 Dec 1, 2023
96f2aa5
add documentation of public error handling features
balos1 Dec 1, 2023
c3cc934
fix references
balos1 Dec 1, 2023
ba02e17
update recent changes
balos1 Dec 1, 2023
ec0e57d
fixes from changing errhandlerfn to void
balos1 Dec 1, 2023
c0db774
add MPI handlers to docs
balos1 Dec 1, 2023
d9c2565
small fixes
balos1 Dec 1, 2023
4880355
fix doc links
balos1 Dec 1, 2023
d651dcb
fix Errors_link.rst locations
gardner48 Dec 2, 2023
c717bb3
add documentation of SUNCheck macros in private header
balos1 Dec 2, 2023
cee26d5
address comments
balos1 Dec 3, 2023
8462a68
change _SUNMemory and _SUNProfiler to SUNMemory_ and SUNProfiler_
balos1 Dec 3, 2023
339d123
fix static inlien functions in errors header
balos1 Dec 3, 2023
5c5ef87
Apply suggestions from code review
balos1 Dec 4, 2023
8481f43
Apply suggestions from code review
balos1 Dec 4, 2023
0613e37
update adaptcontroller
balos1 Dec 4, 2023
bcd7265
remove assert handler
balos1 Dec 4, 2023
a88d40d
use SUNAssert where possible in adaptcontroller
balos1 Dec 4, 2023
d31ab0a
update adaptcontroller
balos1 Dec 4, 2023
fddae2a
regen swig
balos1 Dec 4, 2023
2f29927
clarify line break rule
balos1 Dec 4, 2023
d92ea1b
address some comments
balos1 Dec 5, 2023
8825cb7
Add unit test to ensure correct error behavior, remove GetLastError c…
balos1 Dec 5, 2023
2ad1c1e
update changelog and errors doc
balos1 Dec 5, 2023
3ebf7e2
display special message if a second error occurs
balos1 Dec 6, 2023
734979b
check hnew in adaptcontroller
balos1 Dec 6, 2023
d191715
revert change to SUNAssert
balos1 Dec 6, 2023
943f478
only build test if error checks are on
balos1 Dec 6, 2023
f8da008
remove use of internal Gtest function for capturing stderr which caus…
balos1 Dec 6, 2023
5781e3c
update changelog
balos1 Dec 6, 2023
e87cbbe
update the few functions which dont have a SUNContext
balos1 Dec 6, 2023
b31025f
fix function calls that wer eupdated
balos1 Dec 6, 2023
6699e5b
change the error condition test to avoid segfault
balos1 Dec 6, 2023
e5d23ca
fixes in cusparse matrix
balos1 Dec 6, 2023
b2379f4
missed an update to example memory helper
balos1 Dec 6, 2023
d9a708e
add coredump to github actions
balos1 Dec 6, 2023
01b4ba9
disable gtest in CI for now unit we figure out random segfault
balos1 Dec 6, 2023
23f3552
fix SUNDIALS_TEST_DISABLE_GTEST
balos1 Dec 6, 2023
5d4e140
typo
balos1 Dec 6, 2023
890421e
remove coredump
balos1 Dec 6, 2023
bb36a4f
disable GTest in all CI for now
balos1 Dec 6, 2023
f19ae57
Apply suggestions from code review
balos1 Dec 7, 2023
0b26ed1
Update doc/arkode/guide/source/Introduction.rst
balos1 Dec 7, 2023
e41ffb0
address pr comments
balos1 Dec 7, 2023
fc20b81
add back tests with sanitizer
gardner48 Dec 7, 2023
a942174
invert the GTest CMake variable logic
balos1 Dec 7, 2023
4d369ae
doc fixes
balos1 Dec 7, 2023
c888897
remove sleep
balos1 Dec 7, 2023
b8b8547
a couple more fixes based on comments
balos1 Dec 7, 2023
63cecc0
Merge remote-tracking branch 'origin/feature/error-handling-just-the-…
balos1 Dec 7, 2023
709149e
revert sanitizer tests to build only
gardner48 Dec 7, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/extended-precision.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,4 @@ jobs:
name: output_files
path: |
${{ github.workspace }}/test/build_*/Testing/

1 change: 1 addition & 0 deletions .github/workflows/single-precision.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,4 @@ jobs:
name: output_files
path: |
${{ github.workspace }}/test/build_*/Testing/

41 changes: 41 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,49 @@ method `ARKODE_VERNER_16_8_9`.
Changed the `SUNProfiler` so that it does not rely on `MPI_WTime` in any case.
This fixes https://github.com/LLNL/sundials/issues/312.

**Major feature**
SUNDIALS now has more robust and uniform error handling. See the "Error Handling"
section in the user guide for details.

**Deprecation notice**
The functions in `sundials_math.h` will be deprecated in the next release.
balos1 marked this conversation as resolved.
Show resolved Hide resolved
balos1 marked this conversation as resolved.
Show resolved Hide resolved

```c
sunrealtype SUNRpowerI(sunrealtype base, int exponent);
sunrealtype SUNRpowerR(sunrealtype base, sunrealtype exponent);
sunbooleantype SUNRCompare(sunrealtype a, sunrealtype b);
sunbooleantype SUNRCompareTol(sunrealtype a, sunrealtype b, sunrealtype tol);
sunrealtype SUNStrToReal(const char* str);
```

Additionally, the following header files (and everything in them) will be deprecated -- users who
rely on these are recommended to transition to the corresponding `SUNMatrix` and `SUNLinearSolver`
modules:

```
sundials_direct.h
sundials_dense.h
sundials_band.h
```

**Breaking change**
The following functions have had their signature updated to ensure they can leverage
the new SUNDIALS error handling capabilties.

```c
// From sundials_futils.h
SUNDIALSFileOpen
SUNDIALSFileClose

// From sundials_memory.h
SUNMemorNewEmpty
SUNMemoryHelper_Alias
SUNMemoryHelper_Wrap

// From sundials_nvector.h
N_VNewVectorArray
```

balos1 marked this conversation as resolved.
Show resolved Hide resolved
**Breaking change**
We have replaced the use of a type-erased (i.e., `void*`) pointer to a
communicator in place of `MPI_Comm` throughout the SUNDIALS API with a
Expand Down Expand Up @@ -93,6 +133,7 @@ This will be picked up automatically in projects that use the SUNDIALS CMake tar
The library `sundials_generic` has been superceded by `sundials_core` and is no longer available.
This fixes some duplicate symbol errors on Windows when linking to multiple SUNDIALS libraries.


## Changes to SUNDIALS in release 6.6.2

Fixed the build system support for MAGMA when using a NVIDIA HPC SDK installation of CUDA
Expand Down
5 changes: 5 additions & 0 deletions cmake/SundialsBuildOptionsPre.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -317,6 +317,11 @@ sundials_option(SUNDIALS_TEST_DEVTESTS BOOL
sundials_option(SUNDIALS_TEST_UNITTESTS BOOL
"Include unit tests in make test" OFF ADVANCED)

# Include unit tests in regression tests
sundials_option(SUNDIALS_TEST_DISABLE_GTEST BOOL
"Diable GTest unit tests" OFF ADVANCED)
balos1 marked this conversation as resolved.
Show resolved Hide resolved


sundials_option(SUNDIALS_SCHEDULER_COMMAND STRING "Job scheduler command to use to launch SUNDIALS MPI tests" "" ADVANCED)

sundials_option(SUNDIALS_CALIPER_OUTPUT_DIR PATH "Location to write caliper output files" "" ADVANCED)
Expand Down
2 changes: 1 addition & 1 deletion cmake/SundialsSetupTesting.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ if(SUNDIALS_TEST_DEVTESTS)
endif()

# Check if unit tests are enabled
if(SUNDIALS_TEST_UNITTESTS)
if(SUNDIALS_TEST_UNITTESTS AND NOT SUNDIALS_TEST_DISABLE_GTEST)
balos1 marked this conversation as resolved.
Show resolved Hide resolved
find_package(GTest)
if(NOT (TARGET GTest::gtest_main OR TARGET GTest::Main))
include(FetchContent)
Expand Down
56 changes: 56 additions & 0 deletions doc/arkode/guide/source/Introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -185,8 +185,64 @@ This fixes `GitHub Issue #312 <https://github.com/LLNL/sundials/issues/312>`_.

Added Fortran support for the LAPACK dense ``SUNLinearSolver`` implementation.

**Major feature**
SUNDIALS now has more robust and uniform error handling. See :numref:`SUNDIALS.Errors` for details.

**Deprecation notice**
The functions in `sundials_math.h` will be deprecated in the next release.
balos1 marked this conversation as resolved.
Show resolved Hide resolved

.. code-block:: c

sunrealtype SUNRpowerI(sunrealtype base, int exponent);
sunrealtype SUNRpowerR(sunrealtype base, sunrealtype exponent);
sunbooleantype SUNRCompare(sunrealtype a, sunrealtype b);
sunbooleantype SUNRCompareTol(sunrealtype a, sunrealtype b, sunrealtype tol);
sunrealtype SUNStrToReal(const char* str);

Additionally, the following header files (and everything in them) will be deprecated -- users who
rely on these are recommended to transition to the corresponding :c:type:`SUNMatrix` and
:c:type:`SUNLinearSolver` modules:

.. code-block:: c

sundials_direct.h
sundials_dense.h
sundials_band.h

**Breaking change**
The following functions have had their signature updated to ensure they can leverage
the new SUNDIALS error handling capabilties.

.. code-block:: c

// From sundials_futils.h
SUNDIALSFileOpen
SUNDIALSFileClose

// From sundials_memory.h
SUNMemorNewEmpty
SUNMemoryHelper_Alias
SUNMemoryHelper_Wrap

// From sundials_nvector.h
N_VNewVectorArray
balos1 marked this conversation as resolved.
Show resolved Hide resolved

**Breaking change**
The following functions have had their signature updated to ensure they can leverage
the new SUNDIALS error handling capabilties.

From sundials_futils.h
* :c:func:`SUNDIALSFileOpen`
* :c:func:`SUNDIALSFileClose`

From sundials_memory.h
* :c:func:`SUNMemorNewEmpty`
* :c:func:`SUNMemoryHelper_Alias`
* :c:func:`SUNMemoryHelper_Wrap`

From sundials_nvector.h
* :c:func:`N_VNewVectorArray`

balos1 marked this conversation as resolved.
Show resolved Hide resolved
**Breaking change**
We have replaced the use of a type-erased (i.e., ``void*``) pointer to a
communicator in place of ``MPI_Comm`` throughout the SUNDIALS API with a
Expand Down
39 changes: 39 additions & 0 deletions doc/cvode/guide/source/Introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -137,8 +137,47 @@ This fixes `GitHub Issue #312 <https://github.com/LLNL/sundials/issues/312>`_.

Added Fortran support for the LAPACK dense ``SUNLinearSolver`` implementation.

**Major feature**
SUNDIALS now has more robust and uniform error handling. See :numref:`SUNDIALS.Errors` for details.

**Deprecation notice**
The functions in `sundials_math.h` will be deprecated in the next release.
balos1 marked this conversation as resolved.
Show resolved Hide resolved

.. code-block:: c

sunrealtype SUNRpowerI(sunrealtype base, int exponent);
sunrealtype SUNRpowerR(sunrealtype base, sunrealtype exponent);
sunbooleantype SUNRCompare(sunrealtype a, sunrealtype b);
sunbooleantype SUNRCompareTol(sunrealtype a, sunrealtype b, sunrealtype tol);
sunrealtype SUNStrToReal(const char* str);

Additionally, the following header files (and everything in them) will be deprecated -- users who
rely on these are recommended to transition to the corresponding :c:type:`SUNMatrix` and
:c:type:`SUNLinearSolver` modules:

.. code-block:: c

sundials_direct.h
sundials_dense.h
sundials_band.h


**Breaking change**
The following functions have had their signature updated to ensure they can leverage
the new SUNDIALS error handling capabilties.

From sundials_futils.h
* :c:func:`SUNDIALSFileOpen`
* :c:func:`SUNDIALSFileClose`

From sundials_memory.h
* :c:func:`SUNMemorNewEmpty`
* :c:func:`SUNMemoryHelper_Alias`
* :c:func:`SUNMemoryHelper_Wrap`

From sundials_nvector.h
* :c:func:`N_VNewVectorArray`

balos1 marked this conversation as resolved.
Show resolved Hide resolved
**Breaking change**
We have replaced the use of a type-erased (i.e., ``void*``) pointer to a
communicator in place of ``MPI_Comm`` throughout the SUNDIALS API with a
Expand Down
39 changes: 39 additions & 0 deletions doc/cvodes/guide/source/Introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -140,8 +140,47 @@ This fixes `GitHub Issue #312 <https://github.com/LLNL/sundials/issues/312>`_.

Added Fortran support for the LAPACK dense ``SUNLinearSolver`` implementation.

**Major feature**
SUNDIALS now has more robust and uniform error handling. See :numref:`SUNDIALS.Errors` for details.

**Deprecation notice**
The functions in `sundials_math.h` will be deprecated in the next release.
balos1 marked this conversation as resolved.
Show resolved Hide resolved

.. code-block:: c

sunrealtype SUNRpowerI(sunrealtype base, int exponent);
sunrealtype SUNRpowerR(sunrealtype base, sunrealtype exponent);
sunbooleantype SUNRCompare(sunrealtype a, sunrealtype b);
sunbooleantype SUNRCompareTol(sunrealtype a, sunrealtype b, sunrealtype tol);
sunrealtype SUNStrToReal(const char* str);

Additionally, the following header files (and everything in them) will be deprecated -- users who
rely on these are recommended to transition to the corresponding :c:type:`SUNMatrix` and
:c:type:`SUNLinearSolver` modules:

.. code-block:: c

sundials_direct.h
sundials_dense.h
sundials_band.h


**Breaking change**
The following functions have had their signature updated to ensure they can leverage
the new SUNDIALS error handling capabilties.

From sundials_futils.h
* :c:func:`SUNDIALSFileOpen`
* :c:func:`SUNDIALSFileClose`

From sundials_memory.h
* :c:func:`SUNMemorNewEmpty`
* :c:func:`SUNMemoryHelper_Alias`
* :c:func:`SUNMemoryHelper_Wrap`

From sundials_nvector.h
* :c:func:`N_VNewVectorArray`

balos1 marked this conversation as resolved.
Show resolved Hide resolved
**Breaking change**
We have replaced the use of a type-erased (i.e., ``void*``) pointer to a
communicator in place of ``MPI_Comm`` throughout the SUNDIALS API with a
Expand Down
39 changes: 39 additions & 0 deletions doc/ida/guide/source/Introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,47 @@ This fixes `GitHub Issue #312 <https://github.com/LLNL/sundials/issues/312>`_.

Added Fortran support for the LAPACK dense ``SUNLinearSolver`` implementation.

**Major feature**
SUNDIALS now has more robust and uniform error handling. See :numref:`SUNDIALS.Errors` for details.

**Deprecation notice**
The functions in `sundials_math.h` will be deprecated in the next release.
balos1 marked this conversation as resolved.
Show resolved Hide resolved

.. code-block:: c

sunrealtype SUNRpowerI(sunrealtype base, int exponent);
sunrealtype SUNRpowerR(sunrealtype base, sunrealtype exponent);
sunbooleantype SUNRCompare(sunrealtype a, sunrealtype b);
sunbooleantype SUNRCompareTol(sunrealtype a, sunrealtype b, sunrealtype tol);
sunrealtype SUNStrToReal(const char* str);

Additionally, the following header files (and everything in them) will be deprecated -- users who
rely on these are recommended to transition to the corresponding :c:type:`SUNMatrix` and
:c:type:`SUNLinearSolver` modules:

.. code-block:: c

sundials_direct.h
sundials_dense.h
sundials_band.h


**Breaking change**
The following functions have had their signature updated to ensure they can leverage
the new SUNDIALS error handling capabilties.

From sundials_futils.h
* :c:func:`SUNDIALSFileOpen`
* :c:func:`SUNDIALSFileClose`

From sundials_memory.h
* :c:func:`SUNMemorNewEmpty`
* :c:func:`SUNMemoryHelper_Alias`
* :c:func:`SUNMemoryHelper_Wrap`

From sundials_nvector.h
* :c:func:`N_VNewVectorArray`

balos1 marked this conversation as resolved.
Show resolved Hide resolved
**Breaking change**
We have replaced the use of a type-erased (i.e., ``void*``) pointer to a
communicator in place of ``MPI_Comm`` throughout the SUNDIALS API with a
Expand Down
39 changes: 39 additions & 0 deletions doc/idas/guide/source/Introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -115,8 +115,47 @@ This fixes `GitHub Issue #312 <https://github.com/LLNL/sundials/issues/312>`_.

Added Fortran support for the LAPACK dense ``SUNLinearSolver`` implementation.

**Major feature**
SUNDIALS now has more robust and uniform error handling. See :numref:`SUNDIALS.Errors` for details.

**Deprecation notice**
The functions in `sundials_math.h` will be deprecated in the next release.
balos1 marked this conversation as resolved.
Show resolved Hide resolved

.. code-block:: c

sunrealtype SUNRpowerI(sunrealtype base, int exponent);
sunrealtype SUNRpowerR(sunrealtype base, sunrealtype exponent);
sunbooleantype SUNRCompare(sunrealtype a, sunrealtype b);
sunbooleantype SUNRCompareTol(sunrealtype a, sunrealtype b, sunrealtype tol);
sunrealtype SUNStrToReal(const char* str);

Additionally, the following header files (and everything in them) will be deprecated -- users who
rely on these are recommended to transition to the corresponding :c:type:`SUNMatrix` and
:c:type:`SUNLinearSolver` modules:

.. code-block:: c

sundials_direct.h
sundials_dense.h
sundials_band.h


**Breaking change**
The following functions have had their signature updated to ensure they can leverage
the new SUNDIALS error handling capabilties.

From sundials_futils.h
* :c:func:`SUNDIALSFileOpen`
* :c:func:`SUNDIALSFileClose`

From sundials_memory.h
* :c:func:`SUNMemorNewEmpty`
* :c:func:`SUNMemoryHelper_Alias`
* :c:func:`SUNMemoryHelper_Wrap`

From sundials_nvector.h
* :c:func:`N_VNewVectorArray`

balos1 marked this conversation as resolved.
Show resolved Hide resolved
**Breaking change**
We have replaced the use of a type-erased (i.e., ``void*``) pointer to a
communicator in place of ``MPI_Comm`` throughout the SUNDIALS API with a
Expand Down
39 changes: 39 additions & 0 deletions doc/kinsol/guide/source/Introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,47 @@ CMake targets.

Added Fortran support for the LAPACK dense ``SUNLinearSolver`` implementation.

**Major feature**
SUNDIALS now has more robust and uniform error handling. See :numref:`SUNDIALS.Errors` for details.

**Deprecation notice**
The functions in `sundials_math.h` will be deprecated in the next release.
balos1 marked this conversation as resolved.
Show resolved Hide resolved

.. code-block:: c

sunrealtype SUNRpowerI(sunrealtype base, int exponent);
sunrealtype SUNRpowerR(sunrealtype base, sunrealtype exponent);
sunbooleantype SUNRCompare(sunrealtype a, sunrealtype b);
sunbooleantype SUNRCompareTol(sunrealtype a, sunrealtype b, sunrealtype tol);
sunrealtype SUNStrToReal(const char* str);

Additionally, the following header files (and everything in them) will be deprecated -- users who
rely on these are recommended to transition to the corresponding :c:type:`SUNMatrix` and
:c:type:`SUNLinearSolver` modules:

.. code-block:: c

sundials_direct.h
sundials_dense.h
sundials_band.h


**Breaking change**
The following functions have had their signature updated to ensure they can leverage
the new SUNDIALS error handling capabilties.

From sundials_futils.h
* :c:func:`SUNDIALSFileOpen`
* :c:func:`SUNDIALSFileClose`

From sundials_memory.h
* :c:func:`SUNMemorNewEmpty`
* :c:func:`SUNMemoryHelper_Alias`
* :c:func:`SUNMemoryHelper_Wrap`

From sundials_nvector.h
* :c:func:`N_VNewVectorArray`

balos1 marked this conversation as resolved.
Show resolved Hide resolved
**Breaking change**
We have replaced the use of a type-erased (i.e., ``void*``) pointer to a
communicator in place of ``MPI_Comm`` throughout the SUNDIALS API with a
Expand Down
Loading