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

8-битные сети на Эльбрусе, есть ли смысл?

Время на прочтение10 мин
Количество просмотров5.5K
Всего голосов 26: ↑26 и ↓0+26
Комментарии6

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

Хотелось бы сравнения с другими архитектурами. Например, у Интел есть такой AVX-512 VNNI для перемножения 8-bit int матриц. Так он дает где-то до 256 целочисленных операций на ядро за такт. И частота у них раза в 2-3 выше будет.
Пример для Intel c SSE4 был тут, для AVX-512 VNNI все еще проще, потому что это расширение специально под нейронные сети. Можно оценить и сложность на элемент матрицы, и прикинуть время, это не выглядит сложной задачей. В первую очередь мы хотели показать, как привычные методы могут повести себя на конкретном не слишком обычном вычислителе, и насколько важно задуматься об архитектуре процессора перед оптимизацией.

Вопрос: 4 такта на умножение. Я так понимаю канал не блокируется, а просто результаты будут доступны через 4 такта. Я правильно понял?


Эх, молодость, medialib. Напомнило мой код для векторного умножения на некой VLIW архитектуре.

Да, для умножения канал не блокируется, и результаты можно получать на каждом такте, но с задержкой в 4 такта.
Вот про ПЛИС не согласен, на десятых семействах от интела там с плавающей точкой всё более-менее (FP32 выходит жирновато, а вот с FP16 всё вполне себе нормально), DSP блоки там вполне терпимые.
На самом деле да, ПЛИС очень разные. Но выбор платформы для конкретного решения часто ограничен какими-то дополнительными факторами, и не стоит бездумно использовать стандартные решения, без оглядки на оборудование. А оптимизированные fp16 для сеток — это тоже прекрасно.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий