30 open-source projects similar to parallel101/course, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Course alternative.
Cpp-taskflow is a C++ task-parallelism framework and task graph scheduler designed to manage and execute complex dependency graphs of parallel tasks across CPU and GPU hardware. It provides a parallel algorithm library for high-performance implementations of reductions, sorts, pipelines, and iterations. The framework distinguishes itself through its ability to offload heavy computational workloads from a task graph to graphics processors for acceleration. It also includes a task profiling tool and a performance analysis interface for visualizing task execution flow and dependency structures t
c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static libraries, or dynamic libraries using an LLVM backend. It implements a system based on result-based error handling, scoped memory pooling, and a semantic macro system. The compiler provides first-class support for hardware-backed SIMD vectors that map directly to processor instructions and enables runtime polymorphism through interface-based dynamic dispatch. The project covers a broad set of low-level capabilities, including manual and pooled memory management, inline assembly inte
This project is a comprehensive educational resource and programming course covering C++ language semantics and features from C++03 through C++26. It provides structured tutorials and technical guides focused on modern C++ development. The material offers specialized instruction on template metaprogramming, including the use of type traits and compile-time computations. It features detailed guides on concurrency and parallelism for multi-core execution, as well as a reference for software design applying SOLID principles and RAII. Additionally, it covers build performance optimization to redu
ISPC is a vectorizing compiler and SIMD parallel programming language that implements a single program multiple data model. It serves as a toolchain for translating C-based code with parallel extensions into optimized machine code for various CPU and GPU architectures using an LLVM backend. The compiler is designed for cross-platform SIMD toolchain support, generating specialized instruction sets for x86 SSE/AVX, ARM NEON, and Intel GPU from a single source. It features a runtime dispatch mechanism that selects the most efficient hardware-specific implementation for the current system during
Crossbeam is a concurrency toolkit for Rust providing low-level primitives for writing multi-threaded programs. It focuses on lock-free data structures and memory management primitives designed for shared-memory concurrent environments. The project includes a work-stealing scheduler that uses double-ended queues to balance workloads across multiple processor cores. This system enables the implementation of work-stealing deques to distribute tasks and prevent bottlenecks. The toolkit covers broader capabilities for parallel algorithm development, multi-threaded task scheduling, and general co
This project is a comprehensive collection of reference materials, including a language cheatsheet, a standard library reference, and a concurrency reference. It serves as a guide to modern C++ development, focusing on language syntax, standard library utilities, and template metaprogramming patterns. The repository provides specific guidance on template metaprogramming through a dedicated guide covering compile-time evaluation, type deduction, and variadic template execution. The materials cover a broad range of capabilities, including asynchronous programming, memory management, and system
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
This project is a comprehensive functional programming curriculum and learning resource for Haskell. It provides sequenced educational paths and technical reference guides designed to take developers from beginner to advanced levels of proficiency. The project distinguishes itself through a deep focus on theoretical and technical foundations, offering detailed studies on type theory, category theory, and runtime internals. It includes a dedicated performance handbook for optimizing execution speed and memory management, as well as an ecosystem guide for managing development tools and editor c
CppGuide is a curated collection of educational resources and practical guides focused on C++ server development, Linux kernel internals, concurrent programming, network protocols, and security exploitation. It provides structured learning paths for backend developers, covering everything from interview preparation to building high-performance network servers and understanding operating system fundamentals. The guide distinguishes itself by offering in-depth, hands-on tutorials that walk through real-world implementations, including building a Redis-like server from scratch, designing custom
InterviewGuide is a comprehensive technical interview preparation platform that covers the full spectrum of software engineering recruitment, from foundational computer science concepts through to offer negotiation. It provides structured learning paths across algorithms, operating systems, databases, networking, and programming languages, with a particular emphasis on C++ and Go. The platform aggregates real interview experiences and company-specific questions from major tech employers, offering candidates a searchable database of past written exam problems and detailed accounts of actual int
Dask is a parallel computing framework and distributed task scheduler designed to scale Python data science workflows from single machines to large clusters. It functions as a cluster resource manager that orchestrates computational logic by representing tasks and their dependencies as directed acyclic graphs. This architecture allows the system to automate the distribution of workloads across available hardware while managing complex execution requirements. The project distinguishes itself through a lazy evaluation engine that defers data operations until they are explicitly requested, enabl
Bilibili-plus is a curated course aggregator and educational resource repository designed to centralize instructional materials hosted on the Bilibili platform. It serves as a set of C++ programming courseware, providing a structured archive of lecture videos, presentation slides, and source code for technical training. The project focuses on educational resource aggregation and technical course management. It organizes fragmented video lessons and supporting documents into a cohesive learning path specifically for C++ programming education. The system manages content through JSON-based conf
This project is a C++ learning resource and study guide consisting of structured notes and programming examples. It provides practical implementations and exercise solutions covering core language syntax, data types, and control flow. The repository features specialized samples for object-oriented design, including class inheritance, polymorphism, and abstract classes. It includes demonstrations of memory management techniques such as dynamic allocation, move semantics, and placement new, as well as template programming examples for creating generic functions and data structures. The codebas
This project is a collection of condensed technical references and study guides for the C++ language. It serves as a language cheat sheet and programming reference covering core syntax, standards, and data organization patterns. The resource provides specialized guides for algorithm study, data structure reference, and technical interview preparation. It includes materials for reviewing computational complexity and efficient data structure usage for competitive programming. The content covers broad capability areas including object-oriented programming, memory management, and generic program
libfacedetection is a C++ face detection library and computer vision tool. It utilizes a neural network face detector to identify human faces in images and return bounding box coordinates. The library is designed for low latency and high throughput processing, enabling real-time face detection in image and video streams. It supports automated image analysis for identifying coordinates of human faces across large batches of photos and high-performance video processing.
This project is a distributed computing platform designed to orchestrate containerized workloads across heterogeneous hardware clusters. It functions as a centralized control plane that manages resource allocation, scheduling, and execution environments, enabling organizations to share high-performance computing infrastructure securely among multiple users and projects. The platform distinguishes itself through advanced hardware virtualization and multi-tenant management capabilities. It supports the partitioning of physical graphics processing units into fractional slices, allowing multiple
This project is a parallel simulation engine and molecular dynamics simulator designed to model the physical movements of atoms and molecules. It functions as an interatomic potential framework for calculating forces between particles and a materials analysis tool for computing thermodynamic, structural, and transport properties of solids and fluids. The engine is distinguished by its high-performance computing capabilities, utilizing spatial-domain decomposition and message-passing interface communication to distribute workloads across processors. It supports multi-backend GPU acceleration v
Accelerate is a framework for high-performance array computing that provides a domain-specific language for expressing complex mathematical and parallel computations. By utilizing a declarative programming interface, it allows users to define high-level array transformations that are automatically translated into optimized machine code for diverse hardware architectures. The system distinguishes itself through a modular architecture that decouples high-level array operations from hardware-specific instructions. It employs just-in-time compilation and kernel fusion to transform programs into e
Slurm is a cluster workload manager and job scheduler designed for high-performance computing environments. It functions as a distributed compute orchestrator that queues and executes large-scale computational tasks across multiple compute nodes in a cluster. The system acts as a resource arbitrator, distributing hardware nodes and processors among concurrent users to prevent resource conflicts and maximize efficiency. It coordinates the simultaneous launch of multiple processes across different physical servers to execute parallel jobs and scientific workloads. The platform covers broad cap
Spack is a source-based build system and package manager designed for high-performance computing. It serves as a multi-version software manager and a logic-based dependency solver that handles complex software stacks across various platforms and hardware architectures. The project distinguishes itself by managing multiple compilers and toolchains to target specific hardware. It allows the coexistence of multiple versions and configurations of the same software package on a single system by utilizing prefix-based isolation and unprivileged deployment. The system provides comprehensive capabil
Azure Docs is the official technical documentation repository for Microsoft Azure, the cloud computing platform. It provides comprehensive guidance on the full spectrum of Azure services, covering everything from core infrastructure components like virtual machines, Kubernetes clusters, and serverless computing to platform services for AI, machine learning, data analytics, and storage. The documentation details how to provision, manage, and govern cloud resources at scale, including policy enforcement, identity management, and cost optimization. The documentation distinguishes Azure through i
Thrust is a heterogeneous computing library and C++ template library that provides a collection of high-level templates for executing data-parallel operations. It functions as a parallel algorithms library designed to work across different hardware backends, including multicore CPUs and NVIDIA GPU hardware. The framework utilizes a header-only implementation and a generic-programming policy interface to abstract the differences between CPU and GPU memory and execution models. It employs an iterator-based data abstraction to provide a uniform interface for accessing elements across host RAM an
This project is a collection of guidelines and best practices for the Go programming language, providing a comprehensive style guide and set of programming standards. It establishes a framework for writing maintainable and performant source code through standardized naming, structuring, and organizational conventions. The guide focuses on specific patterns for concurrency, error handling, and performance optimization. It details methods for managing goroutine lifecycles to prevent race conditions, designing structured error wrapping and routing to maintain observability, and implementing memo
This project is a comprehensive library of reusable React hooks designed to simplify browser API integration, state management, and component lifecycle tracking. It provides a declarative interface for managing complex browser interactions, allowing developers to encapsulate imperative logic into modular, composable functions that integrate directly with the component lifecycle. The library distinguishes itself by offering specialized utilities for asynchronous data orchestration, including built-in caching, retry logic, and loading state management. It also features advanced performance opti
This project is a comprehensive engineering framework and technical reference for managing, scaling, and optimizing distributed machine learning infrastructure. It provides a suite of methodologies and diagnostic tools designed to support large-scale model training and inference on high-performance computing clusters. The project distinguishes itself through a specialized diagnostic toolkit and infrastructure optimization suite that addresses the complexities of multi-node environments. It enables precise control over cluster resources, including hardware maintenance, network topology configu
Folly is a collection of high-performance C++ components designed as an extension to the C++ Standard Library for large-scale production environments. It provides specialized toolkits for memory management, concurrency, asynchronous workflows, and low-latency input and output operations. The project distinguishes itself through the provision of lock-free containers and bounded queues to minimize contention in multi-threaded applications, alongside a framework for managing deferred computations using futures and promises. It further offers specialized memory arenas and optimized implementation
perf-ninja is a collection of educational resources and curricula focused on CPU architecture, memory hierarchies, SIMD programming, and low-level performance engineering. It provides instructional material and practical labs for identifying and fixing CPU bottlenecks, such as cache misses and branch mispredictions. The project differentiates itself through specialized training in hardware-level optimizations, including the use of compiler intrinsics for SIMD vectorization and the implementation of branchless predicate execution to eliminate pipeline stalls. It also covers advanced binary-lev
HikariCP is a high-concurrency JDBC connection pooling library for Java applications. It provides a reusable set of database connections to reduce the overhead of creating new connections for every request, enabling low-latency database access for applications handling large volumes of simultaneous requests. The project utilizes lock-free connection pooling and non-blocking data structures to ensure high performance. It includes specialized optimizations such as bytecode-optimized statement caching on the driver side to reduce SQL parsing overhead and proxy-based connection wrapping to track
FLAnimatedImage is a high-performance rendering engine and library for playing animated GIF images on iOS. It functions as an animation engine and image memory manager designed to ensure smooth frame transitions and consistent playback timing across different device environments. The project focuses on maintaining consistent animation speed through variable frame delay support and optimizes rendering efficiency to sustain high frame rates on mobile devices. It includes a memory management system to prevent application crashes and performance degradation during the playback of large or numerou