novtb

Crates.ionovtb
lib.rsnovtb
version0.1.7
created_at2025-06-06 15:56:48.382942+00
updated_at2025-12-06 23:00:07.69413+00
descriptionSimple Zoned Data-Parallelism with Core Affinity
homepagehttps://github.com/awxkee/novtb
repositoryhttps://github.com/awxkee/novtb.git
max_upload_size
id1703209
size33,939
Radzivon Bartoshyk (awxkee)

documentation

https://github.com/awxkee/novtb

README

novtb – Simple Zoned Data-Parallelism with Core Affinity

novtb provides a lightweight, brute-force data-parallel execution model with support for core pinning (CPU affinity). It's useful for workloads where threads should be pinned to specific cores for improved cache locality or performance consistency.

Features

  • Zone-based parallel iteration over chunked data
  • Explicit thread pool with core affinity
  • Simple API without complex task graphs or scheduling overhead

Some examples

let pool = novtb::ThreadPool::new(thread_count as usize);
pool.parallel_for(|thread_index| {
    // Perform thread-specific heavy work here
);
let pool = novtb::ThreadPool::new(thread_count as usize);
dst.tb_par_chunks_mut(dst_stride as usize * tile_size)
    .for_each_enumerated(&pool, |cy, dst_rows| {
    // Process a tile at row 'cy' in 'dst_rows'
    });

This project is licensed under either of

  • BSD-3-Clause License (see LICENSE)
  • Apache License, Version 2.0 (see LICENSE)

at your option.

Commit count: 0

cargo fmt