2 dépôts
Tools for inspecting and troubleshooting the state of programs running across multiple parallel lanes or nodes.
Distinct from Runtime Debugging: Specifically addresses the complexity of SPMD/parallel execution rather than general sequential runtime debugging.
Explore 2 awesome GitHub repositories matching development tools & productivity · Parallel Execution Debugging. Refine with filters or upvote what's useful.
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
Supports the use of standard debugging tools to inspect SPMD executions across distributed compute nodes.
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é.
Identifies logical errors and performance issues in concurrent code by inspecting execution flow and memory state.