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

Make sympy code optimizations optional #1878

Merged
merged 2 commits into from
Oct 28, 2022
Merged

Make sympy code optimizations optional #1878

merged 2 commits into from
Oct 28, 2022

Conversation

dweindl
Copy link
Member

@dweindl dweindl commented Oct 28, 2022

Turns out that applying sympy optimizations as introduced in #1377 is potentially very costly. Therefore, they are disabled by default. They can be enabled by setting AmiciCxxCodePrinter.optimizations as shown in the test case.

Turns out that applying sympy optimizations as introduced
in #1377 is
potentially very costly. Therefore, they are disabled by
default. They can be enabled by setting
`AmiciCxxCodePrinter.optimizations` as shown in the test
case.
@dweindl dweindl requested a review from FFroehlich October 28, 2022 11:19
@codecov
Copy link

codecov bot commented Oct 28, 2022

Codecov Report

Merging #1878 (67f9a3a) into develop (e43d0e8) will increase coverage by 0.03%.
The diff coverage is 100.00%.

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           develop    #1878      +/-   ##
===========================================
+ Coverage    75.76%   75.79%   +0.03%     
===========================================
  Files           74       74              
  Lines        12895    12896       +1     
===========================================
+ Hits          9770     9775       +5     
+ Misses        3125     3121       -4     
Flag Coverage Δ
cpp 72.86% <ø> (+0.04%) ⬆️
petab 59.83% <75.00%> (-0.06%) ⬇️
python 68.93% <100.00%> (+<0.01%) ⬆️
sbmlsuite ?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
python/sdist/amici/cxxcodeprinter.py 89.69% <100.00%> (+0.10%) ⬆️
src/sundials_matrix_wrapper.cpp 80.61% <0.00%> (-0.41%) ⬇️
src/spline.cpp 72.04% <0.00%> (+6.45%) ⬆️

@sonarqubecloud
Copy link

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

0.0% 0.0% Coverage
0.0% 0.0% Duplication

Copy link
Member

@FFroehlich FFroehlich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@dweindl dweindl merged commit 55299c9 into develop Oct 28, 2022
@dweindl dweindl deleted the optional_optim branch October 28, 2022 15:16
@FFroehlich FFroehlich mentioned this pull request Nov 23, 2022
FFroehlich added a commit that referenced this pull request Nov 23, 2022
* Fix pandas groupby deprecation warning (#1873)

Fixes #1872

* Update reference list (#1874)

* Code printing: Use SymPy C99 math optimizations (#1377)

for SBML import. Does not currently work with PySB import. Also fixes some argument type issues.

Co-authored-by: Daniel Weindl <[email protected]>

* PEtab import: Add option for treating fixed parameters as constants (#1877)

Makes the changes from #1810 optional, as sometimes users prefer more flexible models.
The default remains to treat non-estimated parameters in PEtab as constants in AMICI.

Also adds a basic check for loading existing models during PEtab, to see if they are compatible to what was supposed to be imported. Only checks non-constant parameter IDs so far.

* Make sympy code optimizations optional (#1878)

Turns out that applying sympy optimizations as introduced
in #1377 is
potentially very costly. Therefore, they are disabled by
default. They can be enabled by setting
`AmiciCxxCodePrinter.optimizations` as shown in the test
case.

* Update reference list (#1884)

* GHA: update actions (#1885)

Fixes some GHA warnings.

* Add macos hdf5 header/library paths (#1894)

* Doxygen 1.9.5 on RTD (#1889)

Older binaries are no longer available.

* Code-gen: Fix missing `return` in non-void-returning functions (#1892)

... and set `-Werror` for compiling models in debug mode.

* Add operator== for ExpData (#1881)

Adds `operator==` for `amici::ExpData` and fixes issues for other  `operator==` in case of NaNs in arrays.


Closes #1880

* Fix SetuptoolsDeprecationWarning (#1893)

Setuptools meanwhile requires listing data directories as subpackages. Fixes #1888.

* Dockerfile: Update base image to Ubuntu 22.04 (#1896)

* GHA: Pin python version for osx tests (#1891)

Fixes #1890.

Also: 
* use homebrew boost version
* fix CMake logic for selecting a specific Python version.

* Fix `petab_import.import_model(..., compile=False)` failure (#1897)

Fixes a bug where amici would fail importing an extension that was never built.

* bump version, update changelog

* fix changelog

* -Wno-error=deprecated-declarations

Co-authored-by: Daniel Weindl <[email protected]>
Co-authored-by: Lorenzo Contento <[email protected]>
Co-authored-by: Daniel Weindl <[email protected]>
Co-authored-by: Doresic <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants