carstenbauer / ThreadPinning.jl

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

Pinning GC threads #73

Closed carstenbauer closed 1 month ago

carstenbauer commented 1 year ago

We do have a basic API for pinning threads loosely to, e.g., NUMA domains now (issue https://github.com/carstenbauer/ThreadPinning.jl/issues/67, PR https://github.com/carstenbauer/ThreadPinning.jl/pull/71).

How to access/pin GC threads? Assuming we can't @tspawnat code on them (correct?) we likely need a low-level API in the Julia runtime, right? Similar to https://github.com/xianyi/OpenBLAS/blob/4d0b7fbec04c95c90291938a5974f00673e10e68/driver/others/blas_server.c#L341-L369 perhaps?

(cc @vchuravy)

carstenbauer commented 2 months ago

The new API will be in Julia 1.11: https://github.com/JuliaLang/julia/pull/53402

See the related issue #95

carstenbauer commented 1 month ago

Beta support has landed on the main branch. However, it doesn't seem possible to pin the last GC thread somehow. We'll have to figure this out later.