mrc-ide / odin.dust

Compile odin to dust
https://mrc-ide.github.io/odin.dust
Other
3 stars 1 forks source link

Avoid stack overflow when generating large sums #97

Closed richfitz closed 2 years ago

richfitz commented 2 years ago

This PR fixes a stack overflow seen by Ed when generating gpu code for sircovid as this includes a very large sum (hundreds of terms). That causes odin's recursive rewrite to fail. Here, we unfold the tree (+ (+ (+ a b) c) d) to (+ a b c d) which prevents this

codecov[bot] commented 2 years ago

Codecov Report

Merging #97 (8d03b98) into master (d827ac1) will not change coverage. The diff coverage is 100.00%.

:exclamation: Current head 8d03b98 differs from pull request most recent head 2458f2b. Consider uploading reports for the commit 2458f2b to get more accurate results Impacted file tree graph

@@            Coverage Diff            @@
##            master       #97   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            7         7           
  Lines          960       971   +11     
=========================================
+ Hits           960       971   +11     
Impacted Files Coverage Δ
R/generate_dust_sexp.R 100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update d827ac1...2458f2b. Read the comment docs.