Повышение производительности программ для процессоров архитектуры RISC-V

Вторник, 24 сентября 2024 г., 14:30-16:30
Аудитория Е317

Ведущий: Мееров Иосиф Борисович

Программа семинара:

1. Мееров И. (ННГУ). Открытие и анонс докладов (5 мин.)

2. Пузикова В. (YADRO). RISC-V на международных суперкомпьютерных конференциях: доклады, новинки, тренды (20 мин.) [PDF]

Несмотря на то, что архитектура RISC-V достаточно молодая, она активно развивается в направлении высокопроизводительных вычислений: портируются и оптимизируются высокопроизводительные библиотеки, фреймворки гетерогенных вычислений, появляются высокопроизводительные серверы и специализированные ускорители. В международном консорциуме RISC-V уже несколько лет активно работает HPC Special Interest Group, которую возглавляют ученые из Barcelona Supercomputing Center и Edinburgh Parallel Computing Center. Чуть больше года эта группа активно занимается организацией RISC-V HPC воркшопов на международных суперкомпьютерных конференциях. Рассмотрим наиболее интересные доклады, представленные в этом году на конференциях HiPEAC’24, ISC’24, HPC Asia и др., а также поговорим о наиболее интересных платах, серверах и ускорителях на базе RISC-V.

3. Зайцева К. (YADRO). Как ускорить Eigen на RISC-V (20 мин.) [PDF]

Eigen – высокопроизводительная С++ библиотека линейной алгебры, которая используется в таких популярных фреймворках как OpenCV и TensorFlow(Lite) и содержит низкоуровневые оптимизации для многих микроархитектур (SIMD SSE 2/3/4, AVX, AVX2, FMA, AVX512, ARM NEON, PowerPC AltiVec/VSX, ZVector, а также MIPS MSA). После того, как нам удалось запустить Eigen на новой открытой архитектуре RISC-V, возник вопрос о добавлении в библиотеку оптимизаций под две версии векторного расширения RISC-V, RVV 0.7.1 и RVV 1.0. В докладе будет рассказано о том, как шаблонная структура Eigen позволила с минимальными трудозатратами добавить эти оптимизации. Проанализируем ускорение, получаемое от использования RVV на таких платах, как Lichee Pi 4A, Kendryte k230 и Banana Pi (BPI-F3), а также сравним производительность Eigen на RISC-V с другой, не менее популярной, библиотекой линейной алгебры, OpenBLAS.

4. Козинов Е., Васильев Е., Горшков А., Кустикова В., Маклаев А., Волокитин В., Мееров И. (ННГУ) Векторизация градиентного бустинга деревьев решений в библиотеке CatBoost для процессоров RISC-V (20 мин) [PDF]

Эффективное использование процессоров архитектуры RISC-V требует оптимизации программного обеспечения для целевой платформы. В этом докладе мы рассказываем об опыте оптимизации для RISC-V библиотеки CatBoost, одной из широко используемых реализаций градиентного бустинга деревьев решений. Библиотека CatBoost глубоко оптимизирована для центральных и графических процессоров обычных архитектура. Однако для эффективного использования ресурсов процессоров RISC-V с векторным расширением RVV 0.7.1 требуется векторизация основных вычислительно-трудоемких этапов алгоритма, что пока невозможно сделать автоматически с помощью компилятора C++. В докладе сообщается о нашем опыте сравнительного анализа CatBoost на Lichee Pi 4A, плате на базе RISC-V, и демонстрируется, как ручная векторизация основных циклов при помощи интринсиков может ускорить использование деревьев решений в несколько раз в зависимости от конкретного набора данных. Разработанные коды доступны на GitHub. Доклад подготовлен по мотивам публикации и выступления на конференции PPAM (сентябрь, 2024г.). Подробнее познакомиться с результатами можно по следующей ссылке: https://arxiv.org/abs/2405.11062

5. Пирова А., Мееров И. Анализ производительности прямого решателя СЛАУ с разреженной матрицей на мини-кластере с процессорами архитектуры RISC-V (20 мин)

