Thrust este o bibliotecă de algoritmi paraleli C++ care oferă o suită de interfețe inspirate din biblioteca standard pentru execuție pe hardware multi-core și acceleratoare. Servește drept bibliotecă de date accelerată prin CUDA și o interfață generică de programare paralelă concepută pentru a permite procesarea datelor de înaltă performanță pe GPU-uri și CPU-uri.
Principalele funcționalități ale nvidia/thrust sunt: C++ Parallelism Libraries, Kernel Dispatchers, Cross-Platform Compute Abstractions, Host-to-Device Data Transfers, CPU-GPU Backend Switching Abstractions, Device Memory Abstraction Layers, Iterator-Based Abstractions, Policy-Based Design.
Alternativele open-source pentru nvidia/thrust includ: thrust/thrust — Thrust is a heterogeneous computing library and C++ template library that provides a collection of high-level… nvidia/isaac-gr00t. arrayfire/arrayfire — ArrayFire is a hardware-agnostic compute framework and JIT-compiled tensor engine designed for high-performance… boostorg/boost — Boost is a collection of portable, high-performance source libraries that extend the C++ standard library. It provides… taskflow/taskflow — Taskflow is a C++ task-parallel framework designed to build high-performance parallel workflows and complex dependency… juliagpu/cuda.jl — CUDA.jl provides a programming interface for executing custom kernels and performing parallel array computing directly…
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
ArrayFire is a hardware-agnostic compute framework and JIT-compiled tensor engine designed for high-performance numerical computing. It serves as a GPU numerical computing library and parallel signal processing toolkit that abstracts hardware backends, allowing the same codebase to execute across various GPU architectures and CPUs. The project distinguishes itself through a JIT engine that uses expression compilation to fuse operations and minimize memory overhead. It employs a deferred execution graph to optimize computation chains and provides interoperability primitives to share data and e
Boost is a collection of portable, high-performance source libraries that extend the C++ standard library. It provides a wide range of reusable components, data structures, and algorithms designed to add capabilities to the base language across different platforms. The project is distinguished by its extensive focus on compile-time template metaprogramming and generic programming. It implements advanced architectural patterns such as policy-based design, concept-based type validation, and the use of SFINAE for conditional template resolution to minimize runtime overhead. The library covers a