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

Enable Fortran interface for 32-bit sunindextype #447

Merged
merged 87 commits into from
Jun 12, 2024
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
57688aa
change space functions to use long int
balos1 Feb 17, 2024
4489fc2
fix use of Space functions in iterative solvers
balos1 Feb 26, 2024
4bef213
fix nvector space op
balos1 Feb 26, 2024
37875a7
regen fortran
balos1 Feb 26, 2024
b6c67fb
update places where Space is called and wrong type of args is used
balos1 Feb 26, 2024
ead7727
more places where liw lrw dont match
balos1 Feb 26, 2024
63b11da
update swig generation to be able to produce int32 or int64 sunindext…
balos1 Mar 26, 2024
469071e
fix make
balos1 Mar 26, 2024
489210c
fix typo
balos1 Mar 26, 2024
41cd23e
fix up swig and swig makefile
balos1 Mar 26, 2024
ab73c56
generate 32-bit sunindextype fortran
balos1 Mar 26, 2024
878933f
regenerate 32-bit sunindextype and 64, setup separate directories for…
balos1 Mar 26, 2024
febfd6c
test fortran with both sunindextype sizes
balos1 Mar 26, 2024
32e80b7
Merge branch 'develop' into feature/fortran-32index-build
gardner48 Mar 27, 2024
0db5a5a
Merge branch 'develop' into feature/fortran-32index-build
gardner48 Mar 28, 2024
68fad59
Merge branch 'feature/sunindextype-long-int-fixes' into feature/fortr…
balos1 Mar 29, 2024
ed97953
update examples
balos1 Mar 29, 2024
6f55e27
revert headers of space functions
balos1 Mar 29, 2024
4d518cb
regen swig
balos1 Mar 29, 2024
70fdadf
revert all source for space functions
balos1 Mar 29, 2024
3ab78ff
revert arkode impl
balos1 Mar 29, 2024
0e315f2
more fixes for consistency - promote int to sunindextype
balos1 Mar 29, 2024
7db6c2c
fix more examples and definitions with wrong int type
balos1 Mar 29, 2024
4ca1877
use long long
balos1 Mar 29, 2024
8c93b9d
remove old fmod directories
balos1 Mar 29, 2024
a07187a
revert files that should not have been changed
balos1 Mar 29, 2024
63ad76a
format
balos1 Mar 29, 2024
004d33c
Merge remote-tracking branch 'origin/develop' into feature/fortran-32…
balos1 Mar 29, 2024
7edab46
change sunindextype to myindextype in examples
balos1 Apr 2, 2024
bda9016
fix sparse sunmatrix custom fortran functions
balos1 Apr 2, 2024
da44cea
missed kind sunindextype --> myindextype
balos1 Apr 2, 2024
29caae4
Merge branch 'develop' into feature/fortran-32index-build
balos1 Apr 2, 2024
226dd22
fix mismatched integer size
balos1 Apr 3, 2024
f418e5a
fix another integer mismatch
balos1 Apr 4, 2024
41dd601
fix trilinos vector
balos1 Apr 4, 2024
7f3187b
update parallel examples to use proper integer kind
balos1 Apr 25, 2024
d0b3497
a few more fixes to make consistent use of myindextype
balos1 Apr 25, 2024
79c7f1c
Merge remote-tracking branch 'origin/develop' into feature/fortran-32…
balos1 Apr 25, 2024
5343266
fixes in openmp and pthreads vectors
balos1 Apr 25, 2024
540f7eb
fix klu example
balos1 Apr 25, 2024
60697cf
fix index size in check_ans
balos1 Apr 25, 2024
179e512
fix parallel vector too
balos1 Apr 25, 2024
35dc697
fix fortran make and cmake templates
balos1 Apr 29, 2024
18a0351
Merge branch 'develop' into feature/fortran-32index-build
balos1 Apr 29, 2024
1416670
Merge remote-tracking branch 'origin/develop' into feature/fortran-32…
balos1 May 6, 2024
db69de0
add a swig workflow
balos1 May 6, 2024
678cbdd
rename job
balos1 May 6, 2024
c21eb5a
remove containers line, only run on prs
balos1 May 6, 2024
a5a6423
remove git install line
balos1 May 6, 2024
045ac4d
only run clang format on PRs and by request
balos1 May 6, 2024
1d7a808
fix swig build
balos1 May 6, 2024
1e404f4
a couple doc notes
balos1 May 6, 2024
5560026
fix swig version command
balos1 May 6, 2024
7a0241c
change CVodeSetSensParams back
balos1 May 6, 2024
5fa2eb1
plist must be int of size 4
balos1 May 6, 2024
febac51
werror fixes
balos1 May 6, 2024
bc8207d
regen swig
balos1 May 6, 2024
a1d2e5c
bump answers
balos1 May 6, 2024
6aa852f
bump answers
balos1 May 6, 2024
02128f8
Merge remote-tracking branch 'origin/develop' into feature/fortran-32…
balos1 May 7, 2024
6ab3a0d
swig update
balos1 May 7, 2024
5f500ad
Merge remote-tracking branch 'origin/develop' into feature/fortran-32…
balos1 May 9, 2024
467b08c
fix warnings
balos1 May 9, 2024
11f8ab3
update missed cmake template
balos1 May 9, 2024
e03d8d3
correct / add answer files for examples that were not enabled before
balos1 May 9, 2024
106cfe7
Merge remote-tracking branch 'origin/develop' into feature/fortran-32…
balos1 May 13, 2024
5f2fbf5
fix cmake templates
balos1 May 13, 2024
2e82769
update fortran interface
balos1 May 13, 2024
5873dd7
update out
balos1 May 13, 2024
36e9514
Update doc/superbuild/source/developers/getting_started/Checklist.rst
balos1 May 13, 2024
d6af78b
change back vector array indexes to int
balos1 May 23, 2024
5054639
Merge remote-tracking branch 'origin/develop' into feature/fortran-32…
balos1 May 23, 2024
5b35907
regen fortran
balos1 May 23, 2024
f454537
Apply suggestions from code review
balos1 May 23, 2024
fb4f259
Merge remote-tracking branch 'origin/develop' into feature/fortran-32…
balos1 May 23, 2024
46ebae5
Merge branch 'develop' into feature/fortran-32index-build
gardner48 May 24, 2024
9978f60
Merge branch 'develop' into feature/fortran-32index-build
gardner48 May 24, 2024
158a5ba
update swig
balos1 May 24, 2024
fe2e1bf
fix answers commit
balos1 May 24, 2024
ebf3ff5
make requested changes in PR review
balos1 May 30, 2024
240a563
enable other examples that may work with 32-bit indices
balos1 May 30, 2024
88bfe93
Merge remote-tracking branch 'origin/develop' into feature/fortran-32…
balos1 May 30, 2024
eeb5e0f
Merge branch 'develop' into feature/fortran-32index-build
gardner48 Jun 11, 2024
2566b4d
fix index type in two examples
balos1 Jun 12, 2024
6368aa8
fix warning
balos1 Jun 12, 2024
d6fa0de
fix more warnings
balos1 Jun 12, 2024
ddf5e2a
update answers commit
gardner48 Jun 12, 2024
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
5 changes: 0 additions & 5 deletions cmake/SundialsBuildOptionsPre.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -185,11 +185,6 @@ if(BUILD_FORTRAN_MODULE_INTERFACE)
print_error("F2003 interface is not compatible with ${SUNDIALS_PRECISION} precision")
endif()

