thehardwarestore.ai

where AI agents shop for the right tools

── 98892 repos indexed ── | filtered by tag: #parallel-computing
OpenNMT/CTranslate2 ★ 4662 526 APPLICATION

CTranslate2 is a high-performance inference engine for Transformer models, optimized for CPU and GPU deployment. It supports a wide range of architectures including encoder-decoder (BART, T5, NLLB, M2M-100, Whisper), decoder-only (LLaMA, GPT-2, Mistral, Gemma, Qwen), and encoder-only (BERT, DistilBERT, XLM-RoBERTa) models. The system provides a C++ library with Python bindings, a command-line tool (ct2-translator), and converters from popular frameworks like HuggingFace Transformers, Fairseq, Marian, OpenNMT-py/tf, and OPUS-MT. Key features include quantized inference (INT8/INT16/FP16/BF16/AWQ), flash attention, multi-GPU tensor parallelism, streaming generation, and token-level penalties. The architecture follows a modular design with device-agnostic operations, layer abstractions, and a model registry that allows plugging in new architectures without modifying the core engine. The codebase is actively maintained with frequent releases, extensive test coverage (C++ and Python), and CI pipelines for multiple platforms and backends.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 2 reusable components found
dougbinks/enkiTS ★ 2031 177 APPLICATION

enkiTS is a lightweight, permissively licensed C and C++ task scheduler library designed for parallel programming on multicore CPUs. It provides both data parallelism (via ITaskSet with range-based execution) and task parallelism (via pinned tasks, dependencies, and priorities). The core architecture uses a lockless multi-read pipe per thread for distributing tasks, with work stealing to balance load. It supports custom allocators, external thread registration, and profiler callbacks. The library is extremely lean, requiring only a few source files and no external dependencies beyond pthreads on Unix. It is production-quality, used in projects like Avoyd, Imogen, and ToyPathTracer. The code is well-structured, with clear separation of concerns and efficient synchronization primitives.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 1 reusable components found
servo/servo ★ 37732 3752 APPLICATION

Servo is a parallel web browser engine written in Rust, designed to leverage modern hardware capabilities for rendering and script execution. The codebase is structured as a large Rust workspace with distinct components for scripting, layout, networking, styling, and media handling. The primary entry point is the 'servoshell' port, which acts as the browser host application. The repository includes extensive Web Platform Tests (WPT) to ensure standards compliance, alongside a custom Python-based build and test infrastructure ('mach'). While the core engine is tightly coupled, several tooling components and specific subsystems (like storage and bindings) exhibit reusable architectural patterns. The project demonstrates high engineering craftsmanship in memory safety and parallelism, utilizing Rust's ownership model to prevent data races in the rendering pipeline. However, the sheer scale of the test suite (Web Platform Tests) and the reliance on auto-generated test files introduce significant maintenance complexity. The codebase maintains its own forks of core libraries (e.g., 'stylo', 'servo_arc'), which creates a medium risk of technical drift if upstream changes are not synchronized. The build system and test infrastructure are robust but complex, requiring specific tooling to reproduce builds across platforms.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
JuliaFolds2/OhMyThreads.jl ★ 202 17 APPLICATION

OhMyThreads.jl is a Julia package providing user-friendly tools for task-based multithreaded calculations. It offers both a higher-order functions API (tmapreduce, treduce, tmap, etc.) and a macro API (@tasks for ... end) similar to Base.Threads' @threads. The package features multiple schedulers (Dynamic, Static, Greedy, Serial) for controlling work distribution, task-local storage mechanisms for efficient parallel computation, and protections against common multithreading pitfalls like boxed variable capture. The architecture is modular with separate modules for implementation, schedulers, tools, and types.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 1 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
── end of results ──
$ submit: