5 repositorios
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 es un compilador just-in-time que traduce funciones de Python de alto nivel a código máquina optimizado en tiempo de ejecución. Al aprovechar la infraestructura del compilador LLVM, proporciona un marco para acelerar el procesamiento de datos numéricos y los cálculos matemáticos, permitiendo niveles de rendimiento comparables a los lenguajes compilados estáticamente. El proyecto se distingue por su capacidad para realizar especialización basada en inferencia de tipos, lo que genera instrucciones de máquina adaptadas a los tipos de datos específicos utilizados durante la ejecución. Emplea una tubería de compilación perezosa que difiere la traducción hasta el momento de la invocación, minimizando la sobrecarga de inicio mientras mantiene un rendimiento consistente en diversas arquitecturas de procesador y sistemas operativos. Más allá de la compilación central, el kit de herramientas proporciona un amplio soporte para la aceleración de hardware mediante la distribución de operaciones iterativas y expresiones de matriz a través de múltiples núcleos de CPU y unidades de procesamiento gráfico. Utiliza estrategias de vectorización y paralelización para maximizar el rendimiento de grandes conjuntos de datos numéricos, permitiendo a los desarrolladores apuntar a hardware especializado directamente desde código estándar.
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.