9 个仓库
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 是一个用于跨平台图形开发与实时数据可视化的 C++ 中间件套件。它提供了一个硬件无关的渲染层,将图形命令转换为特定平台的调用,确保在不同 GPU 驱动程序与 API(如 Vulkan)间的一致行为。 该项目专注于通过抽象图形与系统实用程序将应用逻辑与底层硬件解耦。它具备用于 3D 资产与音频的插件式资源导入器、用于空间变换的层级场景图,以及用于通信的高性能基于信号的事件系统。 广泛的能力包括线性代数与向量数学、网格几何处理以及 GPU 上下文管理。该工具包还涵盖了空间音频播放、VR 硬件集成以及诸如跨步布局与对齐分配等底层内存优化。 该库可以作为 CMake 子项目集成到父项目中。
Organizes interleaved data into contiguous blocks and strided views to enhance data locality and SIMD efficiency.
nalgebra 是一个 Rust 线性代数库,提供支持编译时和运行时维度的矩阵与向量运算。它作为数值分析库和稀疏矩阵库,提供了一个能够在嵌入式环境和 WebAssembly 中运行且无需 Rust 标准库的数学框架。 该项目的独特之处在于其几何变换库,利用齐次坐标、四元数和等距变换来处理 3D 旋转、平移和投影。它实现了多种矩阵分解——包括 LU、QR、Cholesky、SVD 和特征值分解——以求解线性系统并分析矩阵。 该库涵盖了广泛的功能领域,包括用于空间变换的几何计算、用于投影矩阵合成和着色器数据导出的计算机图形实用程序,以及使用压缩行和列存储的专用稀疏矩阵管理。它还提供用于矩阵初始化、调整大小和解析 Matrix Market 文件的数据管理工具。
Provides non-owning references to matrix sub-sections using memory offsets to avoid data copying.
ndarray 是一个 Rust 的多维数组库,用作线性代数框架和科学计算工具。它提供了创建和操作 n 维数组的核心基础设施,既充当并行数组处理器,也充当数值数据分析工具包。 该库的独特之处在于提供高效的切片和内存视图,允许在不复制的情况下共享数据。它利用优化的后端数学库进行高速矩阵乘法,并将繁重的数学迭代分布到多个 CPU 线程上以加速处理。 该项目涵盖了广泛的数学运算,包括逐元素算术、基于轴的数据聚合和点积计算。它还包括用于数组操作的全面实用程序,如重塑、展平、堆叠和坐标网格生成,以及对随机数组生成和序列化的支持。
Maps multidimensional indices to flat memory buffers using axis-specific step sizes for efficient zero-copy slicing.
NumCpp 是一个 C++ 框架和数值计算库,提供了一套用于多维数组管理和数学运算的工具包。它作为 NumPy 生态系统的 C++ 实现,提供了一个用于管理张量和执行复杂代数方程的科学计算框架。 该项目支持在 C++ 环境中进行高性能数组操作,而无需依赖 Python 运行时。它通过提供类似 NumPy 的接口来执行线性代数、管理多维数据结构和执行数值处理而脱颖而出。 该库涵盖了广泛的功能,包括矩阵代数运算、通过切片和重塑进行的数组几何管理,以及随机分布的生成。它还包括用于数据集分析、数组统计以及通过二进制和文本格式导入导出数值数据的工具。
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.