2 repositorios
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.
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.
Identifies logical errors and performance issues in concurrent code by inspecting execution flow and memory state.