13 مستودعات
Implementations of fundamental data-parallel operations for high-performance computing.
Distinct from Parallel Matrix Operations: Focuses on general-purpose parallel algorithms like sorting and reduction, distinct from specific scan or matrix operations.
Explore 13 awesome GitHub repositories matching scientific & mathematical computing · Parallel Algorithms. Refine with filters or upvote what's useful.
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
Details the execution of standard library search and sort operations across multiple processor cores.
Dask هو إطار عمل للحوسبة المتوازية وجدول مهام موزع مصمم لتوسيع نطاق سير عمل علوم البيانات في Python من أجهزة فردية إلى مجموعات (clusters) كبيرة. يعمل كمدير موارد للمجموعة يقوم بتنسيق المنطق الحسابي من خلال تمثيل المهام وتبعياتها كرسوم بيانية موجهة غير دورية. تسمح هذه البنية للنظام بأتمتة توزيع أعباء العمل عبر الأجهزة المتاحة مع إدارة متطلبات التنفيذ المعقدة. يتميز المشروع بمحرك تقييم كسول يؤجل عمليات البيانات حتى يتم طلبها صراحة، مما يتيح تحسين الرسم البياني العالمي وتخصيص الموارد بكفاءة. يتضمن خاصية تسريب البيانات الواعية بالذاكرة لمنع تعطل النظام عند معالجة مجموعات البيانات التي تتجاوز الذاكرة المتاحة، ويستخدم دمج الرسم البياني للمهام لدمج تسلسلات العمليات في خطوات تنفيذ واحدة، مما يقلل من عبء الجدولة والاتصال بين العقد. توفر المنصة سطح قدرات شاملاً لتحليلات البيانات واسعة النطاق، بما في ذلك دعم التعلم الآلي الموزع، وتكامل الحوسبة عالية الأداء، ومعالجة البيانات المتوازية. توفر أدوات واسعة النطاق لإدارة دورة حياة المجموعة، وتوصيف الأداء، والمراقبة في الوقت الفعلي لتنفيذ المهام. يمكن للمستخدمين نشر هذه البيئات عبر بنية تحتية متنوعة، بما في ذلك الأجهزة المحلية، ومزودي السحابة، والأنظمة الحاوية، ومجموعات الحوسبة عالية الأداء.
Wraps standard functions into lazy execution graphs that can be evaluated in parallel across threads or distributed clusters.
GPU-Puzzles is an interactive learning environment and tutorial designed for mastering CUDA GPU kernel development. It serves as an educational tool and lab where users solve coding puzzles to understand how to map high-level logic to low-level GPU hardware instructions. The platform focuses on teaching parallel computing concepts and GPU architecture. Users practice developing parallel algorithms and managing GPU memory through a series of hands-on challenges. The environment utilizes a bridge between Python and CUDA to execute kernels and provide real-time feedback by validating outputs ag
Provides practical training in developing parallel algorithms to improve performance on CUDA-supported hardware.
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
Ships a library of fundamental data-parallel operations, including parallel reductions and sorts.
Taskflow is a C++ task-parallel framework designed to build high-performance parallel workflows and complex dependency graphs. It provides a programming model that organizes computational work into directed acyclic graphs, enabling developers to manage concurrency, resource scheduling, and task dependencies across multi-core CPUs and GPU accelerators. The framework distinguishes itself through its ability to orchestrate heterogeneous systems, allowing for the integration of hardware-accelerated kernels and memory operations into unified execution pipelines. It supports dynamic runtime subflow
Provides a comprehensive suite of parallel algorithms for data processing, such as sorting, reduction, and prefix sums.
jetson-inference is a set of libraries and tools for executing optimized deep learning models on embedded GPU hardware. Its primary purpose is to enable real-time computer vision and AI inference at the edge with low latency and high throughput. The project distinguishes itself through high-performance streaming analytics and the ability to execute concurrent AI pipelines on auto-grade silicon. It provides specialized support for multi-sensor stream processing, utilizing zero-copy data transport to load camera frames directly into GPU memory. The codebase covers a broad surface of capabiliti
Provides GPU-accelerated implementations of fundamental data-parallel operations like sort, scan, and reduction.
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
Enables the development of complex parallel algorithms while maintaining strict data consistency.
oneAPI Threading Building Blocks (oneTBB)
Provides parallel versions of common algorithms like for_each, reduce, and sort for data-parallel programming.
Offloads C++17 parallel algorithms from the STL to NVIDIA GPUs without requiring directives or annotations.
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
Provides tutorials on executing standard algorithms in parallel using C++ execution policies.
Thrust هي مكتبة خوارزميات متوازية لـ C++ توفر مجموعة من الواجهات المستوحاة من المكتبة القياسية للتنفيذ على الأجهزة متعددة النوى والمسرعات. تعمل كمكتبة بيانات مسرعة بواسطة CUDA وواجهة برمجة متوازية عامة مصممة لتمكين معالجة البيانات عالية الأداء عبر وحدات معالجة الرسومات (GPUs) ووحدات المعالجة المركزية (CPUs). ينفذ المشروع طبقة تجريد محمولة تسمح بسير عمل الحوسبة غير المتجانسة، مما يتيح تشغيل نفس منطق الخوارزمية الأساسي على مسرعات أجهزة مختلفة. يتم تحقيق ذلك من خلال تصميم سياسة برمجة عامة ونموذج تنفيذ غير محايد للخلفية يقوم بتعيين استدعاءات وظيفية عالية المستوى إلى أجهزة متوازية. تغطي المكتبة مجموعة واسعة من قدرات الحوسبة عالية الأداء، بما في ذلك معالجة البيانات المتوازية، والاختزالات العددية، وإدارة ذاكرة الجهاز. توفر أدوات متخصصة لنقل البيانات بين ذاكرة النظام المضيف وذاكرة الجهاز المنفصلة لتسهيل العمليات واسعة النطاق مثل الفرز والبحث.
Provides parallel versions of C++ Standard Template Library (STL) algorithms optimized for device-side execution.
Thrust هي مكتبة حوسبة غير متجانسة ومكتبة قوالب C++ توفر مجموعة من القوالب عالية المستوى لتنفيذ عمليات البيانات المتوازية. تعمل كمكتبة خوارزميات متوازية مصممة للعمل عبر خلفيات أجهزة مختلفة، بما في ذلك وحدات المعالجة المركزية متعددة الأنوية وأجهزة NVIDIA GPU. يستخدم إطار العمل تنفيذاً يعتمد على ملفات الترويسة (header-only) وواجهة سياسة برمجة عامة لتجريد الاختلافات بين نماذج ذاكرة وتنفيذ الـ CPU والـ GPU. يستخدم تجريد بيانات يعتمد على المكررات (iterators) لتوفير واجهة موحدة للوصول إلى العناصر عبر ذاكرة الوصول العشوائي للمضيف وذاكرة الفيديو للجهاز. تغطي المكتبة قدرات المعالجة المتوازية، بما في ذلك فرز البيانات المتوازي ومعالجة الاختزال التجميعي لحساب القيم عبر مجموعات بيانات كبيرة. تُدار هذه العمليات من خلال مكتبة برمجة متوازية CUDA للحوسبة عالية الأداء على أجهزة GPU.
Provides a comprehensive collection of high-level parallel algorithms for data-parallel operations.
This project is a technical curriculum and set of educational resources focused on parallel programming, high-performance computing, and systems programming. It provides a structured course covering the implementation of parallel algorithms and multithreading techniques for processing large datasets. The project includes a systems programming guide for modern language features, a framework for lock-free concurrency patterns, and a manual for optimizing CPU and GPU performance through assembly analysis and cache management. The material covers hardware performance tuning, the implementation o
Implements fundamental data-parallel operations such as reductions, scans, and matrix multiplication.