Записки CPU designer'a – Telegram
Записки CPU designer'a
2.93K subscribers
195 photos
2 videos
5 files
292 links
Всем привет. Меня зовут Николай.
Работаю RTL design инженером, амбассадором в RISC-V International.
В свободное время пишу о магии процессоростроения и цифровом дизайне.
Download Telegram
70% Size, 100% Accuracy:
Lossless LLM Compression for Efficient GPU
Inference via Dynamic-Length Float


Новый день - новый формат флота. В этот раз с динамической экспонентой.

В статье представлен метод Dynamic-Length Float (DFloat11) — фреймворк сжатия весов больших языковых моделей без потери точности, который позволяет снизить объём памяти и при этом сохраняет совместимость с эффективным выполнением инференса на GPU.
Эксперименты на популярных моделях, таких как Llama-3.1, Qwen-2.5 и Gemma-3, подтвердили эффективность подхода, который значительно повышает пропускную способность и окно контекста.

Что-то похоже было у Tesla Dojo Technology - Configurable Float8 (CFloat8) пару лет назад.

CFloat:
Делит фиксированные 8 бит между мантиссой и экспонентой, а также использует настраиваемый сдвиг экспоненты, но не использует энтропийное кодирование.

DFloat11:
Сжимает данные за счёт энтропийного кодирования экспоненты, что позволяет уменьшить общий размер хранения без потери точности - не изменяет ширину поля мантиссы.

https://arxiv.org/pdf/2504.11651

p.s. А мой любимый Posit всё так и не находит и скорее всего не найдет применения в современных задачах для AI/ML👋
Please open Telegram to view this post
VIEW IN TELEGRAM
👀13👍6😁2
16, 8, and 4-bit Floating Point Formats – How Does it Work?

Классная статейка про работу с low-precision флотами.
Также упоминаются более продвинутые методы, применяемые в больших моделях, вплоть до 2-битного и тернарного представления весов.
👍22
Понедельник день тяжелый 😠
Please open Telegram to view this post
VIEW IN TELEGRAM
😁16👍4
An alternative design would have been to first convert from FP32 to BF16, rounding to odd, then use the instructions defined in the previous section to convert to OFP8. However, FP32 to OFP8 conversion is common enough to justify the direct conversion.


Интересный программный хак упомянули в сабсете векторных RISC-V инструкций для поддержки BF16 и операций преобразования для типов данных OFP8.

Чтобы избежать необходимости аппаратной реализации quad‑narrowing при конверсии FP32 в OFP8, можно использовать следующую последовательность из двух шагов, при этом сохраняя высокую точность операций конверсии:

1) FP32 → BF16 с обязательным режимом округления rounding to odd.

2) BF16 → OFP8 с требуемым режимом округления.

Дополнительные материалы по теме:

Черновик спецификации Zvfbfa доступен на GitHub.

Arm A64 Instruction Set Architecture: FCVTXN, FCVTXN2.
👍83
Открытое RISC-V ядро Sargantana, разработанное инженерами из группы Laboratory for Open Computer Architecture (LOCA) при Barcelona Supercomputing Center (BSC), получило масштабное обновление:

🎉 RISC-V Vector Extension (RVV) версии 1.0 (пока без поддержки инструкций с конфигурации длины вектора, для LMUL > 1 и без векторных инструкций для работы с плавающей точкой).

Подробнее ознакомиться с обновлением можно в исходниках проекта:

Исходный код ядра Sargantana
Исходный код VPU
👍163🔥1
Basilisk: A 34 mm² End-to-End Open-Source
64-bit Linux-Capable RISC-V SoC in 130nm BiCMOS


Linux-Capable процессор полностью спроектированный при помощи открытых EDA инструментов.

Для верификации, вероятно, всё ещё применялись коммерческие инструменты, однако маршрут от RTL до GDSII полностью построен на инструментах с открытым исходным кодом.

Результаты синтеза, техпроцесс IHP130:
At the nominal 1.2 V
voltage, Basilisk reaches a clock frequency of up to 62 MHz.
At 1.64 V, we reach Basilisk’s peak frequency of 102 MHz.


