Skip to content

Commit

Permalink
Merge pull request #2497 from dweindl/release_0.26.2
Browse files Browse the repository at this point in the history
Release 0.26.2
  • Loading branch information
dweindl authored Sep 26, 2024
2 parents b0d79ff + e64ea4f commit 3dca16e
Show file tree
Hide file tree
Showing 50 changed files with 2,065 additions and 1,756 deletions.
1 change: 1 addition & 0 deletions .github/workflows/test_benchmark_collection_models.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ jobs:
run: |
git clone --depth 1 https://github.com/benchmarking-initiative/Benchmark-Models-PEtab.git \
&& export BENCHMARK_COLLECTION="$(pwd)/Benchmark-Models-PEtab/Benchmark-Models/" \
&& pip3 install -e $BENCHMARK_COLLECTION/../src/python \
&& AMICI_PARALLEL_COMPILE="" tests/benchmark-models/test_benchmark_collection.sh
# run gradient checks
Expand Down
37 changes: 37 additions & 0 deletions .github/workflows/test_python_cplusplus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,13 @@ jobs:
with:
python-version: ${{ matrix.python-version }}

- name: Cache
uses: actions/cache@v4
with:
path: |
~/.cache/pooch
key: ${{ runner.os }}-py${{ matrix.python-version }}-${{ github.job }}

- uses: actions/checkout@v4
- run: git fetch --prune --unshallow

Expand Down Expand Up @@ -201,6 +208,13 @@ jobs:
with:
python-version: ${{ matrix.python-version }}

- name: Cache
uses: actions/cache@v4
with:
path: |
~/.cache/pooch
key: ${{ runner.os }}-py${{ matrix.python-version }}-${{ github.job }}

- uses: actions/checkout@v4
- run: git fetch --prune --unshallow

Expand Down Expand Up @@ -259,6 +273,17 @@ jobs:
- name: C++ tests
run: scripts/run-cpp-tests.sh

- name: Get Pooch Cache Directory
id: get-pooch-cache
run: |
echo "pooch-cache=$(source venv/bin/activate && python -c 'import pooch; print(pooch.os_cache("pooch"))')" >> $GITHUB_ENV
- name: Cache Pooch Directory
uses: actions/cache@v4
with:
path: ${{ env.pooch-cache }}
key: ${{ runner.os }}-py${{ matrix.python-version }}-${{ github.job }}

- name: Python tests
run: |
scripts/run-python-tests.sh \
Expand Down Expand Up @@ -301,6 +326,18 @@ jobs:
- name: Get BioNetGen
run: scripts/buildBNGL.sh


- name: Get Pooch Cache Directory
id: get-pooch-cache
run: |
echo "pooch-cache=$(source venv/bin/activate && python -c 'import pooch; print(pooch.os_cache("pooch"))')" >> $GITHUB_ENV
- name: Cache Pooch Directory
uses: actions/cache@v4
with:
path: ${{ env.pooch-cache }}
key: ${{ runner.os }}-py${{ matrix.python-version }}-${{ github.job }}

- name: Python tests
run: |
scripts/run-python-tests.sh \
Expand Down
11 changes: 11 additions & 0 deletions .github/workflows/test_python_ver_matrix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,17 @@ jobs:
- run: source venv/bin/activate && pip3 install "sympy>=1.12.1"
if: matrix.python-version != '3.12'

- name: Get Pooch Cache Directory
id: get-pooch-cache
run: |
echo "pooch-cache=$(source venv/bin/activate && python -c 'import pooch; print(pooch.os_cache("pooch"))')" >> $GITHUB_ENV
- name: Cache Pooch Directory
uses: actions/cache@v4
with:
path: ${{ env.pooch-cache }}
key: ${{ runner.os }}-py${{ matrix.python-version }}-${{ github.job }}

- name: Python tests
run: |
source venv/bin/activate \
Expand Down
12 changes: 12 additions & 0 deletions .github/workflows/test_windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,18 @@ jobs:

- run: python -m amici

- name: Get Pooch Cache Directory
id: get-pooch-cache
run: |
echo "pooch-cache=$(python -c 'import pooch; print(pooch.os_cache("pooch"))')" >> $GITHUB_ENV
shell: bash

- name: Cache Pooch Directory
uses: actions/cache@v4
with:
path: ${{ env.pooch-cache }}
key: ${{ runner.os }}-py${{ matrix.python-version }}-${{ github.job }}

- name: Run Python tests
shell: bash
run: |
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,7 @@ ThirdParty/sundials/build/*
ThirdParty/SuiteSparse/lib/*
ThirdParty/SuiteSparse/include/
ThirdParty/SuiteSparse/share/*
ThirdParty/SuiteSparse/install/*
ThirdParty/SuperLU_MT_3.1/
ThirdParty/superlu_mt_3.1.tar.gz
ThirdParty/swig-*
Expand Down
4 changes: 2 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ repos:
- id: trailing-whitespace
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff version.
rev: v0.4.1
rev: v0.6.7
hooks:
# Run the linter.
- id: ruff
Expand All @@ -28,7 +28,7 @@ repos:
- python/sdist/pyproject.toml

- repo: https://github.com/asottile/pyupgrade
rev: v3.15.2
rev: v3.17.0
hooks:
- id: pyupgrade
args: ["--py310-plus"]
Expand Down
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,26 @@ See also our [versioning policy](https://amici.readthedocs.io/en/latest/versioni

## v0.X Series

### v0.26.2 (2024-09-25)

**Fixes**

* Fixed a sympy float comparison issue in spline code that would cause
an `AssertionError`

by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2499

* Fixed some warnings from recent CMake versions

by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2492

* Fixed a potential issue when including AMICI in a CMake project

by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2493

**Full Changelog**: https://github.com/AMICI-dev/AMICI/compare/v0.26.1...v0.26.2


### v0.26.1 (2024-07-11)

**Fixes**
Expand Down
15 changes: 4 additions & 11 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,9 @@
# Build AMICI library
#
cmake_minimum_required(VERSION 3.15)
cmake_policy(VERSION 3.15...3.27)

# cmake >=3.27
if(POLICY CMP0144)
cmake_policy(SET CMP0144 NEW)
endif(POLICY CMP0144)
# cmake >= 3.30
if(POLICY CMP0167)
cmake_policy(SET CMP0167 NEW)
endif(POLICY CMP0167)
# When updating the policy version, please also update it in
# src/CMakeLists.template.cmake
cmake_policy(VERSION 3.15...3.30)

project(amici)

Expand Down Expand Up @@ -377,7 +370,7 @@ export(
include(CMakePackageConfigHelpers)
include(version)
configure_package_config_file(
cmake/AmiciConfig.cmake "${CMAKE_CURRENT_BINARY_DIR}/AmiciConfig.cmake"
"cmake/AmiciConfig.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/AmiciConfig.cmake"
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/Amici")
write_basic_package_version_file(AmiciConfigVersion.cmake
COMPATIBILITY ExactVersion)
Expand Down
16 changes: 9 additions & 7 deletions ThirdParty/SuiteSparse/AMD/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@

cmake_minimum_required ( VERSION 3.22 )

set ( AMD_DATE "Jan 10, 2024" )
set ( AMD_DATE "June 20, 2024" )
set ( AMD_VERSION_MAJOR 3 CACHE STRING "" FORCE )
set ( AMD_VERSION_MINOR 3 CACHE STRING "" FORCE )
set ( AMD_VERSION_SUB 1 CACHE STRING "" FORCE )
set ( AMD_VERSION_SUB 3 CACHE STRING "" FORCE )

message ( STATUS "Building AMD version: v"
${AMD_VERSION_MAJOR}.
Expand Down Expand Up @@ -49,10 +49,10 @@ endif ( )
#-------------------------------------------------------------------------------

if ( NOT SUITESPARSE_ROOT_CMAKELISTS )
find_package ( SuiteSparse_config 7.5.0
find_package ( SuiteSparse_config 7.8.0
PATHS ${CMAKE_SOURCE_DIR}/../SuiteSparse_config/build NO_DEFAULT_PATH )
if ( NOT TARGET SuiteSparse::SuiteSparseConfig )
find_package ( SuiteSparse_config 7.5.0 REQUIRED )
find_package ( SuiteSparse_config 7.8.0 REQUIRED )
endif ( )
endif ( )

Expand Down Expand Up @@ -90,7 +90,8 @@ if ( BUILD_SHARED_LIBS )
OUTPUT_NAME amd
SOVERSION ${AMD_VERSION_MAJOR}
PUBLIC_HEADER "Include/amd.h"
WINDOWS_EXPORT_ALL_SYMBOLS ON )
WINDOWS_EXPORT_ALL_SYMBOLS ON
LINKER_LANGUAGE C )

if ( ${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.25" )
set_target_properties ( AMD PROPERTIES EXPORT_NO_SYSTEM ON )
Expand All @@ -111,9 +112,10 @@ if ( BUILD_STATIC_LIBS )
C_STANDARD 11
C_STANDARD_REQUIRED ON
OUTPUT_NAME amd
PUBLIC_HEADER "Include/amd.h" )
PUBLIC_HEADER "Include/amd.h"
LINKER_LANGUAGE C )

if ( MSVC )
if ( MSVC OR ("${CMAKE_C_SIMULATE_ID}" STREQUAL "MSVC") )
set_target_properties ( AMD_static PROPERTIES
OUTPUT_NAME amd_static )
endif ( )
Expand Down
4 changes: 2 additions & 2 deletions ThirdParty/SuiteSparse/AMD/Config/amd.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -392,8 +392,8 @@ void amd_version (int version [3]) ;

#define AMD__VERSION SUITESPARSE__VERCODE(@AMD_VERSION_MAJOR@,@AMD_VERSION_MINOR@,@AMD_VERSION_SUB@)
#if !defined (SUITESPARSE__VERSION) || \
(SUITESPARSE__VERSION < SUITESPARSE__VERCODE(7,5,0))
#error "AMD @AMD_VERSION_MAJOR@.@AMD_VERSION_MINOR@.@AMD_VERSION_SUB@ requires SuiteSparse_config 7.5.0 or later"
(SUITESPARSE__VERSION < SUITESPARSE__VERCODE(7,8,0))
#error "AMD @AMD_VERSION_MAJOR@.@AMD_VERSION_MINOR@.@AMD_VERSION_SUB@ requires SuiteSparse_config 7.8.0 or later"
#endif

#endif
8 changes: 8 additions & 0 deletions ThirdParty/SuiteSparse/AMD/Doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
June 20, 2024: version 3.3.3

* minor update for MATLAB on Windows

Mar 22, 2024: version 3.3.2

* minor updates to build system

Jan 10, 2024: version 3.3.1

* minor updates to build system
Expand Down
2 changes: 1 addition & 1 deletion ThirdParty/SuiteSparse/AMD/Doc/amd_version.tex
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
% version of SuiteSparse/AMD
\date{VERSION 3.3.1, Jan 10, 2024}
\date{VERSION 3.3.3, June 20, 2024}
10 changes: 5 additions & 5 deletions ThirdParty/SuiteSparse/AMD/Include/amd.h
Original file line number Diff line number Diff line change
Expand Up @@ -382,18 +382,18 @@ void amd_version (int version [3]) ;
* Versions 1.1 and earlier of AMD do not include a #define'd version number.
*/

