Skip to content

Commit

Permalink
Merge pull request #419 from ICB-DCM/develop
Browse files Browse the repository at this point in the history
Release v0.6.0 

## What's Changed

* Update container files by @dweindl in #414
  * activate parpe python environment by default
  * avoid unnecessary full rebuilds when modifying Dockerfile
* Updated amici to v0.30.1 by @dweindl in #417
* Fixed potential issues with `MPI_Finalize` from `~OptimizationApplication` 

**Full Changelog**: v0.5.0...v0.6.0
  • Loading branch information
dweindl authored Feb 18, 2025
2 parents ec0126f + f0f40ea commit 480435d
Show file tree
Hide file tree
Showing 48 changed files with 2,167 additions and 1,304 deletions.
2 changes: 1 addition & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
.git_archival.txt export-subst
python/.git_archival.txt export-subst
.git_archival.txt export-subst

4 changes: 2 additions & 2 deletions .github/workflows/deploy_dockerhub.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,13 @@ jobs:
if: needs.check-secret.outputs.secrets-defined == 'true'
steps:
- uses: actions/checkout@master
- run: git archive -v -o container/charliecloud/parpe_base/parpe.tar.gz --format=tar.gz HEAD
- run: git archive -v -o container/charliecloud/container_files/parpe.tar.gz --format=tar.gz HEAD
- name: Publish to Registry
uses: elgohr/Publish-Docker-Github-Action@v5
with:
name: dweindl/parpe
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
workdir: container/charliecloud/parpe_base/
workdir: container/charliecloud/
dockerfile: Dockerfile
tag_names: true
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM ubuntu:24.04

COPY . /container-files
COPY /container_files /container-files

RUN /container-files/install.sh && rm -rf /tmp && mkdir /tmp

Expand All @@ -9,7 +9,7 @@ ENV CC clang
ENV CXX clang++
ENV OMPI_CC clang
ENV OMPI_CXX clang++
RUN /container-files/install_parpe.sh
RUN /container-files/install_parpe.sh && echo "source /parPE/build/venv/bin/activate" >> /etc/bash.bashrc