Из интересного — можно посмотреть ASIC-оптимизированную имплементацию Fused multiply-add модуля, написанного не через "+" и "*", а через CSA tree. Так что если есть желание покопаться в low-level bit-hacking и посмотреть, что же такое Wallace tree, Booth encoding, Sklansky parallel-prefix adder — welcome.
21🔥129👍2
Сложно переоценить влияние компании Intel на современную полупроводниковую индустрию и подходы, которые сегодня применяются в дизайн-центрах по всему миру. Многие из этих подходов были впервые внедрены именно в Intel. Одной из таких важных концепций является «War Room».

Цена ошибки при выпуске микросхем крайне высока, но не менее критичен и срыв сроков. Очерёдность tape-out (финальной передачи дизайна микросхемы на производство) планируется не только условиями контракта, но и загруженностью фабрики. Поэтому перенести дату производства, если не невозможно, то крайне сложно.

В процессе подготовки микросхемы задействованы команды логического проектирования, верификации и физического дизайна. И чем ближе дата того самого RTL freeze (момента, после которого описание аппаратуры нельзя изменять), тем выше накал страстей при взаимодействии этих команд. В определённый момент уже нет возможности вносить исправления в чип, так как команде физического дизайнга необходимо иметь стабильное и неизменяемое описание аппаратуры.

Именно на этом этапе возникают критически важные вопросы: какой баг является действительно важным и требует немедленного исправления, и как его устранение повлияет на график подготовки продукта к выпуску? Для быстрого анализа таких ситуаций и оперативного принятия решений вводится понятие War Room.

Специалисты в полупроводниковой отрасли, знакомые с терминами tape-out и RTL freeze, отлично понимают важность и необходимость такого подхода.

Подробнее о применении концепции War Room и других интересных аспектах разработки процессоров можно прочитать в книге «The Pentium Chronicles».
19👍13👀8🔥2😁1
мы?
😁5👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
61
В канале теперь работает функция личных сообщений админу каналу то есть мне, так что если у вас есть какие-либо вопросы/предложения, которые вы хотите задать не в комментариях, а в личных сообщениях - welcome

p.s. работает только на последней версии телеграма, на телефоне у меня апдейт уже появился, а на ПК еще не завезли😑
Please open Telegram to view this post
VIEW IN TELEGRAM
16👍4🎉3👀1
А чтобы не скучали, вот вам пейпер на 40 страниц с исчерпывающим обзором современных подходов к проектированию систолических массивов.

A Survey of Design and Optimization for Systolic Array-based DNN Accelerators
👍2712👀8🔥1😁1
Если всё ещё не поняли, что такое чиплеты, почему о них все говорят и зачем они нужны, — вот классная статья на эту тему👀

Chiplets and the Future of System Design
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20125🔥4
Пока в интернете обсуждают WWDC25 и Liquid Glass, напоминаю как выглядят EDA тулы у проектировщиков процессоров в 2025-м году
😁6415👍7
Эту недельку придется потерпеть вам душные посты про матрицы, флоты, dot product и fma.
Но обещаю потом все лето не душнить про computer arithmetic (нет🗿)
14🎉6👍54🔥2
Одна из задач при проектировании нейроускорителя — реализация вычислительного тракта для операций с плавающей точкой. Классический скалярный 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
👍2311🔥4👀3
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
13👍8
Смотрите, что мне принесла лента LinkedIn.

Книга посвящена изучению процесса проектирования интегральных схем с использованием open-source инструментов OpenLane и Caravel. В ней описывается полный путь от уровня Register Transfer Level (RTL) до финального представления чипа в формате GDSII.

Книга (судя по описанию и оглавлению) объясняет весь процесс tape-out, делая его понятным и доступным для студентов, исследователей и инженеров.

Ссылка на книгу
👍40🔥14👀32
На вашем экране один из смертных грехов разработчика/верификатора аппаратуры
Please open Telegram to view this post
VIEW IN TELEGRAM
😁28👀54
Вышла новая книга по архитектуре процессорных систем от моих друзей и коллег из МИЭТ и BSC, которых вы можете знать по YouTube-каналу digital_machines и одноимённому курсу на GitHub!

Это пособие идеально подойдет тем, кто хочет освоить полный стек проектирования процессорных систем, включая аппаратную и программную составляющие.

Книга: «Архитектуры процессорных систем. Практический курс» (ISBN: 978-5-94836-714-9).
👍52🔥26👀1