#define AMD_DATE "Jan 10, 2024"
#define AMD_DATE "June 20, 2024"
#define AMD_MAIN_VERSION 3
#define AMD_SUB_VERSION 3
#define AMD_SUBSUB_VERSION 1
#define AMD_SUBSUB_VERSION 3

#define AMD_VERSION_CODE(main,sub) SUITESPARSE_VER_CODE(main,sub)
#define AMD_VERSION AMD_VERSION_CODE(3,3)

#define AMD__VERSION SUITESPARSE__VERCODE(3,3,1)
#define AMD__VERSION SUITESPARSE__VERCODE(3,3,3)
#if !defined (SUITESPARSE__VERSION) || \
(SUITESPARSE__VERSION < SUITESPARSE__VERCODE(7,5,0))
#error "AMD 3.3.1 requires SuiteSparse_config 7.5.0 or later"
(SUITESPARSE__VERSION < SUITESPARSE__VERCODE(7,8,0))
#error "AMD 3.3.3 requires SuiteSparse_config 7.8.0 or later"
#endif

#endif
10 changes: 5 additions & 5 deletions ThirdParty/SuiteSparse/BTF/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@

cmake_minimum_required ( VERSION 3.22 )

set ( BTF_DATE "Jan 10, 2024" )
set ( BTF_DATE "Mar 22, 2024" )
set ( BTF_VERSION_MAJOR 2 CACHE STRING "" FORCE )
set ( BTF_VERSION_MINOR 3 CACHE STRING "" FORCE )
set ( BTF_VERSION_SUB 1 CACHE STRING "" FORCE )
set ( BTF_VERSION_SUB 2 CACHE STRING "" FORCE )

