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

CVODE example guide (currently without Deep Dive) #377

Draft
wants to merge 35 commits into
base: develop
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
01ae7d7
Examples: add missing include (#331)
johnwparent Sep 13, 2023
75ffe46
append to CMAKE_MODULE_PATH instead of overwrite (#336)
martinjrobins Sep 13, 2023
235a506
Change typedefs names to allow simulateous use of idas and cvodes (#337)
mottelet Sep 14, 2023
5aebf44
Feature/compare califiles (#318)
yu-nix Sep 15, 2023
0ece42c
Fix time complexity issue for sparse matrix (#257)
phannebohm Sep 18, 2023
60b5849
Fix missing soversion (#343)
jschueller Sep 27, 2023
a4e18e5
Update ARKODE methods docs (#344)
Steven-Roberts Sep 28, 2023
b557eea
Bugfix: Support ARK2-3-1-2 in ARKStepSetTableNum (#346)
drreynolds Sep 29, 2023
e800b15
Bugfix: stop time and output time reached in same step (#349)
gardner48 Oct 4, 2023
df0b211
Bugfix: docs missing cvodequadsstolerances (#352)
balos1 Oct 20, 2023
6ae281e
Add Sofroniou-Spaletta-5-3-4 method only (#355)
Steven-Roberts Oct 26, 2023
747da2e
Add Ginkgo dpcpp into example (#351)
yhmtsai Oct 26, 2023
b84b330
Bugfix: CMake FindMAGMA (#356)
balos1 Oct 27, 2023
9717d6d
Feature: Fortran interface for lapack dense solver (#353)
balos1 Oct 27, 2023
6c60a56
Feature/new tables (#359)
drreynolds Oct 28, 2023
26317e2
Bugfix: Remove MPI wtime in profiler (#317)
balos1 Nov 2, 2023
ebf92db
Bugfix: ARKODE ONE_STEP Description (#362)
gardner48 Nov 2, 2023
15071ae
CI: Upload only test outputs (#364)
balos1 Nov 3, 2023
37d75e1
Maintenance: Remove unused files (#366)
gardner48 Nov 6, 2023
1184484
CI: Update actions (#368)
gardner48 Nov 6, 2023
9b01e93
Maintenance: Remove F77 interface examples (#367)
gardner48 Nov 6, 2023
4e5de4c
Maintenance: Simplify tarscripts (#365)
gardner48 Nov 6, 2023
da23565
Feature: Update Full RHS Calls (#324)
gardner48 Nov 8, 2023
110a6d9
Feature/oo adaptivity2 (#358)
drreynolds Nov 9, 2023
1b913be
Developer docs (#361)
balos1 Nov 12, 2023
551f676
Remove deprecated code (#360)
balos1 Nov 13, 2023
e75d0c0
Remove deprecated types (#369)
balos1 Nov 14, 2023
6838fad
Docs: Fix table name (#374)
Steven-Roberts Nov 16, 2023
7c8ad3d
Initial import of relevant files from https://github.com/danmm16/sund…
drreynolds Nov 17, 2023
0d0d4b6
Fixed ARKODE-examples builds
drreynolds Nov 17, 2023
60806ea
Fixed cvode example guide build
drreynolds Nov 17, 2023
6ffdae0
Fixes for ARKODE example documentation
drreynolds Nov 20, 2023
8e41653
Initial pass at cleaning up CVODE example guide
drreynolds Nov 20, 2023
aaaf20c
Additional cleanup
drreynolds Nov 20, 2023
32628f1
Minor cleanup, and reorganization of section order
drreynolds Nov 21, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 0 additions & 1 deletion .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,6 @@ SpacesInConditionalStatement : false
SpacesInContainerLiterals : true
SpacesInParentheses : false
SpacesInSquareBrackets : false
SpaceBeforeSquareBrackets : false
Standard : c++14
TabWidth: 2
UseCRLF : false
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/test-driver/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,5 @@ runs:
run: |
git config --global --add safe.directory $GITHUB_WORKSPACE
cd test
./test_driver.sh --testtype CUSTOM --env env/docker.sh --tpls --realtype ${{ inputs.precision }} --indexsize ${{ inputs.indexsize }}
./test_driver.sh --testtype CUSTOM --env env/docker.sh --tpls --sunrealtype ${{ inputs.precision }} --indexsize ${{ inputs.indexsize }}
shell: bash
20 changes: 17 additions & 3 deletions .github/workflows/double-precision.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
#
name: double precision build and test with GCC+TPLs (no GPUs)
name: Build and Test - Ubuntu/gcc double precision (TPLs, no GPUs)

on:
push:
pull_request:
merge_group:
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build_and_test:
Expand All @@ -25,10 +31,18 @@ jobs:
with:
indexsize: ${{ matrix.indexsize }}
precision: ${{ matrix.precision }}
- name: Archive files from failed build
uses: actions/upload-artifact@v2.2.4
- name: Archive build files from failed build
uses: actions/upload-artifact@v3
if: failure()
with:
name: build_files
path: |
${{ github.workspace }}/test/build_*
!${{ github.workspace }}/test/build_*/Testing/output
- name: Archive output files from failed build
uses: actions/upload-artifact@v3
if: failure()
with:
name: output_files
path: |
${{ github.workspace }}/test/build_*/Testing/
20 changes: 17 additions & 3 deletions .github/workflows/extended-precision.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
#
name: extended precision build and test with GCC+TPLs (no GPUs)
name: Build and Test - Ubuntu/gcc extended precision (TPLs, no GPUs)

on:
pull_request:
merge_group:
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build_and_test:
Expand All @@ -24,10 +30,18 @@ jobs:
with:
indexsize: ${{ matrix.indexsize }}
precision: ${{ matrix.precision }}
- name: Archive files from failed build
uses: actions/upload-artifact@v2.2.4
- name: Archive build files from failed build
uses: actions/upload-artifact@v3
if: failure()
with:
name: build_files
path: |
${{ github.workspace }}/test/build_*
!${{ github.workspace }}/test/build_*/Testing/output
- name: Archive output files from failed build
uses: actions/upload-artifact@v3
if: failure()
with:
name: output_files
path: |
${{ github.workspace }}/test/build_*/Testing/
10 changes: 8 additions & 2 deletions .github/workflows/macos-latest.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,20 @@
name: MacOS short test
name: Build and Test - MacOS (short)

on:
pull_request:
merge_group:
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release

jobs:
build:
build_and_test:
# The CMake configure and build commands are platform agnostic and should work equally
# well on Windows or Mac. You can convert this to a matrix build if you need
# cross-platform coverage.
Expand Down
20 changes: 17 additions & 3 deletions .github/workflows/single-precision.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
#
name: single precision build and test with GCC+TPLs (no GPUs)
name: Build and Test - Ubuntu/gcc single precision (TPLs, no GPUs)

on:
pull_request:
merge_group:
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build_and_test:
Expand All @@ -24,10 +30,18 @@ jobs:
with:
indexsize: ${{ matrix.indexsize }}
precision: ${{ matrix.precision }}
- name: Archive files from failed build
uses: actions/upload-artifact@v2.2.4
- name: Archive build files from failed build
uses: actions/upload-artifact@v3
if: failure()
with:
name: build_files
path: |
${{ github.workspace }}/test/build_*
!${{ github.workspace }}/test/build_*/Testing/output
- name: Archive output files from failed build
uses: actions/upload-artifact@v3
if: failure()
with:
name: output_files
path: |
${{ github.workspace }}/test/build_*/Testing/
19 changes: 16 additions & 3 deletions .github/workflows/spack-develop.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,17 @@
#
name: spack@develop build and test with GCC+TPLs (no GPUs)
name: Build and Test - Ubuntu/gcc spack@develop (TPLs, no GPUs)

on:
pull_request:
merge_group:
workflow_dispatch:
schedule:
- cron: '00 22 * * *'

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build_and_test:
runs-on: ubuntu-latest
Expand All @@ -27,10 +32,18 @@ jobs:
with:
indexsize: ${{ matrix.indexsize }}
precision: ${{ matrix.precision }}
- name: Archive files from failed build
uses: actions/upload-artifact@v2.2.4
- name: Archive build files from failed build
uses: actions/upload-artifact@v3
if: failure()
with:
name: build_files
path: |
${{ github.workspace }}/test/build_*
!${{ github.workspace }}/test/build_*/Testing/output
- name: Archive output files from failed build
uses: actions/upload-artifact@v3
if: failure()
with:
name: output_files
path: |
${{ github.workspace }}/test/build_*/Testing/
46 changes: 38 additions & 8 deletions .github/workflows/ubuntu-clang-latest.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,28 @@
name: Ubuntu (clang) short test
name: Build - Ubuntu/Clang (no TPLs)

on:
pull_request:
merge_group:
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release

jobs:
build:
build_cycle_log_levels:
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
# 2 is what all other builds use (its the default), so skip it here
logging_level: [0, 1, 3, 4, 5]

steps:
- name: Install LLVM and Clang
uses: KyleMayes/install-llvm-action@v1
Expand All @@ -22,14 +34,32 @@ jobs:
- name: Configure CMake
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_C_COMPILER=$(which clang) -DCMAKE_CXX_COMPILER=$(which clang++)
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_C_COMPILER=$(which clang) -DCMAKE_CXX_COMPILER=$(which clang++) -DSUNDIALS_LOGGING_LEVEL=${{matrix.logging_level}}

- name: Build
# Build your program with the given configuration
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}

- name: Test
working-directory: ${{github.workspace}}/build
# Execute tests defined by the CMake configuration.
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
run: ctest -C ${{env.BUILD_TYPE}}
build_cycle_profiling:
runs-on: ubuntu-latest

strategy:
matrix:
profiling: ['OFF', 'ON']

steps:
- name: Install LLVM and Clang
uses: KyleMayes/install-llvm-action@v1
with:
version: "14.0"

- uses: actions/checkout@v3

- name: Configure CMake
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_C_COMPILER=$(which clang) -DCMAKE_CXX_COMPILER=$(which clang++) -DSUNDIALS_BUILD_WITH_PROFILING=${{matrix.profiling}}

- name: Build
# Build your program with the given configuration
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
12 changes: 9 additions & 3 deletions .github/workflows/windows-latest-mingw.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,20 @@
name: Windows (mingw) short test
name: Build and Test - Windows/mingw (short)

on:
pull_request:
merge_group:
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release

jobs:
build:
buil_and_test:
runs-on: windows-latest

steps:
Expand All @@ -21,7 +27,7 @@ jobs:
- name: Configure CMake
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
run: cmake -G "MinGW Makefiles" -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
run: cmake -G "MinGW Makefiles" -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DSUNDIALS_BUILD_WITH_PROFILING=ON -DSUNDIALS_LOGGING_LEVEL=2 -DSUNDIALS_TEST_UNITTESTS=OFF -DEXAMPLES_ENABLE_CXX=ON

- name: Build
# Build your program with the given configuration
Expand Down
12 changes: 9 additions & 3 deletions .github/workflows/windows-latest.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,20 @@
name: Windows short test
name: Build and Test - Windows/MSVC (short)

on:
pull_request:
merge_group:
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release

jobs:
build:
build_and_test:
runs-on: windows-latest

steps:
Expand All @@ -17,7 +23,7 @@ jobs:
- name: Configure CMake
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DBUILD_STATIC_LIBS=OFF
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DBUILD_STATIC_LIBS=OFF -DSUNDIALS_BUILD_WITH_PROFILING=ON -DSUNDIALS_LOGGING_LEVEL=2 -DSUNDIALS_TEST_UNITTESTS=ON -DEXAMPLES_ENABLE_CXX=ON

- name: Build
# Build your program with the given configuration
Expand Down
22 changes: 17 additions & 5 deletions .gitlab/build_and_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -188,11 +188,23 @@ then
$cmake_exe --version

# configure
$cmake_exe \
-C "${hostconfig_path}" \
-DCMAKE_INSTALL_PREFIX=${install_dir} \
"${project_dir}"

if [[ "${CI_COMMIT_BRANCH}" == "main" ]]
then
# redirect caliper files to release directory
sundials_version=$(cd ${project_dir}; git describe --abbrev=0)
$cmake_exe \
-C "${hostconfig_path}" \
-DCMAKE_INSTALL_PREFIX=${install_dir} \
-DSUNDIALS_CALIPER_OUTPUT_DIR="${CALIPER_DIR}/Release/${hostname}/${sundials_version}" \
"${project_dir}"

else
$cmake_exe \
-C "${hostconfig_path}" \
-DCMAKE_INSTALL_PREFIX=${install_dir} \
"${project_dir}"
fi

# build
VERBOSE_BUILD=${VERBOSE_BUILD:-"OFF"}
if [[ "${VERBOSE_BUILD}" == "ON" ]]; then
Expand Down
3 changes: 2 additions & 1 deletion .gitlab/lassen-jobs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@ lassen_gcc_cuda_bench:
matrix:
- COMPILER_SPEC: [email protected]
CUDA_SPEC: [[email protected]]
CALIPER_DIR: /usr/workspace/sundials/califiles
variables:
SPEC: "%${COMPILER_SPEC} cstd=99 cxxstd=14 build_type=Release precision=double scheduler=lsf caliper-dir=/usr/workspace/sundials/califiles ~int64 +benchmarks+profiling+caliper+adiak+mpi+openmp+cuda+raja cuda_arch=70 ^raja+cuda~openmp~examples~exercises cuda_arch=70 ^caliper+adiak+cuda cuda_arch=70 ^${CUDA_SPEC}+allow-unsupported-compilers"
SPEC: "%${COMPILER_SPEC} cstd=99 cxxstd=14 build_type=Release precision=double scheduler=lsf caliper-dir=${CALIPER_DIR} ~int64 +benchmarks+profiling+caliper+adiak+mpi+openmp+cuda+raja cuda_arch=70 ^raja+cuda~openmp~examples~exercises cuda_arch=70 ^caliper+adiak+cuda cuda_arch=70 ^${CUDA_SPEC}+allow-unsupported-compilers"
extends: .lassen_build_and_bench

Loading
Loading