Повышение производительности программ для процессоров архитектуры 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 процессоров.
Оргкомитет семинара
- Сопредседатель – Мееров И. (ННГУ)
- Сопредседатель – Максимов Е. (YADRO, Альянс RISC-V)
- Волокитин В. (ННГУ)
- Дашонок В. (YADRO)
- Козинов Е. (ННГУ)
- Кустикова В. (ННГУ)
- Линев А. (ННГУ)
- Сысоев А. (ННГУ)
Организаторы семинара, представляющие ННГУ, благодарят программу академического лидерства Приоритеты-2030 за поддержку.