message ( STATUS "Building BTF version: v"
${BTF_VERSION_MAJOR}.
Expand Down Expand Up @@ -44,10 +44,10 @@ include ( SuiteSparsePolicy )
#-------------------------------------------------------------------------------

if ( NOT SUITESPARSE_ROOT_CMAKELISTS )
find_package ( SuiteSparse_config 7.5.0
find_package ( SuiteSparse_config 7.7.0
PATHS ${CMAKE_SOURCE_DIR}/../SuiteSparse_config/build NO_DEFAULT_PATH )
if ( NOT TARGET SuiteSparse::SuiteSparseConfig )
find_package ( SuiteSparse_config 7.5.0 REQUIRED )
find_package ( SuiteSparse_config 7.7.0 REQUIRED )
endif ( )
endif ( )

Expand Down Expand Up @@ -104,7 +104,7 @@ if ( BUILD_STATIC_LIBS )
OUTPUT_NAME btf
PUBLIC_HEADER "Include/btf.h" )

if ( MSVC )
if ( MSVC OR ("${CMAKE_C_SIMULATE_ID}" STREQUAL "MSVC") )
set_target_properties ( BTF_static PROPERTIES
OUTPUT_NAME btf_static )
endif ( )
Expand Down
4 changes: 2 additions & 2 deletions ThirdParty/SuiteSparse/BTF/Config/btf.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -274,8 +274,8 @@ void btf_version (int version [3]) ;

#define BTF__VERSION SUITESPARSE__VERCODE(@BTF_VERSION_MAJOR@,@BTF_VERSION_MINOR@,@BTF_VERSION_SUB@)
#if !defined (SUITESPARSE__VERSION) || \
(SUITESPARSE__VERSION < SUITESPARSE__VERCODE(7,5,0))
#error "BTF @BTF_VERSION_MAJOR@.@BTF_VERSION_MINOR@.@BTF_VERSION_SUB@ requires SuiteSparse_config 7.5.0 or later"
(SUITESPARSE__VERSION < SUITESPARSE__VERCODE(7,7,0))
#error "BTF @BTF_VERSION_MAJOR@.@BTF_VERSION_MINOR@.@BTF_VERSION_SUB@ requires SuiteSparse_config 7.7.0 or later"
#endif

#endif
4 changes: 4 additions & 0 deletions ThirdParty/SuiteSparse/BTF/Doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
Mar 22, 2024: version 2.3.2

* minor updates to build system

Jan 10, 2024: version 2.3.1

* minor updates to build system
Expand Down
10 changes: 5 additions & 5 deletions ThirdParty/SuiteSparse/BTF/Include/btf.h
Original file line number Diff line number Diff line change
Expand Up @@ -264,18 +264,18 @@ void btf_version (int version [3]) ;
* #endif
*/

#define BTF_DATE "Jan 10, 2024"
#define BTF_DATE "Mar 22, 2024"
#define BTF_MAIN_VERSION 2
#define BTF_SUB_VERSION 3
#define BTF_SUBSUB_VERSION 1
#define BTF_SUBSUB_VERSION 2

#define BTF_VERSION_CODE(main,sub) SUITESPARSE_VER_CODE(main,sub)
#define BTF_VERSION BTF_VERSION_CODE(2,3)

#define BTF__VERSION SUITESPARSE__VERCODE(2,3,1)
#define BTF__VERSION SUITESPARSE__VERCODE(2,3,2)
#if !defined (SUITESPARSE__VERSION) || \
(SUITESPARSE__VERSION < SUITESPARSE__VERCODE(7,5,0))
#error "BTF 2.3.1 requires SuiteSparse_config 7.5.0 or later"
(SUITESPARSE__VERSION < SUITESPARSE__VERCODE(7,7,0))
#error "BTF 2.3.2 requires SuiteSparse_config 7.7.0 or later"
#endif

#endif
5 changes: 2 additions & 3 deletions ThirdParty/SuiteSparse/CITATION.bib
Original file line number Diff line number Diff line change
Expand Up @@ -474,17 +474,16 @@ @article{10.1145/3337792

@article{10.1145/3519024,
author = {Lourenco, Christopher and Chen, Jinhao and Moreno-Centeno, Erick and Davis, Timothy A.},
title = {Algorithm&nbsp;1XXX: SPEX Left LU, Exactly Solving Sparse Linear Systems via a Sparse Left-Looking Integer-Preserving LU Factorization},
title = {Algorithm 1021: SPEX Left LU, Exactly Solving Sparse Linear Systems via a Sparse Left-Looking Integer-Preserving LU Factorization},
year = {2022},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
issn = {0098-3500},
url = {https://doi.org/10.1145/3519024},
doi = {10.1145/3519024},
abstract = {SPEX Left LU is a software package for exactly solving unsymmetric sparse linear systems. As a component of the sparse exact (SPEX) software package, SPEX Left LU can be applied to any input matrix, A, whose entries are integral, rational, or decimal, and provides a solution to the system Ax = b which is either exact or accurate to user-specified precision. SPEX Left LU preorders the matrix A with a user-specified fill-reducing ordering and computes a left-looking LU factorization with the special property that each operation used to compute the L and U matrices is integral. Notable additional applications of this package include benchmarking the stability and accuracy of state-of-the-art linear solvers, and determining whether singular-to-double-precision matrices are indeed singular. Computationally, this paper evaluates the impact of several novel pivoting schemes in exact arithmetic, benchmarks the exact iterative solvers within Linbox, and benchmarks the accuracy of MATLAB sparse backslash. Most importantly, it is shown that SPEX Left LU outperforms the exact iterative solvers in run time on easy instances and in stability as the iterative solver fails on a sizeable subset of the tested (both easy and hard) instances. The SPEX Left LU package is written in ANSI C, comes with a MATLAB interface, and is distributed via GitHub, as a component of the SPEX software package, and as a component of SuiteSparse.},
note = {Just Accepted},
journal = {ACM Trans. Math. Softw.},
month = {feb},
month = {jun},
keywords = {exact matrix factorization, sparse linear systems, sparse matrix algorithms, exactly solving linear systems, roundoff errors}
}

Loading

0 comments on commit 3dca16e

Please sign in to comment.