Sobre el proyecto
NVIDIA CUDA Samples es un repositorio oficial de programas de ejemplo que demuestran las características y capacidades del CUDA Toolkit. Las muestras sirven como material educativo y de referencia para desarrolladores que trabajan con GPUs de NVIDIA, cubriendo una amplia gama de temas desde conceptos básicos de CUDA hasta técnicas avanzadas de programación de GPU.
El repositorio está organizado en dos secciones principales: muestras en C++ y muestras en Python. Las muestras en C++ se clasifican en diez grupos: Introducción (conceptos básicos de CUDA y APIs de runtime), Utilidades (consultas de capacidad de dispositivo y mediciones de ancho de banda), Conceptos y Técnicas (enfoques comunes de resolución de problemas), Características de CUDA (Cooperative Groups, Dynamic Parallelism, CUDA Graphs), Bibliotecas de CUDA (NPP, NVJPEG, cuBLAS, cuFFT, cuSPARSE, cuSOLVER, cuRAND), Dominio Específico (Gráficos, Finanzas, Procesamiento de Imágenes), Rendimiento (técnicas de optimización), libNVVM (uso de IR de NVVM), Plataforma Específica (Tegra, cuDLA, NvMedia, NvSci, OpenGL ES) y CUDA Tile (CUDA Tile C++).
Las muestras en Python usan CUDA Python con cuda.core para dispositivos, programas, lanzamientos y gestión de memoria, junto con interoperabilidad con NumPy, CuPy o frameworks. Están organizadas en Primeros Pasos, Conceptos Centrales, Interoperabilidad con Frameworks (PyTorch y TensorFlow), Computación Distribuida y Utilidades.
El sistema de compilación usa CMake y soporta Linux, Windows, compilación cruzada para Tegra, QNX y plataformas QNX Safety. Las muestras pueden compilarse para todas las arquitecturas de GPU soportadas o dirigirse a arquitecturas específicas. El repositorio incluye un script de ejecución de pruebas (run_tests.py) que puede ejecutar todas las muestras como verificación de sanidad, con argumentos configurables, ejecución paralela y opciones de omisión para muestras que requieren pantallas gráficas.
Algunas muestras tienen dependencias de terceros, incluyendo FreeImage, MPI, DirectX y DirectX 12. El sistema de instalación organiza las muestras compiladas en una estructura de directorios basada en la arquitectura objetivo, el sistema operativo y el tipo de compilación. Las muestras no están destinadas como un conjunto de validación para CUDA, sino que sirven como demostraciones prácticas de patrones y técnicas de programación de GPU.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.