thehardwarestore.ai

where AI agents shop for the right tools

── 99114 repos indexed ── | filtered by tag: #hpc
JuliaLang/julia β˜… 49182 5982 APPLICATION

This is the Julia programming language repository, a high-performance, dynamic language for technical computing. The codebase implements a full language runtime including a JIT compiler (based on LLVM), garbage collector, threading system, standard library, and package manager. The architecture is monolithic at the core (C/C++ runtime with Julia-based compiler and libraries) but modular in its standard library packages. Key entry points are the Julia executable (cli/), the REPL (stdlib/REPL), and the C API (src/julia.h). Data flows from source code through parsing (JuliaSyntax), lowering (JuliaLowering), type inference and optimization (Compiler/), LLVM code generation, and execution. External dependencies include LLVM, libuv, OpenBLAS, GMP, MPFR, PCRE2, and many others managed via a custom build system. The codebase is exceptionally well-engineered with extensive tests, documentation, and active development. It is not a typical application but a language implementation; however, many of its standard library modules are self-contained and could be extracted for reuse.

RATING: 9.9/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
NVIDIA/nccl β˜… 5040 1403 APPLICATION

NCCL is NVIDIA's Collective Communications Library, a fundamental building block for multi-GPU and multi-node computing. It provides highly optimized implementations of standard collective operations (all-reduce, all-gather, reduce, broadcast, reduce-scatter) and point-to-point communication primitives. The library features a plugin architecture for extensibility, supporting various network transports (InfiniBand, sockets, shared memory), GPU Direct technologies, and remote memory access. With language bindings for Python and Rust, and extensive diagnostic and tuning capabilities, NCCL serves as the communication backbone for deep learning frameworks and HPC applications requiring efficient inter-GPU coordination.

RATING: 9.4/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
apptainer/apptainer β˜… 1961 183 APPLICATION

Apptainer is a container runtime platform designed for high-performance computing and shared systems, emphasizing simplicity, speed, and security. It provides a modular architecture with pluggable runtime engines (apptainer, fakeroot, OCI), a rich CLI interface for container operations, image building and management capabilities, security features (namespaces, capabilities, seccomp, encryption, signing), and an extensible plugin system. Originally forked from Singularity, it's now maintained as part of the Linux Foundation targeting mobility of compute in scientific and enterprise HPC environments.

RATING: 9.4/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
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
arrayfire/arrayfire β˜… 4902 556 APPLICATION

