Skip to content

Commit 82abf37

Browse files
authored
Release 0.11.27
Merge pull request #1759 from AMICI-dev/release_0.11.27
2 parents f02dde9 + d8f8ad6 commit 82abf37

File tree

85 files changed

+1827
-1516
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+1827
-1516
lines changed

.github/workflows/test_performance.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ on:
44
branches:
55
- develop
66
- master
7-
- compile_without_optimization
7+
- sparsify_jacobian
88

99
pull_request:
1010
branches:
@@ -63,7 +63,7 @@ jobs:
6363
# import test model
6464
- name: Import test model
6565
run: |
66-
check_time.sh petab_import python tests/performance/test.py import
66+
AMICI_IMPORT_NPROCS=2 check_time.sh petab_import python tests/performance/test.py import
6767
6868
- name: "Upload artifact: CS_Signalling_ERBB_RAS_AKT_petab"
6969
uses: actions/upload-artifact@v1

.github/workflows/test_petab_test_suite.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ jobs:
8181
--cov-report=xml --cov-append --cov=amici tests/petab_test_suite/
8282
8383
- name: Codecov
84-
uses: codecov/codecov-action@v1
84+
uses: codecov/codecov-action@v2
8585
with:
8686
token: ${{ secrets.CODECOV_TOKEN }}
8787
file: ./coverage.xml

.github/workflows/test_pypi.yml

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,8 @@ jobs:
3131
- name: homebrew
3232
run: |
3333
if [[ ${{ matrix.os }} == macos* ]] ; then \
34-
brew install [email protected] swig gcc libomp \
35-
&& echo "/usr/local/opt/[email protected]/bin" >> $GITHUB_PATH \
36-
&& echo LDFLAGS="-L/usr/local/lib/ -L/usr/local/opt/[email protected]/lib" >> $GITHUB_ENV \
37-
&& echo CPPFLAGS="-I/usr/local/opt/[email protected]/include" >> $GITHUB_ENV \
38-
&& echo HDF5_BASE="/usr/local/opt/[email protected]/" >> $GITHUB_ENV
34+
brew install hdf5 swig gcc libomp \
35+
&& echo LDFLAGS="-L/usr/local/lib/" >> $GITHUB_ENV
3936
fi
4037
4138
- name: Set up Python ${{ matrix.python-version }}

.github/workflows/test_python_cplusplus.yml

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ jobs:
104104
scripts/runNotebook.sh documentation/GettingStarted.ipynb
105105
106106
- name: Codecov Python
107-
uses: codecov/codecov-action@v1
107+
uses: codecov/codecov-action@v2
108108
with:
109109
token: ${{ secrets.CODECOV_TOKEN }}
110110
file: ./build/coverage_py.xml
@@ -122,7 +122,7 @@ jobs:
122122
&& lcov -a coverage_cpp.info -a coverage_py.info -o coverage.info
123123
124124
- name: Codecov CPP
125-
uses: codecov/codecov-action@v1
125+
uses: codecov/codecov-action@v2
126126
with:
127127
token: ${{ secrets.CODECOV_TOKEN }}
128128
file: ./coverage.info
@@ -152,13 +152,11 @@ jobs:
152152
# install amici dependencies
153153
- name: homebrew
154154
run: |
155-
brew install hdf5@1.10 swig gcc cppcheck libomp boost \
155+
brew install hdf5 swig gcc cppcheck libomp boost \
156156
&& brew ls -v boost \
157157
&& brew ls -v libomp \
158-
&& echo "/usr/local/opt/[email protected]/bin" >> $GITHUB_PATH \
159-
&& echo LDFLAGS="-L/usr/local/lib/ -L/usr/local/opt/[email protected]/lib -L/usr/local/Cellar/boost/1.78.0_1/lib/" >> $GITHUB_ENV \
160-
&& echo CPPFLAGS="-I/usr/local/opt/[email protected]/include -I/usr/local/Cellar/boost/1.78.0_1/include/" >> $GITHUB_ENV \
161-
&& echo HDF5_BASE="/usr/local/opt/[email protected]/" >> $GITHUB_ENV
158+
&& echo LDFLAGS="-L/usr/local/lib/ -L/usr/local/Cellar/boost/1.78.0_1/lib/" >> $GITHUB_ENV \
159+
&& echo CPPFLAGS="-I/usr/local/Cellar/boost/1.78.0_1/include/" >> $GITHUB_ENV
162160
163161
- name: Build AMICI
164162
run: |

