2 repository-uri
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.
Acest proiect servește drept resursă educațională cuprinzătoare pentru învățarea programării paralele și a calculului de înaltă performanță folosind unități de procesare grafică. Oferă îndrumări tehnice privind paradigmele fundamentale necesare pentru a descărca sarcinile intensive din punct de vedere computațional de la un sistem gazdă către acceleratoare hardware specializate. Materialele acoperă metodologiile de bază pentru gestionarea operațiunilor de date-paralele, inclusiv orchestrarea memoriei între spațiile gazdă și dispozitiv și organizarea firelor de execuție în grid-uri și blocuri structurate. Detaliază modelele de execuție necesare pentru a distribui sarcinile de lucru pe mai multe nuclee de procesare, permițând dezvoltatorilor să scaleze eficient aplicațiile intensive în date. Dincolo de implementarea de bază, resursa include practici de diagnosticare pentru analizarea metricilor de execuție și identificarea blocajelor de performanță. Oferă strategii pentru optimizarea execuției kernel-ului și depanarea erorilor logice în cadrul bazelor de cod concurente pentru a asigura un throughput și o eficiență maximă în mediile de calcul accelerate.
Identifies logical errors and performance issues in concurrent code by inspecting execution flow and memory state.