tgoop.com/cpu_design/336
Last Update:
MXDOTP: A RISC-V ISA Extension for Enabling Microscaling (MX) Floating-Point Dot Products
В этой статье представлена реализация dot product с аппаратной поддержкой формата Microscaling (MX) — нового стандартизованного формата, сочетающего простоту реализации для 8-битных чисел и расширенный динамический диапазон благодаря использованию scale-факторов (общих экспонент для блоков элементов
MXDOTP — это расширение ISA для RISC-V, интегрированное в ядро Snitch. Оно позволяет выполнять dot product между двумя 8-элементными FP8-векторами с накоплением в FP32 и применением двух независимых scale-факторов. Для обхода ограничения на количество портов чтения регистрового файла используется механизм Stream Semantic Registers (SSR), что позволяет эффективно подавать четыре операнда за такт. SSR — особенность ядра Snitch, позволяющая передавать потоковые данные напрямую в вычислительные блоки без участия регистрового файла и LSU. Это компромисс между дополнительной сложностью в программной поддержке и выигрышем в доступности данных при минимальной площади.
Исходный код MXDOTP доступен на GitHub репозитории проекта.
Эмуляцию формата MX можно выполнить с помощью MX PyTorch Emulation Library от Microsoft.
Подробнее с форматом можно ознакомиться в спецификации формата или в обзорной статье Николаса Бруни.
p.s. Очень здорово оформлена самая статья. Работа выполнена в рамках европейского проекта NeuroSoC, финансируемого по линии Horizon Europe (Grant Agreement №101070634). По ссылке можно изучить детали проекта: участников, цели, бюджеты, отчётность, документацию и сроки:
https://cordis.europa.eu/project/id/101070634
BY Записки CPU designer'a

Share with your friend now:
tgoop.com/cpu_design/336