Контроллер RADV, реализация Vulkan с открытым исходным кодом для GPU Radeon, добавил поддержку расширения VK_KHR_shader_fma. Это расширение позволяет выполнять операции FMA (fused multiply-add) с правильным округлением, обеспечивая более высокую точность вычислений без увеличения вычислительной нагрузки. Это важное достижение для машинного обучения и научных вычислений, где каждый десятичный знак имеет значение.
Математическая точность без потери производительности 🎯
Расширение VK_KHR_shader_fma включает инструкции FMA, которые объединяют умножение и сложение в одну операцию с точным округлением. Это позволяет избежать накопления ошибок, характерного для отдельных операций. RADV уже реализует его для Radeon, а NVK, контроллер для NVIDIA, также включил его, улучшая производительность OpenCL на этих GPU. Оба улучшения появятся в Mesa 26.2, что позволит разработчикам ИИ и научного моделирования уточнять свои вычисления без изменения аппаратного обеспечения.
Теперь у ваших десятичных знаков тоже есть права 😄
Наконец-то числа с плавающей запятой перестанут чувствовать себя ущемленными. С FMA каждое умножение и сложение ладят друг с другом, без половинчатых округлений, которые портят ваши симуляции квантовой физики. И, кстати, то, что NVK тоже присоединяется к вечеринке, похоже на то, как Linux и NVIDIA делят одну скатерть. Однако не ждите чудес: если ваш код уже является катастрофой, даже FMA его не спасет. Но, по крайней мере, теперь ошибки будут вашей виной, а не контроллера.