2 dépôts
Algorithms for organizing data elements into a specific order using parallel hardware acceleration.
Distinct from Parallel Processing: Specializes parallel processing specifically for sorting operations.
Explore 2 awesome GitHub repositories matching data & databases · Parallel Sorting. Refine with filters or upvote what's useful.
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.
Implements high-performance parallel data sorting by leveraging GPU and multicore CPU hardware.
Ce projet est un framework de traitement de données tabulaires haute performance pour R, conçu pour gérer des jeux de données massifs avec efficacité mémoire et vitesse. Il fournit une structure de données améliorée qui utilise la sémantique de référence et la modification sur place pour effectuer des transformations complexes sans la surcharge de copies d'objets inutiles. La bibliothèque se distingue par ses optimisations architecturales de bas niveau, incluant le traitement parallèle multi-threadé, le tri basé sur radix et l'analyse de fichiers mappés en mémoire. En déchargeant les routines critiques de manipulation et d'agrégation de données vers du code C compilé, elle permet une exécution rapide des tâches qui seraient autrement coûteuses en calcul. Son moteur principal prend en charge des opérations relationnelles avancées, telles que les jointures non-équi, glissantes et à intervalles chevauchants, parallèlement à l'indexation secondaire automatique pour accélérer l'accès répété aux données. Au-delà de ses capacités de traitement principales, le projet offre une suite complète d'outils pour la gestion du cycle de vie des données. Cela inclut des utilitaires d'ingestion et de sérialisation à haute vitesse avec détection automatique de type, ainsi qu'un support spécialisé pour l'analyse de séries temporelles et l'agrégation multidimensionnelle. Le framework est conçu pour évoluer, permettant aux utilisateurs d'effectuer des opérations complexes de regroupement, de filtrage et de remodelage sur des jeux de données contenant des milliards de lignes tout en maintenant la stabilité et les performances du système.
Orders datasets using multi-threaded radix sort algorithms for high-performance data alignment.