Skip to content

Commit

Permalink
Merge branch 'feature/sunadjoint-core-modules' into feature/sunadjoin…
Browse files Browse the repository at this point in the history
…t-arkode
  • Loading branch information
balos1 committed Jan 19, 2025
2 parents b1148e4 + ea56be1 commit e932a3e
Show file tree
Hide file tree
Showing 215 changed files with 3,903 additions and 2,165 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/check-format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,8 @@ jobs:
if: ${{ always() && contains(join(needs.*.result, ','), 'failure') && (github.event_name == 'issue_comment' && startsWith(github.event.comment.body, '/autofix')) }}
needs: format_check
runs-on: ubuntu-latest
permissions:
contents: write
steps:
# Checkout the GitHub created reference for the PR.
# The only way to do this is by using the "issue" number
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/check-spelling.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ jobs:
if: ${{ always() && contains(join(needs.*.result, ','), 'failure') && (github.event_name == 'issue_comment' && startsWith(github.event.comment.body, '/autofix')) }}
needs: spelling_check
runs-on: ubuntu-latest
permissions:
contents: write
steps:
# Checkout the GitHub created reference for the PR.
# The only way to do this is by using the "issue" number
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/check-swig.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,8 @@ jobs:
if: ${{ always() && contains(join(needs.*.result, ','), 'failure') && (github.event_name == 'issue_comment' && startsWith(github.event.comment.body, '/autofix')) }}
needs: swig_check
runs-on: ubuntu-latest
permissions:
contents: write
steps:
# Checkout the GitHub created reference for the PR.
# The only way to do this is by using the "issue" number
Expand Down
211 changes: 211 additions & 0 deletions .github/workflows/docs-pdfs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,211 @@
name: Docs - PDFs

on:
push:
branches:
- main
- develop
pull_request:
merge_group:
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref_name }}
cancel-in-progress: true

jobs:
docs_install_guide_pdf:
runs-on: ubuntu-latest

steps:
- name: Install latex
run: |
sudo apt update
sudo apt install -y --no-install-recommends \
fonts-texgyre \
latexmk \
tex-gyre \
texlive-latex-extra \
texlive-fonts-recommended \
texlive-plain-generic
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true

- name: Install sphinx
run: |
pip install -r doc/requirements.txt
- name: Build docs
run: cd doc/install_guide && make latexpdf

- name: Archive files from failed build
uses: actions/upload-artifact@v4
if: failure()
with:
name: latex_build_files
path: |
${{github.workspace}}/doc/install_guide/build/latex
- name: Archive PDF from successful build
uses: actions/upload-artifact@v4
if: success()
with:
name: install_guide
path: |
${{github.workspace}}/doc/install_guide/build/latex/INSTALL_GUIDE.pdf
docs_package_pdf:
runs-on: ubuntu-latest

strategy:
max-parallel: 2
matrix:
package: [arkode, cvode, cvodes, ida, idas, kinsol]
# TODO(DJG): when all user guides and example docs use sphinx remove
# the example documentation jobs below and use the alternative lines
# commented out in this job
# type: [guide, examples]

steps:
- name: Install latex
run: |
sudo apt update
sudo apt install -y --no-install-recommends \
fonts-texgyre \
latexmk \
tex-gyre \
texlive-latex-extra \
texlive-fonts-recommended \
texlive-plain-generic
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true

- name: Install sphinx
run: |
pip install -r doc/requirements.txt
- name: Build docs
run: cd doc/${{matrix.package}}/guide && make latexpdf
# run: cd doc/${{matrix.package}}/${{matrix.type}} && make latexpdf

- name: Archive files from failed build
uses: actions/upload-artifact@v4
if: failure()
with:
name: latex_build_files
path: |
${{github.workspace}}/doc/${{matrix.package}}/guide/build/latex
# path: |
# ${{github.workspace}}/doc/${{matrix.package}}/${{matrix.type}}/build/latex

