Binding strategy + places
We move to pinthreads(binding; places, kwargs...) to separate the binding / distribution strategy (e.g. compact or spread) from the blocks that we want to bind to / distribute among (e.g. cores, sockets, or numa domains).
(Contains also some OMP-like variable work)
New binding strategy: :current
Pins threads to the cpu threads on which they are currently running.
Environment variables
JULIA_PINTHREADS: can be any binding strategy symbol, e.g. JULIA_PINTHREADS=compact
JULIA_PINTHREADS: can be any places symbol, e.g. JULIA_PINTHREADS_PLACES=sockets
JULIA_TP_AUTOUPDATE: When turned off, we won't query lscpu when using the package but will use the sysinfo obtained during precompilation. (only safe if run on the same machine!)
Binding strategy + places We move to
pinthreads(binding; places, kwargs...)
to separate the binding / distribution strategy (e.g. compact or spread) from the blocks that we want to bind to / distribute among (e.g. cores, sockets, or numa domains).(Contains also some OMP-like variable work)
New binding strategy:
:current
Pins threads to the cpu threads on which they are currently running.Environment variables
JULIA_PINTHREADS
: can be any binding strategy symbol, e.g.JULIA_PINTHREADS=compact
JULIA_PINTHREADS
: can be any places symbol, e.g.JULIA_PINTHREADS_PLACES=sockets
JULIA_TP_AUTOUPDATE
: When turned off, we won't querylscpu
whenusing
the package but will use the sysinfo obtained during precompilation. (only safe if run on the same machine!)TODO
pinthreads