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
Thrust 是一个 C++ 并行算法库,提供了一套受标准库启发的接口,用于在多核和加速器硬件上执行。它作为一个 CUDA 加速数据库和通用并行编程接口,旨在实现跨 GPU 和 CPU 的高性能数据处理。
nvidia/thrust 的主要功能包括: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。
nvidia/thrust 的开源替代品包括: 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…