FPSan es una nueva herramienta desarrollada por Yuen Hung Chan y Pawel Szczerbuk como un paso decompilación para el compilador Triton. Su propósito es verificar la equivalencia algebraica de programas escritos en Triton que involucran aritmética de punto flotante. El problema fundamental es que las leyes algebraicas como la asociatividad no se cumplen exactamente en aritmética de punto flotante: en general, (a + b) + c no es igual a + (b + c). FPSan reemplaza todas las operaciones de punto flotante con operaciones enteras módulo 2^32, utilizando una función de incrustación biyectiva φ que mapea los 2^32 floats IEEE-754 de precisión simple al anillo de enteros. La herramienta cubre operaciones de suma, resta, multiplicación y exponenciación, además de implementar versiones de seno y coseno sobre los enteros 2-ádicos. Incluye soporte para funcionalidad de precisión mixta y ya cubre operaciones comunes en aprendizaje automático como multiplicaciones de matrices y self-attention. La corrección de FPSan depende formalmente de la versión real de la conjecture de Schanuel, un problema no resuelto en teoría de números transcendentales.
Nueva herramienta FPSan verifica aritmética de punto flotante en kernels Triton