Затраты времени и памяти при решении систем линейных алгебраических уравнений (СЛАУ) с разреженной матрицей существенно зависят от числа ненулевых элементов, возникающих в процессе факторизации матрицы системы. В работе рассматривается разработанный авторами программный комплекс DMORSy, решающий задачу нахождения перестановки, минимизирующей число ненулевых элементов фактора разреженной матрицы, а также его аналог – библиотека ParMETIS. В работе изучается влияние перестановок, полученных DMORSy и ParMETIS, на полное время решения СЛАУ в широко распространенном открытом решателе MUMPS. В отличие от аналогичных работ, анализ проводится на мини-кластере, построенном на базе устройств Lichee Pi 4A новой открытой архитектуры RISC-V.

6. Алпутов И., Панова Е., Волокитин В., Мееров И. Об опыте оптимизации вычисления формулы Блэка-Шоулза под архитектуру RISC-V (15 мин) [PDF]

Вычисление формулы Блэка-Шоулза для определения справедливой цены опциона европейского типа – один из основных финансовых бенчмарков, широко применяемых при анализе производительности новых процессоров и ускорителей. В докладе рассказывается об опыте пошаговой оптимизации программы, основных приемах оптимизации и их вкладе в достигнутую производительность на многоядерном процессоре архитектуры RISC-V.

7. Мухин И., Родимков Ю., Васильев Е., Волокитин В., Сидорова А., Козинов Е., Мееров, И., Кустикова В. Бенчмаркинг моделей глубокого обучения на процессорах RISC-V (15 мин) [PDF]

Методы глубокого обучения широко используются для решения задач в различных областях: от повседневных задач на смартфонах до сложных научных и инженерных симуляций. Большая часть времени, затрачиваемого на подготовку глубоких моделей, тратится на разметку наборов данных и обучение нейронных сетей, но производительность вывода оказывает существенное влияние на потенциал использования этих моделей в различных сценариях. Поэтому изучение этого аспекта имеет большое значение. В этой статье мы исследуем производительность вывода моделей глубокого обучения на процессорах RISC-V. В частности, мы сравниваем возможности трех фреймворков с точки зрения оптимизации глубокого вывода моделей на этих процессорах: OpenVINO, TensorFlow Lite и Apache TVM. Исследование показывает, что TensorFlow Lite демонстрирует лучшую производительность вывода на процессорах RISC-V для нескольких современных глубоких моделей. Латентность для моделей DenseNet-121 и GoogleNet-v4 на Lichee Pi 4A для одного входного изображения составляет 0.52 и 2.49 секунды соответственно. TensorFlow Lite превосходит TVM на DenseNet-121 и GoogleNet-v4 в среднем в 2.69 и 2.47 раза соответственно. Инструментарий OpenVINO демонстрирует отличную производительность на устройствах x86, но существенно уступает на RISC-V из-за отсутствия специфичных для RISC-V оптимизаций для основных вычислительных ядер.

8. Мееров И., Линев А. Обсуждение результатов, внедрение в учебный процесс в ННГУ, заключительные положения (5 мин)


Около 12 лет назад в Калифорнийском университете в Беркли был представлен проект новой, основанной на концепции RISC (Reduced Instruction Set Computer), открытой и расширяемой архитектуры RISC-V. Всего за одно десятилетие разработчикам микропроцессоров и программного обеспечения удалось добиться значительных успехов. Доступные на сегодняшний день многоядерные устройства с наборами инструкций SIMD на базе архитектуры RISC-V пока еще не могут соперничать по производительности с ведущими CPU традиционных архитектур x86 и ARM, но темпы развития позволяют ожидать реальной конкуренции в ближайшие годы. Показателен интерес к данной архитектуре со стороны лидеров индустрии и академического сообщества.

В рамках семинара организаторы совместно с коллегами из ИТ-компаний расскажут об архитектуре RISC-V, имеющемся стеке программного обеспечения и личном опыте сравнения, анализа и оптимизации производительности программ для доступных сейчас RISC-V процессоров.

Оргкомитет семинара

  1. Сопредседатель – Мееров И. (ННГУ)
  2. Сопредседатель – Максимов Е. (YADRO, Альянс RISC-V)
  3. Волокитин В. (ННГУ)
  4. Дашонок В. (YADRO)
  5. Козинов Е. (ННГУ)
  6. Кустикова В. (ННГУ)
  7. Линев А. (ННГУ)
  8. Сысоев А. (ННГУ)

Организаторы семинара, представляющие ННГУ, благодарят программу академического лидерства Приоритеты-2030 за поддержку.