Closed richfitz closed 1 year ago
Base: 100.00% // Head: 100.00% // No change to project coverage :thumbsup:
Coverage data is based on head (
32c11e8
) compared to base (e9376b8
). Patch coverage: 100.00% of modified lines in pull request are covered.
:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.
Cast literal real values (e.g., 1.23) to whatever real type we're using at compile time, to avoid use of f64 maths on GPUs when single precision is used. Without this, we emit lots of 64 bit floats, which end up using the (much) slower f64 pipelines on a GPU (there will be practically no difference but memory use on a CPU). This uglifies the generated code a bit, but it's not that bad.
Also include a set of math functions that will actually use single precision when used with single precision args, at least on a GPU, see https://github.com/mrc-ide/dust/pull/383 for details
~Depends on https://github.com/mrc-ide/dust/pull/383~
~Contains commits for #120 and #119, merge them first.~
~For the local diff see https://github.com/mrc-ide/odin.dust/compare/mrc-3829...mrc-3852~