ENV PARPE_DIR "/parPE"

Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ jobs:
AMICI_PARALLEL_COMPILE: ""
run: |
cd tests/benchmark-models && pytest \
--durations=10
--durations=10 \
--cov=amici \
--cov-report=xml:"coverage_py.xml" \
--cov-append \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,6 @@ jobs:
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: coverage_SBMLSuite.xml
files: coverage_SBMLSuite.xml
flags: sbmlsuite
fail_ci_if_error: true
6 changes: 3 additions & 3 deletions deps/AMICI/.gitrepo
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
;
[subrepo]
remote = git@github.com:ICB-DCM/AMICI.git
branch = v0.29.0
commit = d2fbf9175502ac0ce5b138a4137d6fb278dbe124
parent = d553b182917ab870886077fde8a0b6c5a56d9b92
branch = v0.30.1
commit = 64bbd800040afa280e8bff1563542497464044a7
parent = 87656e656a521c78edc05e4f4ca10d8448e9617d
cmdver = 0.4.8
method = merge
63 changes: 63 additions & 0 deletions deps/AMICI/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,69 @@ See also our [versioning policy](https://amici.readthedocs.io/en/latest/versioni

## v0.X Series

### v0.30.1 (2025-02-18)

Bugfix-only release.

* Removed `eqx.debug.nan`, fixes #2629
by @FFroehlich in https://github.com/AMICI-dev/AMICI/pull/2630
* Fixes an SBML import issue that led to incorrect results for models with
species-dependent initial assignments (fixes #2642)
by @FFroehlich in https://github.com/AMICI-dev/AMICI/pull/2643
* Fixed `CVodeGetSensDky` error message
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2644
* Disabled `CvodeF` checkpointing to prevent certain rare crashes when forward
integration takes exactly `maxsteps` integration steps, plus some additional
yet unclear condition.
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2645
* Fixed rare crashes due to uncaught exceptions in `~FinalStateStorer`
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2647

**Full Changelog**: https://github.com/AMICI-dev/AMICI/compare/v0.30.0...v0.30.1


### v0.30.0 (2024-12-10)

*Please note that the amici JAX model generation introduced in v0.29.0 is
experimental, the API may substantially change in the future.
Use at your own risk and do not expect backward compatibility.*

**Features**

* Added serialisation for JAX models

by @FFroehlich in https://github.com/AMICI-dev/AMICI/pull/2608

* Disabled building the C++ extension by default when generating a JAX model

by @FFroehlich in https://github.com/AMICI-dev/AMICI/pull/2609

* Separate pre-equilibration and dynamic simulation in jax

by @FFroehlich in https://github.com/AMICI-dev/AMICI/pull/2617

* State reinitialisation in JAX

by @FFroehlich in https://github.com/AMICI-dev/AMICI/pull/2619

**Fixes**

* Fixed ModelStateDerived copy ctor (fixes potential segfaults)

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

* PEtab parameter mapping: fill in fixed parameter values for initial values

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

* `nan`-safe log&divide for JAX models

by @FFroehlich in https://github.com/AMICI-dev/AMICI/pull/2611


**Full Changelog**: https://github.com/AMICI-dev/AMICI/compare/v0.29.0...v0.30.0


### v0.29.0 (2024-11-28)

**Fixes**
Expand Down
11 changes: 11 additions & 0 deletions deps/AMICI/documentation/python_installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,17 @@ If this worked, you can now import the Python module via::

If this does not work for you, please follow the full instructions below.

.. note::

To re-install a previously installed AMICI version with different
build options or changed system libraries, pass the ``--no-cache-dir``
option to ``pip`` to ensure a clean re-installation:

.. code-block:: bash
pip3 install --no-cache-dir amici
Installation on Linux
+++++++++++++++++++++

Expand Down
42 changes: 30 additions & 12 deletions deps/AMICI/include/amici/forwardproblem.h
Original file line number Diff line number Diff line change
Expand Up @@ -441,19 +441,37 @@ class FinalStateStorer : public ContextManager {
/**
* @brief destructor, stores simulation state
*/
~FinalStateStorer() {
~FinalStateStorer() noexcept(false) {
if (fwd_) {
fwd_->final_state_ = fwd_->getSimulationState();
// if there is an associated output timepoint, also store it in
// timepoint_states if it's not present there.
// this may happen if there is an error just at
// (or indistinguishably before) an output timepoint
auto final_time = fwd_->getFinalTime();
auto const timepoints = fwd_->model->getTimepoints();
if (!fwd_->timepoint_states_.count(final_time)
&& std::find(timepoints.cbegin(), timepoints.cend(), final_time)
!= timepoints.cend()) {
fwd_->timepoint_states_[final_time] = fwd_->final_state_;
try {
// This may throw in `CVodeSolver::getSens`
// due to https://github.com/LLNL/sundials/issues/82.
// Therefore, this dtor must be `noexcept(false)` to avoid
// programm termination.
fwd_->final_state_ = fwd_->getSimulationState();
// if there is an associated output timepoint, also store it in
// timepoint_states if it's not present there.
// this may happen if there is an error just at
// (or indistinguishably before) an output timepoint
auto final_time = fwd_->getFinalTime();
auto const timepoints = fwd_->model->getTimepoints();
if (!fwd_->timepoint_states_.count(final_time)
&& std::find(timepoints.cbegin(), timepoints.cend(), final_time)
!= timepoints.cend()) {
fwd_->timepoint_states_[final_time] = fwd_->final_state_;
}
} catch (std::exception const&) {
// We must not throw in case we are already in the stack
// unwinding phase due to some other active exception, otherwise
// this will also lead to termination.
//
// In case there is another active exception,
// `fwd_->{final_state_,timepoint_states_}` won't be set,
// and we assume that they are either not accessed anymore, or
// that there is appropriate error handling in place.
if(!std::uncaught_exceptions()) {
throw;
}
}
}
}
Expand Down
1 change: 1 addition & 0 deletions deps/AMICI/include/amici/model_state.h
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,7 @@ struct ModelStateDerived {
dwdx.set_ctx(sunctx_);
}
sspl_.set_ctx(sunctx_);
x_pos_tmp_.set_ctx(sunctx_);
dwdw_.set_ctx(sunctx_);
dJydy_dense_.set_ctx(sunctx_);
}
Expand Down
1 change: 1 addition & 0 deletions deps/AMICI/pytest.ini
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ filterwarnings =
ignore:Conservation laws for non-constant species in models with Species-AssignmentRules are currently not supported and will be turned off.:UserWarning
ignore:Conservation laws for non-constant species in combination with parameterized stoichiometric coefficients are not currently supported and will be turned off.:UserWarning
ignore:Support for PEtab2.0 is experimental!:UserWarning
ignore:The JAX module is experimental and the API may change in the future.:ImportWarning
# hundreds of SBML <=5.17 warnings
ignore:.*inspect.getargspec\(\) is deprecated.*:DeprecationWarning
# pysb warnings
Expand Down
Loading

0 comments on commit 480435d

Please sign in to comment.