Одна из задач при проектировании нейроускорителя — реализация вычислительного тракта для операций с плавающей точкой. Классический скалярный 4–5 стадийный FMA здесь не подходит: требуется параллельное перемножение большого количества пар операндов с последующим сложением в общий аккумулятор.
Для этого применяется техника поздней нормализации и перевода чисел с плавающей точкой в fixed-point представление, что позволяет выполнять точное накопление без промежуточного округления.
В этом посте найдете ссылки на статьи, подробно раскрывающие, как и почему NPU отклоняются от стандарта IEEE-754, как обрабатываются NaN и бесконечности, и как определяется ширина fixed-point представления для различных форматов чисел с плавающей точкой.
1. Exact Dot Product Accumulate Operators
for 8-bit Floating-Point Deep Learning
2. Experimental Analysis of Matrix Multiplication Functional Units
3. Modified Fused Multiply and Add for exact low precision product accumulation
>>Click here to continue<<
