All Projects → carstenbauer → ThreadPinning.jl

carstenbauer / ThreadPinning.jl

Licence: MIT license
Pinning Julia threads to cores

Programming Languages

julia
2034 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to ThreadPinning.jl

Nnpack
Acceleration package for neural networks on multi-core CPUs
Stars: ✭ 1,538 (+6586.96%)
Mutual labels:  multithreading, high-performance-computing
Taskflow
A General-purpose Parallel and Heterogeneous Task Programming System
Stars: ✭ 6,128 (+26543.48%)
Mutual labels:  multithreading, high-performance-computing
SoftLight
A shader-based Software Renderer Using The LightSky Framework.
Stars: ✭ 2 (-91.3%)
Mutual labels:  multithreading
gblastn
G-BLASTN is a GPU-accelerated nucleotide alignment tool based on the widely used NCBI-BLAST.
Stars: ✭ 52 (+126.09%)
Mutual labels:  high-performance-computing
vulk
Desktop/Android Python game development framework on top of Vulkan API
Stars: ✭ 31 (+34.78%)
Mutual labels:  high-performance-computing
hicma
HiCMA: Hierarchical Computations on Manycore Architectures
Stars: ✭ 21 (-8.7%)
Mutual labels:  high-performance-computing
TaskManager
A C++14 Task Manager / Scheduler
Stars: ✭ 81 (+252.17%)
Mutual labels:  multithreading
react-native-bg-thread
react-native-bg-thread
Stars: ✭ 45 (+95.65%)
Mutual labels:  multithreading
petgem
petgem is a parallel and high-order code for active-source (e.g. CSEM) and passive-source (e.g. MT) geophysics electromagnetic modeling in 3D arbitrary marine/land problems under anisotropic conductivities.
Stars: ✭ 18 (-21.74%)
Mutual labels:  high-performance-computing
HTTPStaticServer
Bare-bones static HTTP server written in a single C file
Stars: ✭ 24 (+4.35%)
Mutual labels:  multithreading
snakefiles
🐍 Snakefiles for common RNA-seq data analysis workflows.
Stars: ✭ 78 (+239.13%)
Mutual labels:  high-performance-computing
PSyclone
Domain-specific compiler for Finite Difference/Volume/Element Earth-system models in Fortran
Stars: ✭ 67 (+191.3%)
Mutual labels:  high-performance-computing
targets-minimal
A minimal example data analysis project with the targets R package
Stars: ✭ 50 (+117.39%)
Mutual labels:  high-performance-computing
stantargets
Reproducible Bayesian data analysis pipelines with targets and cmdstanr
Stars: ✭ 31 (+34.78%)
Mutual labels:  high-performance-computing
kafka-workers
Kafka Workers is a client library which unifies records consuming from Kafka and processing them by user-defined WorkerTasks.
Stars: ✭ 30 (+30.43%)
Mutual labels:  multithreading
wasm-bindgen-rayon
An adapter for enabling Rayon-based concurrency on the Web with WebAssembly.
Stars: ✭ 257 (+1017.39%)
Mutual labels:  multithreading
java-multithread
Códigos feitos para o curso de Multithreading com Java, no canal RinaldoDev do YouTube.
Stars: ✭ 24 (+4.35%)
Mutual labels:  multithreading
ideas4
An Additional 100 Ideas for Computing https://samsquire.github.io/ideas4/
Stars: ✭ 26 (+13.04%)
Mutual labels:  multithreading
triple-buffer
Implementation of triple buffering in Rust
Stars: ✭ 66 (+186.96%)
Mutual labels:  multithreading
Simplified-JNA
Multi-threaded JNA hooks and simplified library access to window/key/mouse functions.
Stars: ✭ 30 (+30.43%)
Mutual labels:  multithreading

ThreadPinning.jl

Interactively pin Julia threads to specific cores at runtime

Documentation Build Status Quality
SciML Code Style

Why pin Julia threads?

Because

Installation

Note: Only Linux is supported!

The package is registered. Hence, you can simply use

] add ThreadPinning

to add the package to your Julia environment.

Prerequisites

For ThreadPinning.jl to properly work, lscpu must be available. This should be the case on virtually all linux systems. Only then can ThreadPinning.jl query relevant system information (sockets, NUMA nodes, hyperthreading, ...).

In the unlikely case that lscpu isn't already installed on your system, here are a few ways to get it

  • install util-linux via your system's package manager or manually from here
  • download the same as a Julia artifact: util_linux_jll.jl

Example

Dual-socket system where each CPU has 128 hardware threads (64 CPU-cores + hyperthreading).

Documentation

For more information, please find the documentation here.

Acknowledgements

CI infrastructure is provided by the Paderborn Center for Parallel Computing (PC²)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].