6 dépôts
Utilities for transforming standard sequential loops into parallel versions for concurrent execution.
Distinct from Sequential Iterators: Distinct from Sequential Iterators: focuses on the transformation of loop constructs into parallel versions.
Explore 6 awesome GitHub repositories matching data & databases · Parallel Loop Transformers. Refine with filters or upvote what's useful.
Genesis is an embodied AI simulation platform and parallelized robotics simulator designed for training general-purpose robotic agents. It integrates a physics engine for robotics that calculates collisions and movements for rigid bodies, soft tissues, and fluids, alongside a photorealistic 3D rendering engine. The platform features a domain randomization framework to vary environment parameters across parallel simulations, aiding in sim-to-real transfer. It supports the integration of real-world captured light fields and Gaussian splatting to provide photorealistic backgrounds within simulat
Automatically distributes top-level execution loops across available hardware threads to improve performance.
Rayon is a data parallelism library for Rust that provides a framework for converting sequential computations into parallel operations. It enables the transformation of standard data structures and loops into parallel iterators, allowing workloads to be distributed across multiple processor cores. By utilizing a work-stealing scheduler, the library dynamically balances tasks to maximize throughput and minimize execution time. The library distinguishes itself through its focus on safe, scoped task synchronization, which ensures that all spawned operations complete before a scope exits to preve
Transforms standard sequential loops into parallel versions to process collection elements concurrently.
TileLang is a Python-embedded domain-specific language compiler that JIT-compiles and autotunes GPU kernels. It uses a tile-based DSL, automatic software pipelining, and parallel autotuning to generate optimized GPU kernels at runtime. It supports tensor core operations with Pythonic syntax, automatic memory management, and thread mapping. The compiler searches over tile sizes, thread counts, and scheduling policies, compiling and benchmarking candidates in parallel to find the fastest kernel. It also caches compiled binaries and tuning results to disk for reuse across sessions. TileLang inc
Enforces restrictions on parallel loops over local fragment buffers to ensure correctness in GPU kernels.
Async is a Swift library that provides a wrapper for Grand Central Dispatch to simplify the management of asynchronous tasks and queues. It functions as a task scheduler for the execution, timing, and orchestration of code blocks. The project includes a task chainer to sequence operations across different threads without nested callback structures and a concurrent loop wrapper that distributes iterations across multiple threads. It also features a token-based cancellation system to track and remove pending operations from the execution queue before they run. The library covers concurrency ma
Transforms standard sequential loops into parallel versions for concurrent execution across multiple threads.
Joblib est une suite d'utilitaires pour paralléliser les charges de travail computationnelles et optimiser le stockage de grands jeux de données numériques et de résultats de fonctions. Elle fonctionne comme une bibliothèque de calcul parallèle et un wrapper de multiprocessing qui distribue l'exécution des fonctions sur plusieurs cœurs CPU pour accélérer les tâches indépendantes et les boucles computationnelles. Le projet fournit un framework de mise en cache sur disque qui persiste les sorties de fonctions coûteuses sur le système de fichiers, en les réévaluant uniquement lorsque les arguments d'entrée changent. Il se spécialise en outre dans la sérialisation de grands tableaux numériques, utilisant une compression efficace et un mappage mémoire pour optimiser le stockage et la récupération de jeux de données massifs. La boîte à outils inclut des capacités pour le mappage de fonctions parallèles et l'utilisation de backends d'exécution enfichables pour contrôler la façon dont les tâches sont distribuées sur le matériel disponible. Sa couche de stockage couvre la persistance d'objets complexes et la compression transparente pour les données sérialisées.
Enables the transformation of standard sequential loops into parallel versions for execution across multiple CPU cores.
Ce projet est un framework complet pour le développement d'applications iOS, centré sur la construction d'applications mobiles qui présentent des composants d'interface utilisateur personnalisés, une gestion de tâches asynchrone et une persistance de données locale. Il sert de base de connaissances technique pour l'ingénierie logicielle, fournissant des outils pour organiser et publier des analyses architecturales et des notes au format Markdown. Le framework se distingue par une couche de stockage robuste basée sur des documents qui utilise des enregistrements au format BSON pour effectuer des opérations CRUD au sein d'un magasin de documents NoSQL. Il fournit des capacités d'intégration système étendues, incluant une communication spécialisée par extension d'application, le passage de messages entre bacs à sable et la présentation native de feuilles de partage, permettant une interaction transparente entre l'application hôte et les services au niveau du système. Le projet couvre une large surface de capacités, incluant une gestion avancée de la concurrence avec synchronisation thread-safe, le déchargement du rendu UI en arrière-plan pour maintenir la réactivité et une prise en charge complète de l'internationalisation. Il inclut également des utilitaires axés sur les développeurs pour la génération de types statiques, le mapping automatique de ressources et la construction de prototypes interactifs, aux côtés d'outils spécialisés pour la surveillance de balises géographiques et la génération de graphiques adaptatifs.
Executes loop bodies in parallel across multiple threads to improve performance on large collections.