Как стать автором
Обновить

Заглянем в хрустальный шар: как продвигается разработка стандартных матричных расширений RISC-V

Время на прочтение10 мин
Количество просмотров3.9K
Всего голосов 39: ↑38 и ↓1+50
Комментарии9

Комментарии 9

со временем в RISC-V будет много возможностей

Это расширение, а значит его поддержка не обязана присутствовать в процессоре. Будет как с AVX-512 у Интела, что есть лишь на самых дорогих моделях (топовые i9 и серверные).

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

Могу привести пример достаточно бюджетной платы Banana Pi BPI-F3 с 8-ядерным процессором SpacemiT K1 RISC-V (ближе к концу предыдущего текста говорилось о ней): все 8 ядер с векторным расширением RISC-V RVV 1.0, половина ядер с кастомным матричным раcширением RISC-V SpacemiT IME.

умная клавиатура

— Эй, эй! Алё! стоп! Вы что это? И конфеты за меня есть будете?

— Ага!

Я предпочитаю чтобы клавиатура оставалась дурной.

Как пример использования:

https://t.me/iiotandembeddedgroup/477

Спасибо за интересную информацию! Не знала про использование в космических миссиях. Это решение на базе SiFive x280 c кастомным интегрированным матричным расширением RISC-V, в конце предыдущего текста был его обзор.

Если T-Head добавит в свое расширение поэлементные операции над матрицами (+, -, *, /) и поддержку int и float типов, то они закроют большую часть возможностей RVV. Не рассматривается ли вариант слияния этих расширений в одно или разделения функций?

Ускоряют ли матричные расширения популярные сейчас модели с квантизацией?

На сколько я понимаю более сложные функции вроде softmax, maxpooling и sigmiod, все равно реализуются циклом элементам или для них тоже если какие-то оптимизации?

Они уже добавили поэлементные для int32 и int64, но пока это все на qemu, нельзя оценить, что будет выгоднее. О слиянии расширений в настоящее время ничего на глаза не попадалось.

По моделям с квантизацией: дополнила заключение обзора сводной таблицей по существующим матричным расширениям -- поддержка int8 у всех заявлена.

Про активационные функции (softmax, sigmoid) -- используется векторизация, про max-pooling (сжатие) -- планируется в следующих версиях независимого матричного расширения T-Head (в статье говорится, что со временем его планируют развить до полноценного AI Matrix++ Extension, поддерживающего широкий спектр AI-специфичных матричных операция).

зачем платить за то, что тебе не нужно? ведь в этом основная идея riscv. есть огромный спектр задач, для которых rvv в самый раз. в конце концов никто не мешает миксовать "легкие" и "тяжелые" ядра.

да, поэтому вряд ли будет слияние векторного и матричного расширения в одно

Зарегистрируйтесь на Хабре, чтобы оставить комментарий