carstenbauer / ThreadPinning.jl

Readily pin Julia threads to CPU-threads
https://carstenbauer.github.io/ThreadPinning.jl/
MIT License
106 stars 7 forks source link

Julia 1.9 adaptions #28

Closed carstenbauer closed 1 year ago

carstenbauer commented 1 year ago

TODOs

Closes #6

carstenbauer commented 1 year ago
julia> using ThreadPinning

julia> using LinearAlgebra

julia> BLAS.set_num_threads(5)

julia> ThreadPinning.openblas_print_affinity_masks()
|11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111|
|11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111|
|11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111|
|11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111|
|11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111|

julia> ThreadPinning.openblas_pinthreads(:compact)

julia> ThreadPinning.openblas_print_affinity_masks()
|10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000|
|01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000|
|00100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000|
|00010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000|
|00001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000|

julia> ThreadPinning.openblas_getcpuids()
5-element Vector{Int64}:
 0
 1
 2
 3
 4

julia> ThreadPinning.openblas_pinthreads(:spread; places=:numa)

julia> ThreadPinning.openblas_getcpuids()
5-element Vector{Int64}:
  0
 16
 32
 48
  1