11 repositorios
Low-level mathematical operations executed via hand-optimized kernels to maximize hardware performance.
Explore 11 awesome GitHub repositories matching software engineering & architecture · Custom Kernel Accelerators. Refine with filters or upvote what's useful.
Unsloth is a high-performance training and inference platform designed to optimize the lifecycle of large language and multimodal models. It provides a comprehensive engine for fine-tuning, executing, and managing models locally, with a focus on reducing memory consumption and increasing compute speed on consumer-grade hardware. The platform distinguishes itself through hand-optimized kernels and automated computational graph techniques that maximize hardware throughput. It supports advanced training methodologies, including reinforcement learning for reasoning and efficient adapter-based fin
Executes low-level mathematical operations using hand-optimized kernels to maximize hardware throughput and minimize memory overhead.
Mamba is a deep learning framework designed for building and training sequence models that process long-range data dependencies with linear-time computational efficiency. By utilizing selective state space modeling, the library enables the construction of neural network architectures that replace traditional attention mechanisms with high-performance state space operations. The framework distinguishes itself through the use of data-dependent state gating, which allows the model to dynamically filter information flow based on the input sequence. To ensure high throughput, it incorporates hardw
Provides hardware-optimized custom kernels to maximize throughput for complex state space calculations.
Open3D is a software toolkit designed for the processing, alignment, and reconstruction of three-dimensional data. It functions as a computer vision geometry engine that enables the manipulation of point clouds, meshes, and volumetric grids derived from sensor inputs. The library distinguishes itself through a high-performance computational core that executes geometric processing tasks in native code, paired with a binding layer that exposes these capabilities to high-level languages for rapid prototyping. It provides specialized algorithms for spatial registration, allowing users to merge mu
Provides high-performance C++ kernels for executing complex geometric processing tasks.
PyTorch3D is a 3D geometric deep learning library and mesh processing toolkit designed for learning from point clouds and complex 3D surface geometries. It provides a collection of reusable components and data structures for deep learning with 3D data, including a framework for training and evaluating neural radiance fields to enable photorealistic view synthesis. The project features a differentiable 3D renderer that converts meshes and point clouds into 2D images while allowing gradients to flow back into the geometry and textures. This enables 3D shape optimization, where mesh geometry, te
Utilizes high-performance CUDA kernels optimized for geometric transformations and sampling on spatial data.
Cutlass is a collection of C++ templates and Python interfaces for implementing high-performance linear algebra operations on NVIDIA GPUs. It provides a kernel composition framework for designing custom GPU kernels and a mixed-precision tensor library capable of executing operations across diverse data formats, ranging from 64-bit floating point to 4-bit integers. The project features a toolkit for operator fusion that integrates activation functions and bias calculations directly into matrix multiplication kernels to reduce memory passes. It also includes a Python-based domain-specific langu
Uses C++ templates to generate specialized GPU kernels by combining modular software components and hardware tuning parameters.
ChatRWKV is an open-source frontend and GPU-accelerated inference engine designed for interacting with RWKV recurrent neural network language models. It provides a self-hosted web chat interface and a specialized client for generating human-like text using a linear-complexity architecture. The project utilizes a GPU-accelerated backend that employs custom CUDA kernels and dynamic model format conversion to increase processing speed and reduce memory overhead. It manages conversation history through state-based context management, updating a fixed-size hidden state to maintain a constant memor
Uses custom CUDA kernels to optimize matrix operations and reduce memory overhead during inference.
This is a cross-platform framework for building, training, and deploying custom machine learning models within the .NET ecosystem. It provides a predictive modeling engine for classification, regression, and forecasting tasks, alongside an inference runtime to generate predictions across different hardware architectures. The framework includes a gradient boosting library and supports interoperability with external models via a standardized open format. It features tools for prediction explainability, allowing the analysis of feature importance to debug model behavior and identify bias. The p
Implements optimized low-level mathematical kernels to accelerate the execution of training algorithms and data processing.
Flashlight es una biblioteca de aprendizaje automático y de tensores independiente en C++ utilizada para construir y entrenar redes neuronales. Funciona como un framework integral de redes neuronales y motor de diferenciación automática, proporcionando las herramientas para construir grafos de computación y calcular gradientes mediante retropropagación. El proyecto sirve como framework de entrenamiento distribuido, utilizando operaciones all-reduce para sincronizar gradientes y parámetros a través de múltiples nodos de cómputo y dispositivos. Se distingue por una integración profunda de manipulación de tensores de alto rendimiento, interoperabilidad nativa de memoria de dispositivo y un sistema para sincronizar pesos a través de trabajadores distribuidos para acelerar el entrenamiento de modelos a gran escala. El framework cubre una amplia gama de capacidades de aprendizaje profundo, incluyendo composición modular de capas para diseñar arquitecturas complejas como bloques residuales y celdas recurrentes. Proporciona utilidades extensas de gestión de datos para ingesta y prefetching, junto con sistemas de serialización para persistir estados de modelos. Además, incluye una suite de herramientas de monitorización y observabilidad para rastrear métricas de entrenamiento y medir errores de secuencia. La biblioteca está implementada en C++.
Integrates hand-optimized GPU kernels by providing direct access to raw tensor memory pointers.
Flashlight es una biblioteca de aprendizaje automático en C++ y un framework de aprendizaje profundo diseñado para construir y entrenar redes neuronales. Funciona como una biblioteca de manipulación de tensores y un motor de diferenciación automática que rastrea operaciones para calcular gradientes mediante retropropagación (backpropagation) para la optimización de modelos. El proyecto se distingue por su rol como framework de entrenamiento distribuido, utilizando sincronización de gradientes all-reduce y entornos distribuidos para escalar cargas de trabajo de aprendizaje automático a través de múltiples nodos y dispositivos. Cuenta con una interfaz de memoria agnóstica al backend y gestión basada en RAII para desacoplar las operaciones de tensores del hardware físico. El framework cubre una amplia superficie de capacidades, incluyendo la construcción de arquitecturas de redes neuronales con capas convolucionales, lineales y recurrentes. Proporciona utilidades extensas para álgebra de tensores, gestión y batching de datasets, serialización binaria versionada para estados de modelos y herramientas de monitorización para rastrear métricas de entrenamiento y uso de memoria.
Allows high-performance operations via direct memory pointer access for external accelerator libraries.
statsforecast es una biblioteca de pronóstico de series temporales estadísticas de alto rendimiento diseñada para generar pronósticos puntuales e intervalos de predicción. Funciona como un framework de series temporales distribuido que utiliza un motor de pronóstico basado en C y un selector de modelos automatizado para identificar y ajustar el modelo estadístico óptimo para cada serie única en un conjunto de datos. El sistema también incluye un detector de anomalías de series temporales para identificar puntos de datos inusuales comparando valores observados con intervalos de pronóstico probabilísticos. El proyecto se distingue por su capacidad para manejar pronósticos paralelos a gran escala para millones de series individuales. Esto se logra a través de un framework de computación distribuida, ejecución paralela multinúcleo y kernels en C compilados que aceleran la lógica central de ARIMA y suavizado exponencial. El sistema optimiza aún más el procesamiento a gran escala utilizando un diseño de datos en formato largo y un pipeline de datos de evaluación perezosa (lazy-evaluation) para reducir la sobrecarga de memoria. La biblioteca proporciona un conjunto completo de modelos, incluyendo AutoARIMA, varios métodos de suavizado exponencial para demanda intermitente o estacional, descomposición Theta y modelado de volatilidad GARCH para riesgo financiero. Cubre áreas de capacidad más amplias como el pronóstico multivariado con variables exógenas, descomposición de series temporales y evaluación de modelos mediante validación cruzada histórica y análisis de ventana deslizante. La biblioteca se integra con estructuras de datos de alto rendimiento como Polars y proporciona utilidades para servir modelos guardados como endpoints REST para predicciones accesibles por red.
Uses compiled C source code to accelerate core ARIMA and exponential smoothing operations.
Contiki is an operating system designed for resource-constrained embedded devices and the Internet of Things. It provides a lightweight, event-driven kernel that enables multitasking and low-power wireless network connectivity on hardware with extremely limited memory and processing power. The system distinguishes itself through a stackless threading model that allows for a blocking-style programming interface while maintaining a minimal memory footprint. It supports dynamic module and firmware management, enabling the loading and linking of relocatable binary code at runtime to update applic
Implements communication protocols using static memory allocation and buffer reuse to ensure reliable connectivity in limited RAM environments.