| 1. Ocupancia | Análisis profundo de ocupancia con la calculadora de ocupancia de NVIDIA y propuesta de ajuste de hilos | Cálculo correcto de ocupancia teórica y alcanzada | Menciona la ocupancia sin contrastar teórica vs lograda | Omite el análisis de ocupancia |
| 2. Recursos | Identifica exactamente el cuello de botella (registros vs shared memory) y propone directiva __launch_bounds__ | Identifica el recurso limitante principal | Confusión entre límites de bloque y límites de SM | Desconoce los factores limitantes de hardware |
| 3. Coalescing | Demuestra matemáticamente el impacto del alineamiento y acceso contiguo en el ancho de banda | Explica el coalescing y su beneficio en el kernel evaluado | Mención teórica sin respaldo de métricas de perfilado | Patrones de acceso dispersos sin justificación |
| 4. Divergencia | Mide y cuantifica la divergencia en branches con sugerencias para homogeneizar el flujo | Detecta divergencia y la minimiza en el código | Señala la divergencia pero sin cuantificar su coste | Código con alta divergencia no detectada |
| 5. Presentación | Capturas nítidas del perfilador, tablas comparativas y conclusiones de alto nivel ingenieril | Reporte completo y ordenado con gráficas claras | Reporte incompleto con capturas ilegibles | Sin capturas ni datos del perfilador |