- OpenBLAS: Almost all pinning and querying functions now have
openblas_*
analogs that provide (almost) all of the same features as for regular Julia threads. Example:openblas_pinthreads(:cores)
now works. You can also visualize the placement of OpenBLAS threads viathreadinfo(; blas=true)
. These functions are now also part of the official API (and SemVer). - Visualizing affinities: Besides
printaffinity
andprintaffinities
there is now is a "pimped" variantvisualize_affinity
which uses thethreadinfo
layout to visualize the affinity. - MPI: we've added dedicated support for pinning the Julia threads of MPI ranks, which are potentially distributed over multiple nodes.
- Distributed: we've added dedicated support for pinning the Julia threads of Julia workers (Distributed.jl), which are potentially spread over multiple nodes.
-
threadinfo(; blas=true)
now shows the placement of OpenBLAS threads (same visualization as for regular Julia threads). - Pinning via environment variable (
JULIA_PIN
) now requires apinthreads(...; force=false)
call. This is because we've dropped the__init__
function entirely. The environment variablesJULIA_LIKWID_PIN
has been dropped for now. (Might be reintroduced later.) - Pinning via Julia preferences has been dropped entirely.
-
pinthreads_mpi
has been renamed tompi_pinthreads
and has a different function signature. - The affinity printing functions are now called
printaffinity
andprintaffinities
. - The family of functions
cpuids_*
has been dropped. Use the logical accessors (e.g.node
,socket
,numa
, etc.) instead. - The family of functions
ncputhreads_per_*
andncores_per_*
has been dropped. Use the logical accessors (e.g.node
,socket
,numa
, etc.) in conjuction withlength
as a replacement. - The function
setaffinity
has been split into two functionssetaffinity
(takes a mask array) andsetaffinity_cpuids
(takes an array of CPU IDs). - The core-to-core latency benchmark functionality has been removed (will be moved to a new package soon).
- For Julia >= 1.11, there is experimental support for pinning GC threads (
threadpool=:gc
).