awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
thrust avatar

thrust/thrustArchived

0
View on GitHub↗
5,003 stars·760 forks·C++·2 vues

Thrust

Thrust est une bibliothèque de calcul hétérogène et une bibliothèque de modèles C++ qui fournit une collection de modèles de haut niveau pour exécuter des opérations de données parallèles. Elle fonctionne comme une bibliothèque d'algorithmes parallèles conçue pour fonctionner sur différents backends matériels, incluant les CPU multicœurs et le matériel GPU NVIDIA.

Le framework utilise une implémentation header-only et une interface de politique de programmation générique pour abstraire les différences entre les modèles de mémoire et d'exécution CPU et GPU. Il emploie une abstraction de données basée sur les itérateurs pour fournir une interface uniforme d'accès aux éléments à travers la RAM hôte et la VRAM du périphérique.

La bibliothèque couvre des capacités de traitement parallèle, incluant le tri de données parallèle et le traitement de réduction agrégée pour calculer des valeurs sur de grands jeux de données. Ces opérations sont gérées via une bibliothèque de programmation parallèle CUDA pour le calcul haute performance sur matériel GPU.

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.
  • Traitement parallèle - Bibliothèque de programmation parallèle C++ pour systèmes hétérogènes.
  • GPU Acceleration - Parallel programming library for GPU acceleration.
  • Parallel and High-Performance Computing - C++ parallel programming library for heterogeneous systems.

Historique des stars

Graphique de l'historique des stars pour thrust/thrustGraphique de l'historique des stars pour thrust/thrust

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Thrust

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Thrust.
  • nvidia/thrustAvatar de NVIDIA

    NVIDIA/thrust

    5,003Voir sur 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
    Voir sur GitHub↗5,003
  • nvidia/tensorrtAvatar de NVIDIA

    NVIDIA/TensorRT

    13,076Voir sur 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
    Voir sur GitHub↗13,076
  • dask/daskAvatar de dask

    dask/dask

    13,746Voir sur 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
    Voir sur GitHub↗13,746
  • oneapi-src/onetbbAvatar de oneapi-src

    oneapi-src/oneTBB

    6,683Voir sur 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++
    Voir sur GitHub↗6,683
Voir les 30 alternatives à Thrust→

Questions fréquentes

Que fait thrust/thrust ?

Thrust est une bibliothèque de calcul hétérogène et une bibliothèque de modèles C++ qui fournit une collection de modèles de haut niveau pour exécuter des opérations de données parallèles. Elle fonctionne comme une bibliothèque d'algorithmes parallèles conçue pour fonctionner sur différents backends matériels, incluant les CPU multicœurs et le matériel GPU NVIDIA.

Quelles sont les fonctionnalités principales de thrust/thrust ?

Les fonctionnalités principales de thrust/thrust sont : Parallel Algorithms, Device Backends, C++ Parallel Programming, C++ Parallelism Libraries, Generic Programming, Iterator-Based Abstractions, Template Libraries, Heterogeneous Computing Libraries.

Quelles sont les alternatives open-source à thrust/thrust ?

Les alternatives open-source à thrust/thrust incluent : 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.