# F2003 interface only supports 64-bit indices
if(NOT (SUNDIALS_INDEX_SIZE MATCHES "64"))
print_error("F2003 interface is not compatible with ${SUNDIALS_INDEX_SIZE}-bit indicies")
endif()

# Allow a user to set where the Fortran modules will be installed
set(DOCSTR "Directory where Fortran module files are installed")
sundials_option(Fortran_INSTALL_MODDIR STRING "${DOCSTR}" "fortran")
Expand Down
1 change: 1 addition & 0 deletions cmake/macros/SundialsAddLibrary.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -451,6 +451,7 @@ macro(sundials_add_f2003_library target)
${sundials_add_f2003_library_INCLUDE_DIRECTORIES}
${_includes}
COMPILE_DEFINITIONS ${sundials_add_f2003_library_COMPILE_DEFINITIONS}
PUBLIC "SUNDIALS_INT${SUNDIALS_INDEX_SIZE}_T"
COMPILE_OPTIONS ${sundials_add_f2003_library_COMPILE_OPTIONS}
PROPERTIES ${sundials_add_f2003_library_PROPERTIES} ${_properties}
OUTPUT_NAME ${sundials_add_f2003_library_OUTPUT_NAME}
Expand Down
9 changes: 7 additions & 2 deletions doc/shared/sundials/Fortran.rst
Original file line number Diff line number Diff line change
Expand Up @@ -175,8 +175,13 @@ equivalencies with the parameter direction in mind.
.. warning::

Currently, the Fortran 2003 interfaces are only compatible with SUNDIALS
builds where the ``sunrealtype`` is double-precision the ``sunindextype`` size
is 64-bits.
builds where the ``sunrealtype`` is double-precision.

.. versionchanged:: x.y.z

The Fortran interfaces can now be built with 32-bit ``sunindextype`` in
addition to 64-bit ``sunindextype``.


.. _SUNDIALS.Fortran.DataTypes.Table:
.. table:: C/Fortran-2003 Equivalent Types
Expand Down
1 change: 1 addition & 0 deletions doc/superbuild/source/developers/releases/Checklist.rst
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ web pages.
that they are deprecated).

#. Regenerate the Fortran 2003 interfaces. It is possible nothing will be updated.
This is done by running ``make all32 all64`` in the ``swig/`` directory.
drreynolds marked this conversation as resolved.
Show resolved Hide resolved

#. Update the "Changes in ..." sections in all user guides. The changes should be
sorted so that major new features are above bug fixes.
Expand Down
2 changes: 1 addition & 1 deletion src/arkode/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ message(STATUS "Added ARKODE module")

# Add F2003 module if the interface is enabled
if(BUILD_FORTRAN_MODULE_INTERFACE)
add_subdirectory(fmod)
add_subdirectory("fmod_int${SUNDIALS_INDEX_SIZE}")
endif()

# Add ARKODE XBraid interface
Expand Down
File renamed without changes.
Loading
Loading