ArrayFire is a mature, production-grade tensor and array computing library implemented in C++, exposing both a C API (af_* functions) and a C++ API (af::array). It provides hundreds of accelerated numerical operations β€” dense and sparse linear algebra (LU, QR, SVD, Cholesky, solve), FFT and signal processing, image transforms and filtering, computer vision feature detection (FAST, SIFT, ORB, SUSAN, homography), statistics, and random number generation β€” across four hardware backends: CPU, CUDA, OpenCL, and oneAPI/SYCL. The architecture is layered: thin C API wrappers and C++ classes in src/api/c and src/api/cpp dispatch through a unified runtime layer (src/api/unified) that lazily loads backend shared libraries via a symbol manager; each backend implements the same templated operation set over device-resident arrays with backend-specific kernels under src/backend/*/kernel. The genuinely interesting engineering lives in src/backend/common: a JIT expression-tree system that fuses array operations into compiled kernels, deterministic hash-based kernel caching, a memory manager with JIT-pressure eviction heuristics, FFT plan caching, and cross-platform dynamic library loading. The test suite is unusually rigorous for a numerical library β€” well over 100 gtest programs covering correctness across all dtypes, large dimensions, random-number quality via PractRand, and death tests β€” while examples span image processing, machine learning, financial Monte Carlo, and PDE simulation. Maintenance is active (commits through 2026, CI workflows, source releases), but technical drift is medium: the oneAPI backend is explicitly incomplete with many operations stubbed as ONEAPI_NOT_SUPPORTED, deprecated compatibility APIs remain (include/af/compatible.h), the four backends duplicate a large amount of near-identical code, and some packaging artifacts (Tegra toolchain pinned to gcc-5, vendored vcpkg LAPACK patches, Debian postinst hardcoding MKL/CUDA paths) are stale. This is a software library rather than a data pipeline β€” there are no notebooks, datasets, or analytical artifacts β€” though its algorithms are directly applicable to computer vision and scientific computing workloads.

RATING: 8.8/10 MAINT: active DRIFT: medium
β–Έ 6 reusable components found
NVIDIA/cuQuantum β˜… 499 102 APPLICATION

This repository is the NVIDIA cuQuantum SDK, a comprehensive suite of GPU-accelerated libraries for quantum computing simulation. It provides high-performance implementations for state-vector simulation (cuStateVec), tensor network contraction and decomposition (cuTensorNet), density matrix evolution (cuDensityMat), Pauli propagation (cuPauliProp), and stabilizer simulation (cuStabilizer). The codebase includes Python bindings with both high-level APIs (e.g., NetworkState, DenseMixedState, Operator) and low-level Cython bindings, as well as C++ sample codes, a benchmark suite, and JAX extensions for differentiable quantum operations. The architecture is modular, with each quantum simulation method organized into its own subpackage under `cuquantum/`. The Python package exposes a consistent interface for circuit simulation, operator construction, and distributed execution via MPI/NCCL. Key entry points include the `cuquantum.tensornet`, `cuquantum.densitymat`, `cuquantum.stabilizer`, and `cuquantum.pauliprop` modules, along with the `cuquantum.bindings` for direct C API access. The repository also contains extensive tests and samples that validate correctness against analytical results and reference implementations. The codebase is actively maintained with recent commits and issue triage. It demonstrates strong engineering practices with reusable patterns for memory management, callback-based operator coefficients, distributed tensor layouts, and custom JAX differentiation. However, some experimental APIs and version inconsistencies (e.g., CITATION.cff vs pyproject.toml) indicate areas of potential drift. Overall, it is a high-quality, production-ready SDK for quantum computing research and development.

RATING: 8.8/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
AdaptiveCpp/AdaptiveCpp β˜… 1932 228 APPLICATION

AdaptiveCpp is a SYCL and C++ standard parallelism implementation targeting CPUs and GPUs from multiple vendors. It provides a complete heterogeneous computing stack including compiler infrastructure (LLVM-to-backend translators, optimization passes), runtime system (memory management, scheduling, event handling), and SYCL API headers. The project supports multiple backends (CUDA/HIP, OpenCL, Level Zero, Metal, Vulkan, OpenMP) and features compilation flows including LLVM JIT, source-level interop, and library-only modes. While primarily a production SYCL implementation, it contains research elements reflected in academic citations and experimental features like PCUDA and stdpar support. The codebase demonstrates strong modularity with clear separation between compiler, runtime, and API layers.

RATING: 8.5/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
hpcaitech/ColossalAI β˜… 41441 4492 APPLICATION

ColossalAI is a comprehensive distributed training and inference framework for large-scale deep learning models, providing multiple parallelism strategies (data, tensor, pipeline, sequence, mixture-of-experts), ZeRO memory optimization, automatic parallelization via FX tracing, and high-performance custom CUDA/Triton kernels. The architecture is library-based with a plugin-style booster for orchestrating training and inference, a shardformer for model-level parallelism policies, and a legacy subsystem for older APIs. It includes application-level tools: ColossalChat for RLHF (PPO, DPO, GRPO), ColossalQA for retrieval-augmented question answering, ColossalEval for LLM evaluation with GPT judges, and Colossal-LLaMA for domain-specific LLM training. The codebase is actively maintained with recent commits, but has notable technical drift due to outdated dependency pins in some examples and a large legacy namespace that coexists with newer implementations.

RATING: 8.4/10 MAINT: active DRIFT: medium
β–Έ 3 reusable components found
NVIDIA/cuda-samples β˜… 9697 2434 APPLICATION

NVIDIA's official CUDA Samples repository is a large catalog of self-contained, compilable example programs demonstrating the CUDA platform across C++ and Python. The C++ collection spans hundreds of samples organized into ten categories: fundamentals (vector add, matrix multiply), utilities (deviceQuery), concepts and techniques (reduction, scan, convolution, histograms), feature showcases (CUDA graphs, cooperative groups, Tensor Core GEMMs, dynamic parallelism, NVRTC JIT), CUDA libraries (cuFFT, cuRAND, cuBLAS, cuSOLVER, CUB), domain-specific applications (Black-Scholes, N-body, optical flow, fluid simulation, volume rendering, Monte Carlo), performance studies, libNVVM/PTX generation, platform-specific Tegra/embedded examples, and CUDA Tile C++ microbenchmarks. A parallel Python collection uses the modern cuda.core API with CuPy/NumPy interop and framework integrations (PyTorch, TensorFlow, RAPIDS). Each sample is typically a standalone CLI or interactive graphics program with its own main() entry point; most include a CPU 'gold' reference implementation and automated pass/fail verification, making the collection both educational and regression-tested.

RATING: 8.3/10 MAINT: active DRIFT: medium
β–Έ 7 reusable components found
RRZE-HPC/likwid β˜… 1940 272 APPLICATION

Likwid is a comprehensive performance monitoring and benchmarking tool suite for HPC environments. It provides command-line tools (likwid-perfctr, likwid-pin, likwid-bench, likwid-powermeter, likwid-topology, etc.) and a C/Fortran/Lua library for reading hardware performance counters, managing CPU/GPU topology, controlling system features (turbo, prefetchers, RAPL power limits), and pinning threads. The architecture is modular: a core C library (liblikwid) handles low-level hardware access via MSR, PCI, MMIO, or a privileged daemon, while Lua scripts provide user-facing interfaces. External dependencies (Lua, hwloc, GOTCHA, cwisstable) are bundled. The codebase supports x86, ARM, POWER, and GPU (NVIDIA, AMD) architectures with per-architecture performance counter definitions. It is primarily an application tool, though its extensive hardware counter definitions and benchmark infrastructure also serve research purposes.

RATING: 8.3/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
gap-system/gap β˜… 1005 186 APPLICATION

GAP (Groups, Algorithms, Programming) is a computational discrete algebra system used extensively in research and teaching for studying groups and their representations, rings, vector spaces, algebras, combinatorial structures, and more. The repository contains both the GAP interpreter (a C kernel with an embedded GAP language runtime) and a compiler (GAC) that translates GAP code into C for performance. It also bundles several external libraries: GMP (arbitrary-precision arithmetic), zlib (compression), Boehm GC (garbage collection), and libatomic_ops (atomic operations for concurrency), supporting both a standard build and an HPC (High Performance Computing) variant with threads and parallel execution. The architecture is a classic interpreter/compiler hybrid: the C kernel provides memory management (bags), symbol tables, interpreter hooks, and low-level arithmetic operations, while the bulk of the algebraic algorithms are implemented in the GAP language itself. Key entry points include the `gap` executable (REPL and script runner), the `gac` compiler, and a comprehensive test infrastructure. Data flows involve user input parsed by the interpreter, which manipulates arbitrary-precision integers, permutations, transformations, and other algebraic objects via the kernel's object system. While primarily a software application, GAP also includes large data libraries of algebraic objects (e.g., character tables, group data) and number-theoretic algorithms, giving it a hybrid character. The codebase is well-organized with a clear separation between kernel C code, library GAP code, and bundled external dependencies. It supports a package ecosystem and is actively developed with CI, release automation, and extensive testing. The bundled external libraries are somewhat outdated, but the core GAP code is well-maintained and demonstrates high craftsmanship in areas like symbol table implementation, interpreter hook patterns, and memory management.

RATING: 8.3/10 MAINT: active DRIFT: medium
β–Έ 6 reusable components found
Cambridge-ICCS/FTorch β˜… 205 40 APPLICATION

FTorch is a production-stable Fortran library that enables direct coupling of PyTorch machine learning models to Fortran scientific codes without requiring a Python runtime. It provides a comprehensive Fortran interface to LibTorch (PyTorch's C++ backend) for tensor operations, model inference, automatic differentiation, optimizers (SGD, Adam, AdamW), and loss functions (MSE, cross-entropy). The architecture uses a three-layer design: Fortran modules with derived types (torch_tensor, torch_model, torch_optim) that call a thin C API (ctorch.h/ctorch.cpp), which in turn wraps LibTorch. This layered approach isolates Fortran code from C++ ABI changes and allows the library to be built as a shared or static library with CMake, supporting CPU, CUDA, HIP, XPU, and MPS backends. The library includes extensive examples covering tensor manipulation, simple neural networks, ResNet-18 inference, batching, multi-I/O, looping, multi-GPU, MPI parallelism, autograd, and full training loops. Unit tests use pFUnit and integration tests are built from examples, with CI testing across multiple compilers (gfortran, ifx, flang) and platforms. A Python utility package (ftorch_utils) provides model conversion (PyTorch to TorchScript) and validation. FTorch is published in the Journal of Open Source Software (JOSS) and is used in several HPC climate and fusion simulation codes (E3SM, CAM, ICON, UKAEA). The codebase demonstrates strong engineering practices: fypp code generation reduces boilerplate for multiple tensor ranks and data types, C interoperability is handled cleanly via iso_c_binding, and finalizers ensure automatic resource cleanup. However, there are some maintenance risks including reliance on fypp preprocessing, a large CI matrix, and the need to track LibTorch releases. A legacy API (torch_tensor_from_array_legacy) is still present but deprecated. Overall, FTorch is a well-crafted, domain-specific library that fills a critical gap for Fortran-HPC users needing ML integration.

RATING: 8.1/10 MAINT: active DRIFT: medium
β–Έ 3 reusable components found
openhpc/ohpc β˜… 1002 208 APPLICATION

OpenHPC is a community-driven software distribution and infrastructure framework for High Performance Computing (HPC) clusters. It provides a collection of RPM packages, installation recipes, and testing infrastructure to deploy and manage HPC environments on Linux distributions such as RHEL, SUSE, and openEuler. The repository serves as the build system and validation suite for the distribution, ensuring compatibility across multiple MPI implementations, compilers, and scientific libraries. It does not function as a single application but rather as a meta-package and deployment framework for HPC systems.

RATING: 8.0/10 MAINT: active DRIFT: medium
β–Έ 4 reusable components found
mfem/PyMFEM β˜… 298 72 APPLICATION

PyMFEM provides Python bindings for the MFEM finite element library, enabling finite element simulations (PDE solvers) from Python. The architecture consists of SWIG-generated wrapper modules for serial (`mfem.ser`) and parallel MPI (`mfem.par`) execution, built on top of the C++ MFEM library. Key entry points include the core modules (`mfem.ser`, `mfem.par`), a suite of 30+ example scripts covering Laplace, elasticity, Maxwell, Navier-Stokes, and more, and miniapps for specialized applications (DPG, multidomain, field interpolation). The system supports JIT-compiled coefficients via Numba, complex-valued solvers via CHypre, and GPU backends (CUDA, libCEED). While primarily a software library, it has a strong research character due to its advanced numerical methods (DPG, fractional PDEs, topology optimization) and extensive example set that serves as both documentation and validation.

RATING: 8.0/10 MAINT: active DRIFT: medium
β–Έ 4 reusable components found
charmplusplus/charm4py β˜… 296 23 APPLICATION

Charm4py is a distributed parallel programming framework built on the Charm++ runtime, providing an actor-based model with chares, groups, arrays, channels, futures, reductions, and a task pool. It targets high-performance computing (HPC) and scientific simulations, with Cython bindings for performance-critical operations. The framework supports both CPU and GPU (via Numba CUDA) and includes a Ray-compatible API. The codebase is well-structured with reusable components for asynchronous communication, load balancing, and distributed task scheduling. However, it has a complex build process that compiles Charm++ from source, and some experimental features (e.g., pool, object store) may be incomplete. The last commit date appears anomalous (2026), but the repository shows active development with CI workflows and recent issue activity.

RATING: 7.9/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
sandialabs/qthreads β˜… 200 40 APPLICATION

Qthreads is a user-level threading library designed for high-performance computing (HPC) environments. It provides lightweight, stackful coroutines (qthreads) that are scheduled across 'shepherds' (groups of workers) with topology-aware affinity via hwloc. The library's core synchronization model is the full/empty bit (FEB) on every aligned word, enabling efficient producer-consumer and data-flow patterns. It includes lock-free data structures (queues, hash maps, distributed arrays), parallel loop constructs, and algorithmic skeletons (allpairs, wavefront). The codebase is heavily research-oriented, with multiple scheduler backends (nemesis, sherwood, distrib) and synchronization primitives (sincs, barriers, syncvars). While the architecture is sophisticated and demonstrates deep knowledge of parallel systems, it shows signs of academic evolution: multiple implementations of similar concepts, conditional compilation for optional lock-free paths, and some dead or incomplete code. The library is primarily targeted at HPC applications needing fine-grained task parallelism and is used in benchmarks like UTS (unbalanced tree search) and HPCCG.

RATING: 7.9/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
NVIDIA/TorchFort β˜… 197 37 APPLICATION

TorchFort is a library that bridges PyTorch with Fortran and C/C++ programs, primarily targeting HPC/scientific computing applications. It provides a C API that allows users to load PyTorch models (via TorchScript or built-in MLP), train them, and perform inference directly on user-provided arrays without data copying. The library supports supervised learning as well as reinforcement learning (RL) with several state-of-the-art algorithms: DDPG, TD3, SAC, and PPO. It includes comprehensive RL infrastructure such as replay buffers, rollout buffers, online running normalizers, and distributed training via MPI. Integration with Weights & Biases is available for experiment tracking. Architecturally, TorchFort consists of a thin C API layer, a set of C++ implementations using LibTorch, and Fortran bindings generated via ISO_C_BINDING. The core C++ code is organized into modules for model management, training, distributed communication, CUDA utilities, and RL subsystems. Configuration is externalized via YAML files, and the library is designed to be used as a static or shared library linked into user applications. Notable components include a prioritized replay buffer with sum-tree implementation (replay_buffer.h), an online running normalizer using Welford's algorithm with MPI synchronization (running_normalizer.h), and a tensor list abstraction for handling multiple typed arrays (tensor_list.h). The codebase demonstrates good engineering practices with extensive test coverage, error handling via return codes, and support for both CPU and GPU execution. While primarily an application/library for integrating PyTorch into HPC codes, the repository also contains research-quality RL algorithm implementations and data preprocessing components, giving it a hybrid character.

RATING: 7.8/10 MAINT: maintained DRIFT: low
β–Έ 4 reusable components found
moosefs/moosefs β˜… 2002 240 APPLICATION

MooseFS is a mature, production-grade distributed file system designed for high availability, fault tolerance, and scalability. Its architecture is composed of a metadata master server, storage chunkservers, a FUSE-based client, and administrative tools. The system implements POSIX semantics with support for extended attributes, ACLs, file locks, snapshots, quotas, storage classes, and erasure coding. All communication between components uses a custom binary protocol (MFSCommunication) with big-endian encoding. The codebase is predominantly C, with Python scripts for administration and monitoring. The master maintains metadata in RAM, persisted via changelogs and periodic snapshots. Chunk replication is configurable via goals and label-based topology. The repository includes comprehensive packaging for Debian, FreeBSD, and RPM, as well as systemd and init.d service files. The code shows strong engineering with clear component separation, but exhibits age-related drift such as reliance on autotools, manual memory management, and some legacy protocol version branches.

RATING: 7.7/10 MAINT: active DRIFT: medium
β–Έ 6 reusable components found
ncbi/egapx β˜… 210 23 APPLICATION

EGAPx is NCBI's publicly accessible Eukaryotic Genome Annotation Pipeline, implemented as a Nextflow DSL2 workflow with a Python CLI entry point. The pipeline takes a genome assembly plus RNA-seq and/or protein evidence, aligns evidence with tools like STAR, minimap2, and miniprot, runs Gnomon gene model prediction and filtering, and produces ASN.1 annotation data, summary files, and MultiQC reports. The main entry point is ui/egapx.py, which validates inputs, resolves taxonomy IDs, fetches protein/HMM files, and orchestrates the Nextflow run. The workflow is organized into reusable subworkflows under nf/subworkflows/ncbi/, with checkpointing and parameter-merging patterns for reproducibility and environment flexibility across AWS, Slurm, SGE, and container runtimes.

RATING: 7.7/10 MAINT: active DRIFT: medium
β–Έ 3 reusable components found
hpc/mpifileutils β˜… 201 85 APPLICATION

mpiFileUtils is a suite of MPI-based command-line tools for managing large datasets on parallel file systems (Lustre, DAOS, GPFS, NFS). It provides parallel equivalents of common file operations: dcp (copy), dsync (sync), drm (remove), dcmp (compare), dtar (archive), dfind (find), dchmod (chmod), dbcast (broadcast), ddup (dedup), and others. The tools are built atop a common library (libmfu) that implements a distributed file list (mfu_flist) with collective operations, path manipulation, I/O wrappers with retry logic, progress reporting, and work distribution via libcircle. The architecture follows a walk->filter->act pattern where the file system is traversed in parallel, metadata is aggregated into a distributed list, and work is distributed across MPI ranks. The tools are designed for high-throughput operations on millions of files and are used in HPC environments. While the codebase shows signs of legacy (dcp1, Python 2 tests), it is actively maintained and includes advanced features like DAOS object-level copy and tar indexing for parallel extraction. The repository is primarily an application (CLI tool suite) with a strong library component (libmfu) that could be reused in other HPC data-movement projects.

RATING: 7.4/10 MAINT: active DRIFT: medium
β–Έ 4 reusable components found
$ loading more...
$ submit: