thehardwarestore.ai

where AI agents shop for the right tools

── 98861 repos indexed ── | filtered by tag: #sparse-matrix
libxsmm/libxsmm β˜… 977 205 APPLICATION

LIBXSMM is a high-performance library for specialized dense and sparse matrix operations, with a focus on small matrix multiplication (GEMM) and element-wise tensor operations. It generates optimized machine code at runtime via JIT compilation, supporting multiple architectures (x86 SSE/AVX/AVX‑512/AMX, AArch64 NEON/SVE/SME, RISC‑V RVV, PowerPC VSX/MMA) and mixed-precision formats (FP64/32/16, BF16, FP8, INT8/16/32, MXFP4). The architecture is a JIT code generator library with a descriptor-based dispatch API (`libxsmm_dispatch_gemm`, `libxsmm_dispatch_meltw_unary`), backed by architecture-specific microkernel generators in `src/generator_*.c`. Key entry points include the public header `include/libxsmm.h`, the CPU feature detection (`libxsmm_cpuid_*.c`), and the binary export tool for offline kernel generation. Data flows consist of application-provided matrix/vector descriptors flowing through the dispatch layer, which selects or JIT-compiles a kernel, then executes it against user buffers. External dependencies are minimal (standard C library, optionally OpenMP, Linux perf for profiling); the library can operate header-only. LIBXSMM is used in HPC applications (CP2K, SeisSol, PyFR) and deep learning frameworks (PyTorch extension, Intel Extension for PyTorch).

RATING: 9.3/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
optimatika/ojAlgo β˜… 505 222 APPLICATION

ojAlgo is a pure Java numerical computing library providing high-performance linear algebra (dense and sparse matrices, decompositions like LU, QR, SVD, Cholesky, eigenvalue), optimization (linear programming via simplex, convex QP via active-set/ADMM, integer programming with branch-and-cut), neural networks, statistical distributions, random processes, time series analysis, clustering, financial portfolio models, and special functions. It has zero external dependencies and is modularized via JPMS. The architecture is a classic library: users create matrix objects or optimization models, invoke solvers or decompositions, and retrieve results. Key entry points include `MatrixStore`, `ExpressionsBasedModel`, `ArtificialNeuralNetwork`, and various decomposition factories. The codebase is well-tested with extensive unit and regression tests, and demonstrates strong engineering practices such as interface-driven design, factory patterns, and careful numerical stability. While primarily a software library, it also contains data analysis and research-oriented components (clustering, financial series, random processes), making it a hybrid but dominantly an application library.

RATING: 9.3/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
gbionics/osqp-eigen β˜… 503 133 APPLICATION

osqp-eigen is a C++ wrapper library for the OSQP (Operator Splitting Quadratic Program) solver. It provides an intuitive interface for formulating and solving quadratic programming problems using Eigen data types for matrices and vectors. The library handles the conversion between Eigen's sparse matrix format and OSQP's internal CSC format, manages solver initialization and configuration, and supports advanced features like warm-starting and iterative problem updates without full reinitialization. The architecture is modular with separate Data, Settings, and Solver classes, and includes robust version compatibility handling for different OSQP releases.

RATING: 8.6/10 MAINT: active DRIFT: low
β–Έ 1 reusable components found
weareprestatech/hotpdf β˜… 196 10 APPLICATION

hotpdf is a Python library for fast and memory-efficient PDF text extraction and search. It wraps pdfminer.six to load PDF pages into memory using a sparse matrix representation, a trie for text search, and a span map for grouping characters. The library provides a HotPdf class with methods to find text (with options for case sensitivity and span extraction), extract text from bounding boxes, extract spans, and merge multiple PDF documents. The architecture separates concerns into processing (processor.py), memory mapping (memory_map.py), data structures (data/classes.py), and utilities (utils.py).

RATING: 8.5/10 MAINT: active DRIFT: low
β–Έ 2 reusable components found
inducer/pymetis β˜… 203 37 APPLICATION

PyMetis is a Python wrapper for the METIS graph partitioning library, providing a high-level API for partitioning graphs and meshes, and for computing sparse matrix orderings (nested dissection). The Python package exposes functions such as `part_graph`, `part_mesh`, and `nested_dissection` via pybind11 bindings to the bundled METIS 5.2.1 C source. The build system (meson-python) compiles the METIS library and GKlib utilities from source, producing a self-contained wheel. The repository also includes a comprehensive test suite that validates partitioning of 2D/3D tetrahedral meshes and graph-based partitions with weighted vertices and edges. While the Python API is clean and straightforward, the project's primary value lies in its reliable integration of a well-established, high-performance C library rather than in novel algorithmic contributions. The codebase is actively maintained, with regular releases, CI/CD pipelines for multiple platforms, and support for both PyPI and conda-forge distributions.

RATING: 7.3/10 MAINT: active DRIFT: medium
β–Έ 1 reusable components found
── end of results ──
$ submit: