SymbolicML / DynamicExpressions.jl

Ridiculously fast symbolic expressions
https://symbolicml.org/DynamicExpressions.jl/dev
Apache License 2.0
90 stars 11 forks source link

Recursive parallelism in evaluation #69

Closed MilesCranmer closed 1 month ago

MilesCranmer commented 1 month ago

This splits the trees into threads when evaluating them. It also has a mechanism to return early if only one of the two threads hits a NaN. Thus we should detect and return early for NaNs much quicker.

It does this by using a shared channel that the threads can post to. It has a spin lock on this shared channel.

TODO:

MilesCranmer commented 1 month ago

Probably not worth it right now.