JobGraphs.jl
This is a package to help use all the CPU cores when running multithreaded simulations or solvers. With Threads.@threads or OhMyThreads.jl, each parallel loop needs to spawn new tasks on each outer iteration. Loops that don’t depend on each other can’t easily overlap. JobGraphs.jl lets you describe loops of parallel loops and their dependencies. This description can be planned and then run many times on a fixed number of worker tasks.
The package will be registered in a few days.