API de fragmentos de WMMA
Cargar, ejecutar mma_sync y guardar fragmentos
API de fragmentos de WMMA es una lección gratuita de CUDA Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de CUDA Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de CUDA Academy incluye 4 lecciones en total.
La API WMMA
Para programar directamente los Tensor Cores, utilice WMMA, la API de multiplicación de matrices con acumulación por warp del espacio de nombres nvcuda::wmma. 🧩
Coopera un warp completo
WMMA funciona a nivel de warp: los 32 hilos de un warp trabajan juntos en un bloque. Debe pensar en bloques, no en hilos individuales.
Conozca el fragmento
Un fragmento es el tipo de datos de WMMA que contiene la parte de un warp de un bloque de matriz. Cada hilo posee internamente algunos de sus elementos.
Tres funciones de los fragmentos
Declare fragmentos etiquetados como matrix_a, matrix_b o accumulator. La etiqueta indica a WMMA cómo participa el bloque en la multiplicación con acumulación.
Las formas de los bloques son fijas
Los fragmentos utilizan tamaños de bloque establecidos, como 16 por 16 por 16. Elija una forma compatible; el hardware solo acepta esas combinaciones.
Paso 1: cargar
Primero, llame a load_matrix_sync para transferir un bloque de la memoria a un fragmento. Esta carga distribuye los datos entre el warp automáticamente.
wmma::load_matrix_sync(a_frag, ptr, ldm);Paso 2: borrar el acumulador
Antes de sumar, ponga a cero el bloque de resultados con fill_fragment. Un acumulador limpio garantiza que las sumas comiencen desde un valor conocido.
wmma::fill_fragment(c_frag, 0.0f);Paso 3: multiplicar y acumular
La llamada principal es mma_sync. Ejecuta D = A por B más C en los fragmentos cargados utilizando directamente los Tensor Cores.
wmma::mma_sync(c_frag, a_frag, b_frag, c_frag);Paso 4: almacenar
Por último, store_matrix_sync escribe el fragmento acumulador de nuevo en la memoria. Este almacenamiento reúne las partes de cada hilo en un único bloque.
wmma::store_matrix_sync(out, c_frag, ldm, layout);Sync significa sincronización del warp
El sufijo _sync recuerda que cada llamada de WMMA es sincrónica respecto al warp. Los 32 lanes deben alcanzarla juntos o el comportamiento será indefinido.
Disposición y dimensión líder
Las cargas y los almacenamientos necesitan la dimensión líder, el salto entre filas, además de una disposición por filas o por columnas para leer correctamente la memoria.
Comprobación rápida
¿Qué llamada de WMMA ejecuta realmente la multiplicación de matrices con acumulación en los Tensor Cores?
Resumen
Ha recorrido el flujo de WMMA: declarar un fragmento, cargar los bloques, borrar el acumulador, llamar a mma_sync y, después, almacenar. Cada paso es sincrónico respecto al warp. 🙌
Aprende C++ con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 30
- Lecciones
- 120
Preguntas frecuentes
¿La lección «API de fragmentos de WMMA» es gratis?
Sí — el texto completo de «API de fragmentos de WMMA» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de CUDA Academy, actualiza a CoddyKit PRO. El curso de CUDA Academy incluye 4 lecciones en total.
¿Qué aprenderé en «API de fragmentos de WMMA»?
Cargar, ejecutar mma_sync y guardar fragmentos Practicas CUDA Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar CUDA Academy?
No se requiere experiencia previa. CUDA Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «API de fragmentos de WMMA»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de CUDA Academy?
Sí. Cada lección de CUDA Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Qué calculan los Tensor Cores
- Precisión mixta: FP16, BF16 y TF32
- API de fragmentos de WMMA
- Compromisos de estabilidad numérica