8 dépôts
Strategies for scaling computational throughput across multiple CPU cores.
Distinct from Computational Parallelization: Candidates are for web parallelization, simulators, or awesome lists; this is C++ language implementation.
Explore 8 awesome GitHub repositories matching programming languages & runtimes · Parallel Computing Implementation. Refine with filters or upvote what's useful.
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
Instructs on distributing computational workloads across multiple CPU cores for increased throughput.
This repository is a comprehensive collection of instructional guides and practical examples for Python development, focusing on machine learning, data science, and web scraping. It provides implementations for neural networks, reinforcement learning algorithms, and deep learning architectures using PyTorch, alongside detailed manuals for scientific computing and data visualization. The project distinguishes itself by offering specialized tutorials on concurrent programming to optimize CPU performance and guides for setting up Linux development environments. It covers the implementation of ad
Demonstrates strategies for scaling computational throughput across multiple CPU cores using multi-processing.
HVM2 is a high-performance execution environment for pure functional programs, implemented as a systems-level runtime in Rust. It functions as a massively parallel functional runtime that uses interaction combinators to achieve automatic parallelism across multi-core CPUs and GPUs. The project distinguishes itself by using a graph-rewriting computational model to execute programs via local reduction rules, which eliminates the need for manual locks or atomic operations. It employs beta-optimal reduction and lazy evaluation to optimize higher-order functions and eliminate redundant computation
Distributes independent sub-expressions across CPU cores using a work-stealing queue to maximize throughput.
This repository is a collection of reference implementations and programming examples for the CUDA Toolkit. It serves as a GPGPU implementation guide and a parallel computing reference, providing code for using graphics hardware to perform general-purpose calculations and high-performance parallel processing. The project provides specific samples for GPU kernel development and resource management. These include demonstrations of multi-GPU communication, peer-to-peer memory access, and system hardware inspection to coordinate distributed GPU resources. The codebase covers a wide range of capa
Implements advanced parallelism using cooperative groups and execution graphs to optimize GPU workload distribution.
oneTBB est une bibliothèque et un framework de parallélisme C++ conçu pour ajouter le parallélisme multi-cœur aux applications. Il fournit un modèle de parallélisme basé sur les tâches qui mappe les tâches computationnelles logiques aux cœurs matériels disponibles pour éliminer le besoin de gestion manuelle des threads. La bibliothèque fonctionne comme un outil de mise à l'échelle multi-cœur, utilisant des templates génériques pour mettre à l'échelle les opérations de parallélisme de données sur les processeurs pour une performance portable. Elle emploie un framework basé sur les tâches pour assurer que les charges de travail computationnelles sont distribuées sur les ressources matérielles. Le projet couvre le parallélisme à mémoire partagée, la planification de tâches multi-cœur et la mise à l'échelle du parallélisme de données. Il utilise un planificateur de tâches avec vol de travail (work-stealing), le découpage récursif de plages et l'équilibrage de charge dynamique pour gérer la distribution du travail sur les cœurs à l'exécution.
Provides strategies for scaling computational throughput across multiple CPU cores in C++ applications.
OCaml is a strongly typed functional language featuring a sophisticated type system and a focus on safety and expressiveness. It provides a comprehensive compiling toolchain that transforms source code into either portable bytecode or high-performance native binaries. The project is distinguished by a shared memory parallel runtime that executes computations across multiple processor cores using domains, and an algebraic effect system for managing side effects and control flow through execution context handlers. It also includes a dedicated parser generator to automatically create lexers and
Implements parallel computing through a shared-memory runtime that executes computations across multiple processor cores using domains.
WebGL Noise is a library of shader routines designed for procedural graphics generation within the browser. It provides a collection of mathematical functions that allow developers to calculate noise patterns directly on the graphics processing unit, eliminating the need for external image assets or pre-computed data textures. The library focuses on the implementation of standard noise algorithms, including simplex, classic, cellular, and periodic patterns. By executing these calculations as stateless functions within the shader pipeline, the project enables the creation of dynamic, evolving
Leverages GPU-specific parallel execution to compute noise values for every pixel simultaneously.
Ce projet sert de ressource éducative complète pour apprendre la programmation parallèle et le calcul haute performance en utilisant des unités de traitement graphique (GPU). Il fournit des conseils techniques sur les paradigmes fondamentaux requis pour décharger des tâches intensives en calcul d'un système hôte vers des accélérateurs matériels spécialisés. Les supports couvrent les méthodologies de base pour gérer les opérations de données parallèles, incluant l'orchestration de la mémoire entre les espaces hôte et périphérique et l'organisation des threads en grilles et blocs structurés. Il détaille les modèles d'exécution nécessaires pour distribuer les charges de travail à travers plusieurs cœurs de traitement, permettant aux développeurs de mettre à l'échelle efficacement les applications gourmandes en données. Au-delà de l'implémentation de base, la ressource inclut des pratiques diagnostiques pour analyser les métriques d'exécution et identifier les goulots d'étranglement de performance. Elle offre des stratégies pour optimiser l'exécution des noyaux et déboguer les erreurs logiques au sein des bases de code concurrentes pour garantir un débit et une efficacité maximaux dans les environnements de calcul accéléré.
Offers educational materials focused on managing device memory and optimizing kernel execution for accelerated hardware.