13 repositorios
Offloading compute tasks to specialized hardware like GPUs.
Distinguishing note: Focuses on analytical query acceleration rather than general graphics rendering.
Explore 13 awesome GitHub repositories matching data & databases · Hardware Acceleration. Refine with filters or upvote what's useful.
Polars is a high-performance columnar data processing library designed for efficient analytical workflows. It functions as a structured data library that organizes information into typed columns, utilizing the Apache Arrow memory format to enable zero-copy data sharing and cache-friendly, vectorized operations. The engine is built to handle large-scale tabular datasets, providing both local and distributed analytical runtimes that scale from single-machine environments to multi-node clusters. The project distinguishes itself through a sophisticated lazy query engine that constructs abstract e
Offloads compute-intensive data processing tasks to graphics hardware for increased query speed.
simdjson is a high-performance, header-only C++ library designed for parsing, querying, and serializing JSON data with minimal memory overhead. It functions as a hardware-aware data processing engine that leverages vector instructions to achieve gigabyte-per-second parsing speeds. By detecting host processor capabilities at runtime, the library automatically selects the most efficient instruction sets to accelerate structural analysis and validation. The library distinguishes itself through a focus on extreme efficiency and resource management. It utilizes memory mapping and padded buffer ali
A data processing engine that detects CPU capabilities at runtime to execute the most efficient instruction sets for parsing.
Burn is a deep learning framework designed for building, training, and deploying neural networks using a modular architecture. As a machine learning library built in Rust, it provides a backend-agnostic computational engine that enables the execution of models across diverse hardware, including central processors, graphics processors, and web runtimes. The framework distinguishes itself through a highly portable design that allows developers to maintain a single workflow for both training and inference across heterogeneous environments. It incorporates advanced optimization techniques such as
Automatically selects efficient hardware-specific execution paths for neural network operations.
This project is an automated machine learning framework and toolkit designed for training and tuning custom models for classification, regression, and recommendations. It functions as a multimodal machine learning toolkit capable of processing and training models using a combination of text, image, audio, and sensor data. The framework distinguishes itself as a multimodal data processor that can handle and visualize large datasets on a single machine using column-oriented disk storage. It includes a core machine learning model generator that converts trained models into formats compatible wit
Offloads heavy mathematical computations for deep learning to graphics processors to reduce training time.
The Android NDK samples provide a comprehensive collection of code examples demonstrating how to integrate C and C++ native code into Android applications. This repository serves as a practical guide for developers utilizing the Android Native Development Kit to implement performance-critical application components that require direct hardware access and low-level system interaction. The project highlights the use of the Java Native Interface to bridge managed code with native modules, enabling cross-language function calls and efficient data exchange. It demonstrates how to manage native act
Checks for specific CPU instruction set support at runtime using system-level bitmasks to enable performance-optimized code paths.
Kreuzberg is a document extraction engine that converts PDFs, Office files, images, and over 90 other formats into clean, structured text and metadata. It is built around a compiled Rust core that can be used as a native library, a command-line tool, a REST API server, or a WebAssembly module for browser-based processing. The system is designed to run entirely on self-hosted infrastructure, with no data leaving the user's environment. What distinguishes Kreuzberg is its breadth of integration surfaces and its pipeline architecture. It exposes extraction capabilities through native bindings fo
Selects execution provider (CPU, CoreML, CUDA, TensorRT) for ONNX Runtime model inference.
Offloads network processing and data preprocessing to SmartNIC hardware for reduced latency.
ZLinq is a zero-allocation LINQ library and memory-efficient collection toolkit for C#. It provides a high-performance replacement for standard query operations by using value-type enumerators and pooled memory to eliminate heap allocations and reduce garbage collection overhead. The library features a C# source generator that automatically routes standard query method calls to these zero-allocation implementations. It further accelerates data processing through a SIMD accelerated data library, using hardware vectorization for numeric aggregations and bulk operations on primitive arrays and s
Calculates sums and averages using hardware acceleration to increase throughput for primitive types.
Chafa is a terminal graphics library that converts images and animated GIFs into character art for display in terminal emulators. It supports multiple output formats including ANSI escape sequences, Sixel graphics, and Unicode block characters, making it a versatile tool for rendering images directly within the terminal environment. The library is built as a shared C library with official bindings for Python and JavaScript, allowing developers to integrate terminal image rendering capabilities into applications across different programming environments. Chafa handles the full pipeline from im
Generates a human-readable string listing which hardware acceleration features are available.
oneDNN es una biblioteca para la aceleración del aprendizaje profundo que proporciona bloques de construcción optimizados para el entrenamiento e inferencia de redes neuronales. Gestiona la computación de tensores a través de hardware CPU y GPU, permitiendo la ejecución de primitivas de alto rendimiento para el entrenamiento de modelos y la optimización de la inferencia de redes neuronales. El proyecto se distingue por la optimización de kernels específica para el hardware y el uso de compilación just-in-time para apuntar a conjuntos de instrucciones de procesador específicos. Soporta la ejecución de redes neuronales cuantizadas utilizando cuantización estática y dinámica para reducir el uso de memoria y aumentar el rendimiento. La biblioteca cubre una amplia gama de capacidades, incluyendo primitivas de aprendizaje profundo como convoluciones, multiplicación de matrices y ejecución de redes neuronales recurrentes. Implementa optimizaciones de rendimiento avanzadas, incluyendo fusión de operaciones, optimización de grafos de computación y gestión de formatos de memoria. La integración se proporciona a través de una ABI C estable y un wrapper C++, con soporte para SYCL, OpenCL y bibliotecas de álgebra lineal externas. El sistema incluye herramientas de observabilidad para la creación de perfiles de rendimiento de hardware, benchmarking de primitivas y registro de ejecución detallado.
Automatically detects host processor capabilities at runtime to select the most efficient instruction sets for acceleration.
This project is a reference library of firmware examples and a development framework for creating embedded C applications on the RP2040 microcontroller. It provides a collection of hardware peripheral drivers and foundational patterns for managing system resources in resource-constrained environments. The library features reference implementations for programmable I/O state machines, allowing for the creation of custom hardware-level protocols. It also provides a multicore embedded framework to distribute computational workloads across multiple processor cores using symmetric processing. The
Uses dedicated silicon blocks to perform SHA-256 hashing and AES decryption for secure boot and firmware protection.
xtensor is a C++ multidimensional array library for numerical computing that provides N-dimensional containers with an interface mirroring the NumPy API. It utilizes a lazy evaluation expression engine to defer numerical computations until assignment, which minimizes memory allocations and intermediate copies. The library features a foreign memory array adaptor that allows it to wrap external buffers, such as NumPy arrays, to perform numerical operations in-place without duplicating data. It further optimizes performance through lazy broadcasting and a system that manages the lifetime of temp
Deno-xtensor computes sums or products across axes while treating NaN values as neutral elements.
Este proyecto es una biblioteca de análisis JSON de alto rendimiento para Rust que utiliza instrucciones aceleradas por hardware para procesar estructuras de datos complejas. Funciona como una herramienta de serialización con seguridad de tipos, mapeando cadenas JSON brutas a objetos de lenguaje nativos mientras proporciona la flexibilidad para manejar estructuras de documentos dinámicas cuando los esquemas son desconocidos o cambian con frecuencia. La biblioteca destaca por su uso de análisis acelerado por SIMD e identificación estructural basada en máscaras de bits, que le permiten escanear y tokenizar documentos procesando múltiples bytes simultáneamente. Emplea despacho de instrucciones en tiempo ejecución para detectar las capacidades del procesador host, asegurando que se seleccione el conjunto de instrucciones más eficiente para el entorno de hardware actual. Para mejorar aún más el rendimiento, el motor utiliza una representación de documento basada en cinta y acceso a datos de copia cero, que minimizan las asignaciones de memoria y el seguimiento de punteros durante el recorrido. Más allá de sus capacidades de análisis central, la biblioteca admite el procesamiento de grandes valores numéricos que exceden la capacidad de los tipos enteros o de punto flotante estándar. Se integra con interfaces de serialización estándar para asegurar un manejo de datos consistente y proporciona búsquedas hash optimizadas para gestionar claves de objetos. El proyecto se distribuye como un crate, proporcionando una interfaz estandarizada para que los desarrolladores incorporen el procesamiento de datos de alta velocidad en sus aplicaciones.
Selects the most efficient instruction set at runtime based on host processor capabilities to maximize data throughput.