Cuestionario vinculado a una guía · Medio Nivel
Cuestionario sobre el lenguaje Triton para kernels de GPU personalizados
Revise el modelo de kernel a nivel de bloque de Triton, el manejo de límites enmascarados, la configuración de lanzamiento y la necesidad de una validación del rendimiento medido.
Pregunta 1 de 8
¿Cómo describe Triton gran parte del trabajo de la GPU en comparación con un kernel CUDA hilo por hilo?
Vista previa de cada pregunta8 preguntas
Las respuestas y explicaciones aparecen a medida que realiza el cuestionario.
- ¿Cómo describe Triton gran parte del trabajo de la GPU en comparación con un kernel CUDA hilo por hilo?
- Como operaciones sobre bloques lógicos de elementos.
- Como una única instrucción de CPU para el tensor completo
- Como un núcleo por valor individual
- Como consulta SQL sobre la memoria de la GPU
- ¿Por qué los núcleos vectoriales enmascaran su bloque final?
- Para forzar que la última ficha lance menos deformaciones
- Para evitar cargas o almacenes más allá de la extensión tensor válida
- Para rellenar el tensor subyacente hasta que su longitud sea divisible por el tamaño del bloque
- Para omitir toda la instancia final del programa cuando queda un bloque parcial
- ¿Qué identifica comúnmente tl.program_id?
- El ordinal del dispositivo GPU que compiló la función.
- El número total de deformaciones en una instancia de programa.
- El índice de la instancia del programa lógico activo en la cuadrícula de lanzamiento.
- El desplazamiento del elemento producido por tl.arange dentro de esa instancia
- ¿Por qué un núcleo de matriz en mosaico puede reducir el tráfico de memoria?
- Reduce el número matemático de elementos de salida.
- Elimina todo acceso a la memoria global.
- Hace que todas las matrices sean contiguas automáticamente.
- Reutiliza valores cargados en múltiples cálculos.
- ¿Qué debería hacer un punto de referencia con el tiempo de compilación JIT?
- Cuente la compilación solo como ejecución del dispositivo
- Separe la compilación de primera llamada del tiempo de ejecución del kernel de estado estable
- Excluir todo calentamiento y sincronización incondicionalmente
- Supongamos que cada forma usa el mismo binario compilado.
- ¿Por qué un kernel Triton podría ser más lento que la operación de una biblioteca?
- Los kernels personalizados no pueden utilizar el mosaico de memoria
- Triton siempre se ejecuta en una CPU
- Es posible que la biblioteca ya utilice núcleos optimizados y que la sobrecarga de lanzamiento pueda dominar
- Los núcleos de GPU nunca se benefician de la fusión
- ¿Qué puede cambiar los resultados numéricos entre Triton y una implementación de referencia?
- El número de comentarios de código.
- El pedido de Python solo importa
- El nombre del archivo del tensor.
- Orden y precisión de las operaciones de punto flotante
- ¿Cuándo es más defendible un kernel Triton personalizado?
- La elaboración de perfiles identifica un cuello de botella y una operación especializada puede justificar el mantenimiento.
- Antes de medir cualquier línea de base
- Siempre que un tensor contenga más de un valor
- Cuando las pruebas de corrección no están disponibles