Thrust ist eine Bibliothek für heterogenes Computing und eine C++ Template-Bibliothek, die eine Sammlung hochsprachlicher Templates für die Ausführung datenparalleler Operationen bereitstellt. Sie fungiert als Bibliothek für parallele Algorithmen, die über verschiedene Hardware-Backends hinweg funktioniert, einschließlich Multicore-CPUs und NVIDIA GPU-Hardware.
Die Hauptfunktionen von thrust/thrust sind: Parallel Algorithms, Device Backends, C++ Parallel Programming, C++ Parallelism Libraries, Generic Programming, Iterator-Based Abstractions, Template Libraries, Heterogeneous Computing Libraries.
Open-Source-Alternativen zu thrust/thrust sind unter anderem: nvidia/thrust — Thrust is a C++ parallel algorithms library that provides a suite of standard-library-inspired interfaces for… nvidia/tensorrt — TensorRT is a deep learning inference engine and software development kit designed to optimize and deploy neural… dask/dask — Dask is a parallel computing framework and distributed task scheduler designed to scale Python data science workflows… oneapi-src/onetbb — oneTBB is a C++ parallelism library and framework designed to add multi-core parallelism to applications. It provides… microsoft/stl — This project is a C++ Standard Library implementation that provides the foundational classes and functions required by… nvidia/isaac-gr00t.
Thrust is a C++ parallel algorithms library that provides a suite of standard-library-inspired interfaces for execution on multi-core and accelerator hardware. It serves as a CUDA-accelerated data library and a generic parallel programming interface designed to enable high-performance data processing across GPUs and CPUs. The project implements a portable abstraction layer that allows for heterogeneous computing workflows, enabling the same core algorithm logic to run on different hardware accelerators. This is achieved through a generic programming policy design and a backend-agnostic execut
TensorRT is a deep learning inference engine and software development kit designed to optimize and deploy neural networks for high-performance execution on NVIDIA GPUs. It functions as a GPU acceleration framework that reduces latency and increases throughput for trained models during production deployment. The toolkit imports models from the Open Neural Network Exchange format and transforms them into optimized engines. It utilizes graph-based model optimization, layer-fusion kernel generation, and precision-based quantization to convert floating point weights into lower precision formats.
Dask is a parallel computing framework and distributed task scheduler designed to scale Python data science workflows from single machines to large clusters. It functions as a cluster resource manager that orchestrates computational logic by representing tasks and their dependencies as directed acyclic graphs. This architecture allows the system to automate the distribution of workloads across available hardware while managing complex execution requirements. The project distinguishes itself through a lazy evaluation engine that defers data operations until they are explicitly requested, enabl
oneTBB is a C++ parallelism library and framework designed to add multi-core parallelism to applications. It provides a task-based parallelism model that maps logical computational tasks to available hardware cores to eliminate the need for manual thread management. The library functions as a multi-core scaling tool, utilizing generic templates to scale data-parallel operations across processors for portable performance. It employs a task-based framework to ensure computational workloads are distributed across hardware resources. The project covers shared memory parallelism, multi-core task