awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
thrust avatar

thrust/thrustArchived

0
View on GitHub↗
5,003 stars·760 forks·C++·4 views

Thrust

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 and device VRAM.

The library covers parallel processing capabilities, including parallel data sorting and aggregate reduction processing for calculating values across large datasets. These operations are managed through a CUDA parallel programming library for high-performance computing on GPU hardware.

Features

  • Parallel Algorithms - Provides a comprehensive collection of high-level parallel algorithms for data-parallel operations.
  • Device Backends - Provides a specialized CUDA-based backend to offload data-parallel computations to NVIDIA GPUs.
  • C++ Parallel Programming - Enables high-performance C++ programming for data-parallel operations across heterogeneous hardware.
  • C++ Parallelism Libraries - Functions as a specialized C++ parallelism library offering high-level templates for data-parallel operations.
  • Generic Programming - Utilizes generic programming with template parameters to decouple execution strategies from algorithm implementations.
  • Iterator-Based Abstractions - Employs iterator-based abstractions to provide a uniform interface for accessing host and device memory.
  • Template Libraries - Implemented as a C++ template library to ensure generic behavior across different hardware backends.
  • Heterogeneous Computing Libraries - Acts as a heterogeneous computing library that abstracts the differences between CPU and GPU execution models.
  • GPU-Accelerated Processing - Facilitates GPU-accelerated processing by moving large datasets to parallel hardware for fast computation.
  • Parallel Sorting - Implements high-performance parallel data sorting by leveraging GPU and multicore CPU hardware.
  • Header-Only Libraries - Ships as a header-only template library to enable aggressive compiler inlining and optimization.
  • Parallel Reductions - Provides parallel reduction operations to calculate sums, minimums, or maximums across distributed cores.
  • Compile-Time Type Dispatch - Uses C++ templates for compile-time type dispatch to eliminate runtime overhead in performance-critical paths.
  • CUDA Libraries - Provides a robust set of CUDA-based algorithms and data structures for high-performance GPU computing.
  • Aggregate Reductions - Provides parallel aggregate reduction processing for calculating values across large datasets.
  • Asynchronous Execution - Implements non-blocking execution models to overlap data transfers with kernel execution.
  • Parallel Processing - C++ parallel programming library for heterogeneous systems.
  • GPU Acceleration - Parallel programming library for GPU acceleration.
  • Parallel and High-Performance Computing - C++ parallel programming library for heterogeneous systems.

Star history

Star history chart for thrust/thrustStar history chart for thrust/thrust

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Thrust

Similar open-source projects, ranked by how many features they share with Thrust.
  • nvidia/thrustNVIDIA avatar

    NVIDIA/thrust

    5,003View on GitHub↗

    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

    C++algorithmscppcpp11
    View on GitHub↗5,003
  • nvidia/tensorrtNVIDIA avatar

    NVIDIA/TensorRT

    13,076View on GitHub↗

    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.

    C++deep-learninggpu-accelerationinference
    View on GitHub↗13,076
  • dask/daskdask avatar

    dask/dask

    13,746View on GitHub↗

    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

    Pythondasknumpypandas
    View on GitHub↗13,746
  • oneapi-src/onetbboneapi-src avatar

    oneapi-src/oneTBB

    6,683View on GitHub↗

    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

    C++
    View on GitHub↗6,683
See all 30 alternatives to Thrust→

Frequently asked questions

What does thrust/thrust do?

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.

What are the main features of thrust/thrust?

The main features of thrust/thrust are: Parallel Algorithms, Device Backends, C++ Parallel Programming, C++ Parallelism Libraries, Generic Programming, Iterator-Based Abstractions, Template Libraries, Heterogeneous Computing Libraries.

What are some open-source alternatives to thrust/thrust?

Open-source alternatives to thrust/thrust include: 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.