8 repositorios
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 es una biblioteca y framework de paralelismo en C++ diseñado para añadir paralelismo multinúcleo a las aplicaciones. Proporciona un modelo de paralelismo basado en tareas que mapea tareas computacionales lógicas a los núcleos de hardware disponibles para eliminar la necesidad de gestión manual de hilos. La biblioteca funciona como una herramienta de escalado multinúcleo, utilizando plantillas genéricas para escalar operaciones de datos en paralelo a través de procesadores para un rendimiento portátil. Emplea un framework basado en tareas para asegurar que las cargas de trabajo computacionales se distribuyan a través de los recursos de hardware. El proyecto cubre el paralelismo de memoria compartida, la programación de tareas multinúcleo y el escalado de paralelismo de datos. Utiliza un programador de tareas de tipo work-stealing, división recursiva de rangos y balanceo de carga dinámico para gestionar la distribución del trabajo entre núcleos en tiempo de ejecución.
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.
Este proyecto sirve como un recurso educativo completo para aprender programación paralela y computación de alto rendimiento utilizando unidades de procesamiento gráfico (GPU). Proporciona guía técnica sobre los paradigmas fundamentales requeridos para delegar tareas computacionalmente intensivas desde un sistema host a aceleradores de hardware especializados. Los materiales cubren las metodologías centrales para gestionar operaciones de datos paralelos, incluyendo la orquestación de memoria entre espacios de host y dispositivo y la organización de hilos en rejillas y bloques estructurados. Detalla los modelos de ejecución necesarios para distribuir cargas de trabajo a través de múltiples núcleos de procesamiento, permitiendo a los desarrolladores escalar aplicaciones pesadas en datos de manera efectiva. Más allá de la implementación básica, el recurso incluye prácticas de diagnóstico para analizar métricas de ejecución e identificar cuellos de botella de rendimiento. Ofrece estrategias para optimizar la ejecución de kernels y depurar errores lógicos dentro de bases de código concurrentes para asegurar el máximo rendimiento y eficiencia en entornos de computación acelerada.
Offers educational materials focused on managing device memory and optimizing kernel execution for accelerated hardware.