5 dépôts
Compilers that automatically transform functional code into parallel execution formats.
Distinct from High-Performance and Parallel Computing: Distinct from general high-performance computing: focuses on the automated transformation of code for parallel hardware.
Explore 5 awesome GitHub repositories matching scientific & mathematical computing · Parallelizing Compilers. 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
Translates high-level functions into optimized parallel kernels for high-performance hardware execution.
Bend is a high-level parallel programming language and compiler designed to execute code across multi-core CPUs and GPUs automatically. By translating functional source code into a graph-based intermediate representation, it enables massive parallel execution without requiring manual management of threads, locks, or atomic operations. The runtime operates as an interaction net engine, where computations are represented as networks of nodes that reduce through local rewriting rules. This model utilizes a work-stealing scheduler to distribute tasks across thousands of hardware threads, ensuring
Translates functional code into a concurrent format to achieve near-ideal speedup on parallel hardware.
Numba est un compilateur juste-à-temps (JIT) qui traduit des fonctions Python de haut niveau en code machine optimisé lors de l'exécution. En tirant parti de l'infrastructure de compilation LLVM, il fournit un framework pour accélérer le traitement des données numériques et les calculs mathématiques, permettant des niveaux de performance comparables aux langages compilés statiquement. Le projet se distingue par sa capacité à effectuer une spécialisation basée sur l'inférence de type, qui génère des instructions machine adaptées aux types de données spécifiques utilisés lors de l'exécution. Il emploie un pipeline de compilation paresseuse qui diffère la traduction jusqu'au moment de l'invocation, minimisant la surcharge au démarrage tout en maintenant des performances constantes sur diverses architectures de processeurs et systèmes d'exploitation. Au-delà de la compilation de base, le toolkit offre un support étendu pour l'accélération matérielle en distribuant les opérations itératives et les expressions de tableaux sur plusieurs cœurs CPU et unités de traitement graphique. Il utilise des stratégies de vectorisation et de parallélisation pour maximiser le débit pour les grands jeux de données numériques, permettant aux développeurs de cibler du matériel spécialisé directement depuis du code standard.
Automatically transforms code into parallel execution formats to ensure consistent performance across architectures.
IREE is an MLIR-based compiler toolchain and runtime designed to translate machine learning models from various frameworks into optimized binaries for execution across diverse hardware targets. It provides a unified pipeline to ingest models from PyTorch, TensorFlow, JAX, and ONNX, lowering them into a common intermediate representation for deployment on CPUs, GPUs, and bare-metal embedded systems. The project distinguishes itself through a bytecode virtual machine and a hardware abstraction layer that decouple high-level model logic from specific hardware instruction sets. It supports sophis
Defines structures to represent and optimize parallel execution patterns within a compiled machine learning model.
Tiramisu is a polyhedral C++ compiler framework designed to express and optimize data-parallel algorithms for diverse hardware accelerators. It provides a programming interface that allows developers to define mathematical expressions, manage loop iteration spaces, and organize functions targeting heterogeneous architectures. The system features an advanced compilation infrastructure that abstracts computations into a hardware-agnostic intermediate representation before lowering them into native machine code or hardware configuration bitstreams. It calculates exact data flow dependencies thro
A specialized compiler tool that transforms high-level loop structures and matrix operations to maximize hardware execution efficiency.