utahplt / TrackedFloats.jl

Julia library providing tracking of floating point errors through a program resources
https://juliahub.com/ui/Packages/FloatTracker/dBXig/1.0.0
MIT License
27 stars 3 forks source link

Control NaN injection by library (plus some misc. tweaks) #2

Closed ashton314 closed 1 year ago

ashton314 commented 1 year ago

Major changes

Discussion

I've updated the FloatTrackerExamples repository for the n-body example. In revision a721f17, I wrote:

N-body example now only injects NaNs inside of the NBodySimulator and OrdinaryDiffEq libraries—testing showed that NBodySimulator doesn't actually do any work with floating point values; instead it pushes all the work off onto OrdinaryDiffEq.

The N-body example seems to work pretty well and consistently now, which is awesome!

Taylor said that calling stacktrace() is an expensive function; I've worked to make sure stacktrace() is called as late in the decision process as possible, so as soon as all NaNs to inject have been used up, stuff should speed up.

bennn commented 1 year ago

@ashton314 I don't see the updates in FloatTrackerExamples. Needs a push?

ashton314 commented 1 year ago

@bennn oops—fixed

ashton314 commented 1 year ago

@tcallred I've opened issue #3 to track adding benchmarks. Help on this would be appreciated.