oneTBB est une bibliothèque et un framework de parallélisme C++ conçu pour ajouter le parallélisme multi-cœur aux applications. Il fournit un modèle de parallélisme basé sur les tâches qui mappe les tâches computationnelles logiques aux cœurs matériels disponibles pour éliminer le besoin de gestion manuelle des threads.
The main features of oneapi-src/onetbb are: C++ Parallel Programming, Data Parallelism Scaling, Dynamic Load Balancing, Work-Stealing Schedulers, Logical Parallelism Mapping, Multi-Core Scheduling, Multi-Core Scaling Libraries, C++ Parallelism Libraries.
Open-source alternatives to oneapi-src/onetbb include: uxlfoundation/onetbb — oneAPI Threading Building Blocks (oneTBB). thrust/thrust — Thrust is a heterogeneous computing library and C++ template library that provides a collection of high-level… ocaml/ocaml — OCaml is a strongly typed functional language featuring a sophisticated type system and a focus on safety and… taskflow/taskflow — Taskflow is a C++ task-parallel framework designed to build high-performance parallel workflows and complex dependency… higherorderco/hvm2 — HVM2 is a high-performance execution environment for pure functional programs, implemented as a systems-level runtime… nvidia/thrust — Thrust is a C++ parallel algorithms library that provides a suite of standard-library-inspired interfaces for…
oneAPI Threading Building Blocks (oneTBB)
Thrust is a heterogeneous computing library and C++ template library that provides a collection of high-level templates for executing data-parallel operations. It functions as a parallel algorithms library designed to work across different hardware backends, including multicore CPUs and NVIDIA GPU hardware. The framework utilizes a header-only implementation and a generic-programming policy interface to abstract the differences between CPU and GPU memory and execution models. It employs an iterator-based data abstraction to provide a uniform interface for accessing elements across host RAM an
OCaml is a strongly typed functional language featuring a sophisticated type system and a focus on safety and expressiveness. It provides a comprehensive compiling toolchain that transforms source code into either portable bytecode or high-performance native binaries. The project is distinguished by a shared memory parallel runtime that executes computations across multiple processor cores using domains, and an algebraic effect system for managing side effects and control flow through execution context handlers. It also includes a dedicated parser generator to automatically create lexers and
Taskflow is a C++ task-parallel framework designed to build high-performance parallel workflows and complex dependency graphs. It provides a programming model that organizes computational work into directed acyclic graphs, enabling developers to manage concurrency, resource scheduling, and task dependencies across multi-core CPUs and GPU accelerators. The framework distinguishes itself through its ability to orchestrate heterogeneous systems, allowing for the integration of hardware-accelerated kernels and memory operations into unified execution pipelines. It supports dynamic runtime subflow