- name: Archive PDFs from successful build
uses: actions/upload-artifact@v4
if: success()
with:
name: ${{matrix.package}}_user_guide
path: |
${{github.workspace}}/doc/${{matrix.package}}/guide/build/latex/*_guide.pdf
# name: ${{matrix.package}}_${{matrix.type}}
# path: |
# ${{github.workspace}}/doc/${{matrix.package}}/${{matrix.type}}/build/latex/*_${{matrix.type}}.pdf

# Sphinx examples documentation PDFs
docs_examples_sphinx_pdf:
runs-on: ubuntu-latest

strategy:
max-parallel: 2
matrix:
package: [arkode]

steps:
- name: Install latex
run: |
sudo apt update
sudo apt install -y --no-install-recommends \
fonts-texgyre \
latexmk \
tex-gyre \
texlive-latex-extra \
texlive-fonts-recommended \
texlive-plain-generic
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true

- name: Install sphinx
run: |
pip install -r doc/requirements.txt
- name: Build docs
run: cd doc/${{matrix.package}}/examples && make latexpdf

- name: Archive files from failed build
uses: actions/upload-artifact@v4
if: failure()
with:
name: latex_build_files
path: |
${{github.workspace}}/doc/${{matrix.package}}/examples/build/latex
- name: Archive PDFs from successful build
uses: actions/upload-artifact@v4
if: success()
with:
name: ${{matrix.package}}_examples_docs
path: |
${{github.workspace}}/doc/${{matrix.package}}/examples/build/latex/*_examples.pdf
# Latex examples documentation PDFs
docs_examples_latex_pdf:
runs-on: ubuntu-latest

strategy:
max-parallel: 2
matrix:
package: [cvode, cvodes, ida, idas, kinsol]

steps:
- name: Install latex
run: |
sudo apt update
sudo apt install -y --no-install-recommends \
fonts-texgyre \
latexmk \
tex-gyre \
texlive-latex-extra \
texlive-fonts-recommended \
texlive-plain-generic
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true

- name: Build docs
run: cd doc/${{matrix.package}} && make ex

- name: Archive files from failed build
uses: actions/upload-artifact@v4
if: failure()
with:
name: latex_build_files
path: |
${{github.workspace}}/doc/${{matrix.package}}
!${{github.workspace}}/doc/${{matrix.package}}/guide
- name: Archive PDFs from successful build
uses: actions/upload-artifact@v4
if: success()
with:
name: ${{matrix.package}}_examples_docs
path: |
${{github.workspace}}/doc/${{matrix.package}}/*_examples.pdf
9 changes: 4 additions & 5 deletions benchmarks/diffusion_2D/diffusion_2D.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,10 @@
#endif

// Macros for problem constants
#define PI SUN_RCONST(3.141592653589793238462643383279502884197169)
#define ZERO SUN_RCONST(0.0)
#define ONE SUN_RCONST(1.0)
#define TWO SUN_RCONST(2.0)
#define EIGHT SUN_RCONST(8.0)
#define PI SUN_RCONST(3.141592653589793238462643383279502884197169)
#define ZERO SUN_RCONST(0.0)
#define ONE SUN_RCONST(1.0)
#define TWO SUN_RCONST(2.0)

// Macro to access (x,y) location in 1D NVector array
#define IDX(x, y, n) ((n) * (y) + (x))
Expand Down
3 changes: 2 additions & 1 deletion cmake/SundialsSetupCompilers.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,8 @@ if(ENABLE_ALL_WARNINGS)
set(WARNING_FLAGS
"-Wno-unknown-warning-option -Wall -Wpedantic -Wextra -Wshadow \
-Wwrite-strings -Wcast-align -Wdisabled-optimization -Wvla -Walloca \
-Wduplicated-cond -Wduplicated-branches")
-Wduplicated-cond -Wduplicated-branches -Wunused-macros \
-Wunused-local-typedefs")
# TODO(SBR): Try to add -Wredundant-decls once SuperLU version is updated in
# CI tests

Expand Down
2 changes: 1 addition & 1 deletion doc/cvode/guide/source/Usage/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1140,7 +1140,7 @@ Main solver optional input functions
**Notes:**
SUNDIALS must be compiled appropriately for specialized kernels to be available. The CMake option ``SUNDIALS_BUILD_PACKAGE_FUSED_KERNELS`` must be set to
``ON`` when SUNDIALS is compiled. See the entry for this option in :numref:`Installation.CMake.options` for more information.
``ON`` when SUNDIALS is compiled. See the entry for this option in :numref:`Installation.Options` for more information.
Currently, the fused kernels are only supported when using CVODE with the :ref:`NVECTOR_CUDA <NVectors.CUDA>` and :ref:`NVECTOR_HIP <NVectors.Hip>` implementations of the ``N_Vector``.
.. _CVODE.Usage.CC.optional_input.optin_ls:
Expand Down
12 changes: 7 additions & 5 deletions doc/shared/FAQ.rst
Original file line number Diff line number Diff line change
Expand Up @@ -46,16 +46,18 @@ Installation

.. collapse:: How do I install SUNDIALS on Windows systems?

One way of obtaining Windows libraries for the SUNDIALS solvers is to use cygwin
`cygwin <www.cygwin.com>`_, in which case the installation procedure is the same
as for any other Linux system.
One way of obtaining Windows libraries for the SUNDIALS solvers is to use
`cygwin <https://www.cygwin.com/>`__, in which case the installation
procedure is the same as for any other Linux/Unix system (see the
:ref:`Installation.CMake.Unix` installation section).

Otherwise, refer to :ref:`Installation.CMake.Windows`.
Otherwise, refer to the :ref:`Installation.CMake.Windows` installation
section.


.. collapse:: Everything installed fine! How do I link the SUNDIALS libraries to my own application?

Refer to :ref:`Installation.Results`.
Refer to :ref:`Installation.UsingSUNDIALS`.


CVODE(S) / IDA(S) / ARKODE
Expand Down
2 changes: 1 addition & 1 deletion doc/shared/nvectors/NVector_Kokkos.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ variety of backends including serial, OpenMP, CUDA, HIP, and SYCL. Since Kokkos
a modern C++ library, the module is also written in modern C++ (it requires
C++14) as a header only library. To utilize this ``N_Vector`` users will need to
include ``nvector/nvector_kokkos.hpp``. More instructions on building SUNDIALS
with Kokkos enabled are given in :numref:`Installation.CMake.ExternalLibraries`.
with Kokkos enabled are given in :numref:`Installation.Options.Kokkos`.
For instructions on building and using Kokkos, refer to the `Kokkos
<https://kokkos.github.io/kokkos-core-wiki/index.html>`_ documentation.

Expand Down
Loading

0 comments on commit e932a3e

Please sign in to comment.