.github/workflows/test_sbml_semantic_test_suite.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ jobs:
5252
path: tests/amici-semantic-results
5353

5454
- name: Codecov SBMLSuite
55-
uses: codecov/codecov-action@v1
55+
uses: codecov/codecov-action@v2
5656
with:
5757
token: ${{ secrets.CODECOV_TOKEN }}
5858
file: ./coverage_SBMLSuite.xml

CHANGELOG.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,63 @@
22

33
## v0.X Series
44

5+
### v0.11.27 (2022-04-04)
6+
7+
New features:
8+
* Checking condition number when computing sensitivities via Newton
9+
by @FFroehlich in https://github.com/AMICI-dev/AMICI/pull/1730
10+
* Removed SPBCG solver by @FFroehlich in
11+
https://github.com/AMICI-dev/AMICI/pull/1729
12+
* Added Newton step convergence checks to steadystate solver by @FFroehlich in
13+
https://github.com/AMICI-dev/AMICI/pull/1737
14+
* Removed legacy options/members `amioption.newton_preeq` and `Solver::r… by
15+
@dweindl in https://github.com/AMICI-dev/AMICI/pull/1744
16+
* Added `ReturnData::cpu_time_total` to track total time spent in
17+
`runAmiciSimulation` by @dweindl in
18+
https://github.com/AMICI-dev/AMICI/pull/1743
19+
* SBML import: Alternative algorithm for identifying conservation laws by
20+
@dweindl in https://github.com/AMICI-dev/AMICI/pull/1748
21+
* Use `amici.AmiciVersionError` to indicate version mismatch by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1764
22+
23+
Performance:
24+
* Optional parallel computation of derivatives during model import by @dweindl
25+
in https://github.com/AMICI-dev/AMICI/pull/1740
26+
* Sparsify jacobian by @FFroehlich in https://github.com/AMICI-dev/AMICI/pull/1766
27+
* Speedup for models with conservation laws by @FFroehlich in https://github.com/AMICI-dev/AMICI/pull/1765
28+
* Speedup conservation law computation by @FFroehlich in
29+
https://github.com/AMICI-dev/AMICI/pull/1754
30+
* Exploit stoichiometric matrix in pysb import by @FFroehlich in
31+
https://github.com/AMICI-dev/AMICI/pull/1761
32+
* Speedup edata construction from petab problems by @FFroehlich in
33+
https://github.com/AMICI-dev/AMICI/pull/1746
34+
35+
Fixes:
36+
* Fixed `get_model_settings` that would to setting incorrect initial states and
37+
initial state sensitivities for models with parameter-dependent initial
38+
states by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1751
39+
* Use correct tolerances for convergence check in Newton solver by @FFroehlich
40+
in https://github.com/AMICI-dev/AMICI/pull/1728
41+
* Harmonized convergence checks by @FFroehlich in
42+
https://github.com/AMICI-dev/AMICI/pull/1731
43+
* Made sundials' KLU_INDEXTYPE match actual klu index type by @dweindl in
44+
https://github.com/AMICI-dev/AMICI/pull/1733
45+
* Fixed `Model::setStateIsNonNegative` logic that would raise exceptions in
46+
cases where it shouldn't by @dweindl in
47+
https://github.com/AMICI-dev/AMICI/pull/1736
48+
* Fixed undefined reference to dladdr by @kristianmeyerr in
49+
https://github.com/AMICI-dev/AMICI/pull/1738
50+
* Fixed HDF5 OSX intermediate group creation errors by @dweindl in
51+
https://github.com/AMICI-dev/AMICI/pull/1741
52+
* Fixed recent cmake-based build issues due to changed sundials library
53+
directory by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1756
54+
* Updated Windows installation instructions by @paulflang in
55+
https://github.com/AMICI-dev/AMICI/pull/1763
56+
57+
... and other contributions by @FFroehlich, @dweindl
58+
59+
**Full Changelog**:
60+
https://github.com/AMICI-dev/AMICI/compare/v0.11.26...v0.11.27
61+
562
### v0.11.26 (2022-03-14)
663

764
New features:

CMakeLists.txt

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -54,34 +54,7 @@ set(SUITESPARSE_LIBRARIES
5454
${SUITESPARSE_DIR}/SuiteSparse_config/libsuitesparseconfig${CMAKE_STATIC_LIBRARY_SUFFIX}
5555
)
5656

57-
set(SUNDIALS_LIB_DIR "${CMAKE_SOURCE_DIR}/ThirdParty/sundials/build/${CMAKE_INSTALL_LIBDIR}")
58-
set(SUNDIALS_LIBRARIES
59-
${SUNDIALS_LIB_DIR}/libsundials_nvecserial${CMAKE_STATIC_LIBRARY_SUFFIX}
60-
${SUNDIALS_LIB_DIR}/libsundials_sunlinsolband${CMAKE_STATIC_LIBRARY_SUFFIX}
61-
${SUNDIALS_LIB_DIR}/libsundials_sunlinsolklu${CMAKE_STATIC_LIBRARY_SUFFIX}
62-
${SUNDIALS_LIB_DIR}/libsundials_sunlinsolpcg${CMAKE_STATIC_LIBRARY_SUFFIX}
63-
${SUNDIALS_LIB_DIR}/libsundials_sunlinsolspbcgs${CMAKE_STATIC_LIBRARY_SUFFIX}
64-
${SUNDIALS_LIB_DIR}/libsundials_sunlinsolspfgmr${CMAKE_STATIC_LIBRARY_SUFFIX}
65-
${SUNDIALS_LIB_DIR}/libsundials_sunmatrixband${CMAKE_STATIC_LIBRARY_SUFFIX}
66-
${SUNDIALS_LIB_DIR}/libsundials_sunmatrixdense${CMAKE_STATIC_LIBRARY_SUFFIX}
67-
${SUNDIALS_LIB_DIR}/libsundials_sunmatrixsparse${CMAKE_STATIC_LIBRARY_SUFFIX}
68-
${SUNDIALS_LIB_DIR}/libsundials_sunnonlinsolfixedpoint${CMAKE_STATIC_LIBRARY_SUFFIX}
69-
${SUNDIALS_LIB_DIR}/libsundials_sunnonlinsolnewton${CMAKE_STATIC_LIBRARY_SUFFIX}
70-
${SUNDIALS_LIB_DIR}/libsundials_cvodes${CMAKE_STATIC_LIBRARY_SUFFIX}
71-
${SUNDIALS_LIB_DIR}/libsundials_idas${CMAKE_STATIC_LIBRARY_SUFFIX}
72-
)
73-
set(SUNDIALS_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/ThirdParty/sundials/build/include")
74-
75-
option(SUNDIALS_SUPERLUMT_ENABLE "Enable sundials SuperLUMT?" OFF)
76-
if(SUNDIALS_SUPERLUMT_ENABLE)
77-
set(SUNDIALS_LIBRARIES ${SUNDIALS_LIBRARIES}
78-
${SUNDIALS_LIB_DIR}/libsundials_sunlinsolsuperlumt${CMAKE_STATIC_LIBRARY_SUFFIX}
79-
${CMAKE_SOURCE_DIR}/ThirdParty/SuperLU_MT_3.1/lib/libsuperlu_mt_PTHREAD${CMAKE_STATIC_LIBRARY_SUFFIX}
80-
-lblas
81-
)
82-
set(SUNDIALS_INCLUDE_DIRS ${SUNDIALS_INCLUDE_DIRS}
83-
"${CMAKE_SOURCE_DIR}/ThirdParty/SuperLU_MT_3.1/SRC/")
84-
endif()
57+
find_package(SUNDIALS REQUIRED PATHS "${CMAKE_SOURCE_DIR}/ThirdParty/sundials/build/lib/cmake/sundials/")
8558

8659
set(GSL_LITE_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/ThirdParty/gsl")
8760

@@ -187,7 +160,6 @@ target_include_directories(${PROJECT_NAME}
187160
PUBLIC $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>
188161
PUBLIC swig
189162
PUBLIC ${GSL_LITE_INCLUDE_DIR}
190-
PUBLIC ${SUNDIALS_INCLUDE_DIRS}
191163
PUBLIC ${SUITESPARSE_INCLUDE_DIRS}
192164
PUBLIC ${HDF5_INCLUDE_DIRS}
193165
)
@@ -197,12 +169,40 @@ if(NOT "${BLAS_INCLUDE_DIRS}" STREQUAL "")
197169
endif()
198170

199171
target_link_libraries(${PROJECT_NAME}
200-
PUBLIC ${SUNDIALS_LIBRARIES}
172+
PUBLIC SUNDIALS::generic_static
173+
PUBLIC SUNDIALS::nvecserial_static
174+
PUBLIC SUNDIALS::sunmatrixband_static
175+
PUBLIC SUNDIALS::sunmatrixdense_static
176+
PUBLIC SUNDIALS::sunmatrixsparse_static
177+
PUBLIC SUNDIALS::sunlinsolband_static
178+
PUBLIC SUNDIALS::sunlinsoldense_static
179+
PUBLIC SUNDIALS::sunlinsolpcg_static
180+
PUBLIC SUNDIALS::sunlinsolspbcgs_static
181+
PUBLIC SUNDIALS::sunlinsolspfgmr_static
182+
PUBLIC SUNDIALS::sunlinsolspgmr_static
183+
PUBLIC SUNDIALS::sunlinsolsptfqmr_static
184+
PUBLIC SUNDIALS::sunlinsolklu_static
185+
PUBLIC SUNDIALS::sunnonlinsolnewton_static
186+
PUBLIC SUNDIALS::sunnonlinsolfixedpoint_static
187+
PUBLIC SUNDIALS::cvodes_static
188+
PUBLIC SUNDIALS::idas_static
201189
PUBLIC ${SUITESPARSE_LIBRARIES}
202190
PUBLIC ${HDF5_LIBRARIES}
203191
PUBLIC ${BLAS_LIBRARIES}
192+
PUBLIC ${CMAKE_DL_LIBS}
204193
)
205194

195+
option(SUNDIALS_SUPERLUMT_ENABLE "Enable sundials SuperLUMT?" OFF)
196+
if(SUNDIALS_SUPERLUMT_ENABLE)
197+
set(SUNDIALS_LIBRARIES ${SUNDIALS_LIBRARIES}
198+
${SUNDIALS_LIB_DIR}/libsundials_sunlinsolsuperlumt${CMAKE_STATIC_LIBRARY_SUFFIX}
199+
${CMAKE_SOURCE_DIR}/ThirdParty/SuperLU_MT_3.1/lib/libsuperlu_mt_PTHREAD${CMAKE_STATIC_LIBRARY_SUFFIX}
200+
-lblas
201+
)
202+
target_include_directories(${PROJECT_NAME}
203+
PUBLIC "${CMAKE_SOURCE_DIR}/ThirdParty/SuperLU_MT_3.1/SRC/")
204+
endif()
205+
206206
# Create targets to make the sources show up in IDEs for convenience
207207

208208
# For matlab interface

ThirdParty/SuiteSparse/AMD/Include/amd_internal.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,8 @@
159159
#define ID SuiteSparse_long_id
160160
#define Int_MAX SuiteSparse_long_max
161161

162+
#define UnsignedInt SuiteSparse_unsigned_long
163+
162164
#define AMD_order amd_l_order
163165
#define AMD_defaults amd_l_defaults
164166
#define AMD_control amd_l_control
@@ -180,6 +182,8 @@
180182
#define ID "%d"
181183
#define Int_MAX INT_MAX
182184

185+
#define UnsignedInt unsigned int
186+
183187
#define AMD_order amd_order
184188
#define AMD_defaults amd_defaults
185189
#define AMD_control amd_control

ThirdParty/SuiteSparse/AMD/Source/amd_2.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -462,7 +462,7 @@ GLOBAL void AMD_2
462462
nvi, nvj, nvpiv, slenme, wbig, we, wflg, wnvi, ok, ndense, ncmpa,
463463
dense, aggressive ;
464464

465-
unsigned Int hash ; /* unsigned, so that hash % n is well defined.*/
465+
UnsignedInt hash ; /* unsigned, so that hash % n is well defined.*/
466466

467467
/*
468468
* deg: the degree of a variable or element

ThirdParty/SuiteSparse/CAMD/Include/camd_internal.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,8 @@
160160
#define ID SuiteSparse_long_id
161161
#define Int_MAX SuiteSparse_long_max
162162

163+
#define UnsignedInt SuiteSparse_unsigned_long
164+
163165
#define CAMD_order camd_l_order
164166
#define CAMD_defaults camd_l_defaults
165167
#define CAMD_control camd_l_control
@@ -182,6 +184,8 @@
182184
#define ID "%d"
183185
#define Int_MAX INT_MAX
184186

187+
#define UnsignedInt unsigned int
188+
185189
#define CAMD_order camd_order
186190
#define CAMD_defaults camd_defaults
187191
#define CAMD_control camd_control

0 commit comments

Comments
 (0)