Verificación
Personalmente, no yo, ¡pero uno de mis profesores, Andrew DeOrio, publicó un artículo que utiliza el aprendizaje automático para realizar la detección de anomalías para el diagnóstico de errores posteriores al silicio!
En este artículo, utiliza el aprendizaje no supervisado (agrupamiento) para encontrar errores difíciles de encontrar donde las ejecuciones múltiples de la misma prueba no producen el mismo resultado:
- ¿Cuál es el mejor algoritmo para la optimización convexa sin restricciones de propósito general?
- ¿Necesito tener el conocimiento de las estructuras de datos y el algoritmo, antes de comenzar a practicar en spoj, codchef, topcoder, etc.? Sé un poco de C ++.
- ¿Puede alguien ayudarme a preparar un plan para preparar estructuras de datos y algoritmos en un mes de tiempo desde el punto de vista de las entrevistas?
- En lenguajes como C y C ++, ¿por qué las matrices tienen que ser de tamaño constante?
- ¿Cuál es el proceso de ejecución exacto de imprimir permutaciones de cadena de forma recursiva?
Luego identifica el ciclo de error aproximado y crea un conjunto de señales de causa raíz candidatas.
¡También he visto documentos que detallan la estimación del costo de verificación formal utilizando técnicas de regresión!
Diseño
Aquí hay algunos ejemplos de tareas de diseño que ya se usan en la práctica:
- Aprender las mejores configuraciones de herramientas de software para mejorar los resultados de la optimización de chips.
- Aprender a predecir lugares probables en un chip que pueden experimentar defectos de fabricación.
- Predecir la carga en una CPU para reducir dinámicamente el voltaje y ahorrar energía.