Консорциум Khronos выпустил спецификации Vulkan — версию 1.4.344.

Vulkan продолжает эволюционировать, и очередное обновление спецификации приносит не только технические уточнения, но и новую функциональность, разработанную ключевыми игроками индустрии. На этот раз отличилась команда Valve: инженеры Майк Блюменкранц (Mike Blumenkrantz) и Георг Леманн (Georg Lehmann) представили расширение VK_VALVE_shader_mixed_float_dot_product, которое расширяет возможности шейдеров в области смешанной точности вычислений.

Суть нововведения: смешанная точность для скалярных произведений

Расширение VK_VALVE_shader_mixed_float_dot_product позволяет выполнять операции скалярного произведения (dot product) с использованием входных данных пониженной точности и накоплением результата с потенциально более высокой точностью. Это критически важно для многих современных алгоритмов, включая нейросети, физические симуляции и сложное освещение, где можно пожертвовать точностью входных данных ради производительности, но при этом сохранить точность итогового результата.

Новое расширение Vulkan напрямую зависит от соответствующего расширения для промежуточного представления SPIR-V — SPV_VALVE_mixed_float_dot_product. Вместе они задают правила для компиляторов и драйверов, как обрабатывать такие смешанные инструкции.

Поддерживаемые типы операций

Первоначальная спецификация SPV_VALVE_mixed_float_dot_product описывает поддержку четырёх основных комбинаций типов:

  • Вход: 16-битные float (FP16), 2-компонентный вектор
    • Накопление: 32-битное float (FP32)
    • Накопление: 16-битное float (FP16)
  • Вход: bfloat16, 2-компонентный вектор
    • Накопление: 32-битное float (FP32)
    • Накопление: bfloat16
  • Вход: 8-битные float (FP8), 4-компонентный вектор
    • Накопление: 32-битное float (FP32)

Форматы bfloat16 и FP8 набирают популярность в задачах машинного обучения благодаря своей эффективности, а поддержка смешанных вычислений в Vulkan открывает путь к более тесной интеграции AI-алгоритмов непосредственно в графические конвейеры.

Почему это важно?

  • Для разработчиков игр и движков: Появляется стандартизированный способ эффективного использования низкоточной арифметики там, где это допустимо, без потери качества конечного результата. Это может дать прирост производительности в шейдерах пост-обработки, симуляции частиц и других вычислительных задачах.
  • Для сообщества машинного обучения: Vulkan всё активнее используется не только для графики, но и для вычислительных задач (GPGPU). Поддержка смешанных скалярных произведений позволяет более эффективно реализовывать инференс нейросетей непосредственно на графическом API.
  • Для экосистемы в целом: Это ещё одно доказательство того, что Valve продолжает активно инвестировать в развитие открытых графических стандартов, принося пользу не только своим продуктам (Steam Deck, Proton), но и всему сообществу разработчиков.

Все остальные изменения в спецификации Vulkan 1.4.344, включая исправления и уточнения, можно найти на GitHub-странице проекта. Ожидается, что поддержка нового расширения в ближайшее время появится в драйверах от основных вендоров и в компиляторах шейдеров.

  • Просмотров: 74

Этот веб-сайт использует технические и функциональные файлы cookie. Чтобы зарегистрировать учетную запись, связаться с нами, получить наши продукты или услуги, вы должны принять нашу Политику Конфиденциальности. Нажимая кнопку «Принять» или щелкая любую ссылку на этой странице, вы соглашаетесь на использование файлов cookie и принимаете нашу Политику использования cookie-файлов.