-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multithreaded implementations using OhMyThreads #117
base: master
Are you sure you want to change the base?
Conversation
This is necessary because of OhMyThreads.jl
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #117 +/- ##
==========================================
+ Coverage 81.46% 81.59% +0.13%
==========================================
Files 42 42
Lines 5588 5574 -14
==========================================
- Hits 4552 4548 -4
+ Misses 1036 1026 -10 ☔ View full report in Codecov by Sentry. |
Maybe the
In principle, the scheduler keyword argument should also be added to |
This is an attempt at providing a unifying interface for various multi-threaded approaches to looping over blocksectors, and looping over fusiontrees.
It can be controlled through the
scheduler
kwarg in various places, upon which OhMyThreads dispatches, such that there is a possibility of creating and experimenting with scheduler types if one so pleases.By default, there is
default_scheduler(tensortype))=SerialScheduler()
, which just mimicks the non-multithreaded approaches at minimal overhead.Various built-in schedulers exist for OhMyThreads, with Greedy, Dynamic or Static schemes, each with up- and downsides depending on the specific case as well as spacetypes. The hope is that this allows a flexible approach that enables users to tweak these settings if they so please, without having to deal with this when this is not necessary.
To do: