9 Repos
Data structures using contiguous memory blocks with metadata strides for efficient slicing without copying.
Distinct from Memory Layouts: Distinct from Memory Layouts: focuses on strided metadata for zero-copy slicing rather than general cache-efficient storage.
Explore 9 awesome GitHub repositories matching data & databases · Strided. Refine with filters or upvote what's useful.
NumPy is a foundational library for scientific computing in Python, providing a comprehensive framework for managing and manipulating large-scale numerical information. It centers on high-performance multidimensional array objects that serve as the primary data structure for complex mathematical operations and data analysis workflows. The library distinguishes itself through specialized mechanisms for handling multidimensional data, including advanced indexing, slicing, and broadcasting techniques that allow for efficient operations across arrays of varying shapes. It utilizes strided metadat
Uses strided metadata to enable efficient, zero-copy slicing of multidimensional arrays.
SciPy is a scientific computing library for Python that provides a comprehensive collection of mathematical algorithms and numerical tools for research and engineering. It functions as a high-performance numerical analysis framework, bridging high-level Python code with compiled C and Fortran routines to execute complex computations at hardware speeds. The library is built upon array-based data structures that utilize strided memory layouts to enable efficient data manipulation and slicing. By employing vectorized operation dispatch and linking to optimized hardware-specific linear algebra li
Utilizes strided memory layouts to enable efficient slicing and manipulation of multidimensional data without copying.
Torch7 is a scientific computing environment and tensor computation library used for deep learning research and numerical analysis. It functions as a Lua-based framework for training neural networks and learning agents, providing a toolkit for implementing architectures and training through reinforcement learning algorithms. The project is distinguished by its tight integration with C, utilizing a binding layer to map high-level scripting to low-level C structures for direct memory access. It supports hardware-accelerated computation by offloading linear algebra and convolution operations to
Implements strided memory layouts to manipulate tensor dimensions and shapes without duplicating data buffers.
Magnum is a C++ middleware suite for cross-platform graphics development and real-time data visualization. It provides a hardware-agnostic rendering layer that translates graphics commands into platform-specific calls, ensuring consistent behavior across different GPU drivers and APIs such as Vulkan. The project focuses on decoupling application logic from underlying hardware through abstract graphics and system utilities. It features a plugin-based resource importer for 3D assets and audio, a hierarchical scene graph for spatial transformations, and a high-performance signal-based event syst
Organizes interleaved data into contiguous blocks and strided views to enhance data locality and SIMD efficiency.
nalgebra ist eine Bibliothek für lineare Algebra für Rust, die Matrix- und Vektoroperationen mit Unterstützung für Dimensionen zur Kompilier- und Laufzeit bietet. Sie fungiert als Bibliothek für numerische Analysen und dünnbesetzte Matrizen (Sparse Matrices) und bietet ein mathematisches Framework, das in eingebetteten Umgebungen und WebAssembly ohne die Rust-Standardbibliothek ausgeführt werden kann. Das Projekt zeichnet sich als Bibliothek für geometrische Transformationen aus und nutzt homogene Koordinaten, Quaternionen und Isometrien, um 3D-Rotationen, Translationen und Projektionen zu handhaben. Es implementiert eine Vielzahl von Matrix-Zerlegungen – einschließlich LU, QR, Cholesky, SVD und Eigenwertzerlegung –, um lineare Systeme zu lösen und Matrizen zu analysieren. Die Bibliothek deckt breite Funktionsbereiche ab, darunter geometrisches Rechnen für räumliche Transformationen, Computergrafik-Dienstprogramme für die Komposition von Projektionsmatrizen und den Export von Shader-Daten sowie spezialisierte Verwaltung dünnbesetzter Matrizen mittels komprimierter Zeilen- und Spaltenspeicherung. Sie bietet zudem Datenverwaltungstools für die Matrix-Initialisierung, Größenänderung und das Parsen von Matrix-Market-Dateien.
Provides non-owning references to matrix sub-sections using memory offsets to avoid data copying.
ndarray ist eine Bibliothek für mehrdimensionale Arrays für Rust, die als Framework für lineare Algebra und wissenschaftliches Rechnen dient. Sie bietet die Kerninfrastruktur für die Erstellung und Manipulation von n-dimensionalen Arrays und fungiert sowohl als paralleler Array-Prozessor als auch als Toolkit für numerische Datenanalysen. Die Bibliothek zeichnet sich durch effizientes Slicing und Memory-Views aus, was den Datenaustausch ohne Kopieren ermöglicht. Sie nutzt optimierte Backend-Mathe-Bibliotheken für schnelle Matrixmultiplikationen und verteilt rechenintensive mathematische Iterationen auf mehrere CPU-Threads, um die Verarbeitung zu beschleunigen. Das Projekt deckt ein breites Spektrum mathematischer Operationen ab, darunter elementweise Arithmetik, achsenbasierte Datenaggregation und Skalarproduktberechnungen. Zudem sind umfassende Hilfsprogramme für die Array-Manipulation enthalten, wie Reshaping, Flattening, Stacking und die Generierung von Koordinatengittern, sowie Unterstützung für die randomisierte Array-Generierung und Serialisierung.
Maps multidimensional indices to flat memory buffers using axis-specific step sizes for efficient zero-copy slicing.
NumCpp ist ein C++-Framework und eine Bibliothek für numerische Berechnungen, die ein Toolkit für die Verwaltung mehrdimensionaler Arrays und mathematische Routinen bereitstellt. Es fungiert als C++-Implementierung des NumPy-Ökosystems und bietet ein wissenschaftliches Rechen-Framework für die Verwaltung von Tensoren und die Durchführung komplexer algebraischer Gleichungen. Das Projekt ermöglicht eine leistungsstarke Array-Manipulation innerhalb einer C++-Umgebung, ohne auf eine Python-Laufzeit angewiesen zu sein. Es zeichnet sich dadurch aus, dass es eine NumPy-ähnliche Schnittstelle für die Ausführung linearer Algebra, die Verwaltung mehrdimensionaler Datenstrukturen und die Durchführung numerischer Verarbeitung bietet. Die Bibliothek deckt ein breites Spektrum an Funktionen ab, einschließlich matrixalgebraischer Operationen, Array-Geometrieverwaltung durch Slicing und Reshaping sowie die Generierung von Zufallsverteilungen. Sie enthält zudem Tools für die Datensatzanalyse, Array-Statistiken sowie den Import und Export numerischer Daten über Binär- und Textformate.
Utilizes strided memory mapping to allow efficient array reshaping and slicing without copying data.
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
Controls how multidimensional data maps to linear memory using shapes and strides to enable efficient slicing and transposition.
DataFrame is a C++ tabular data library and manipulation engine designed for managing heterogeneous data in contiguous memory. It functions as a statistical analysis framework and time series analysis toolkit, providing the means to store, index, and transform multidimensional datasets. The project distinguishes itself through a high-performance execution model that utilizes column-major storage, SIMD-aligned memory allocation, and a thread-pool for parallel computations. It employs a visitor-based algorithm dispatch system and policy-driven transformations to decouple data processing logic f
Enables sampled analysis by applying functions to every Nth item in a data collection.