С 2 по 8 февраля пройдет Зимняя школа «Программирование для RISC-V» — недельный интенсив от YADRO и ННГУ им. Н.И. Лобачевского. Программа состоит из двух частей: онлайн-лектория и очной проектной работы.
На бесплатных онлайн-лекциях все желающие познакомятся с основами разработки на основе открытой архитектуры RISC-V — перспективной технологии, предназначенной для создания процессоров, микроконтроллеров и разработки ПО. Лекции позволят вам выстроить полноценное представление об архитектуре и ее особенностях: вы начнете с азов, а закончите изучением векторных расширений RISC-V и ее возможностей для высокопроизводительных вычислений. Информация подойдет и новичкам в теме, и тем, кто знает теорию и хочет делать первые практические шаги в разработке под новую архитектуру.
А студенты очной формы обучения смогут решить реальную задачу, связанную с RISC-V, под руководством преподавателей Университета Лобачевского и разработчиков YADRO на базе вуза в Нижнем Новгороде.
Подробнее о лекциях и проектах, а также о том, как стать участником школы, читайте под катом.
Онлайн-лекторий для практикующих разработчиков и студентов технических специальностей
2, 3 и 5 февраля преподаватели ННГУ им. Н.И. Лобачевского и инженеры YADRO проведут лекции об особенностях разработки и оптимизации ПО и устройстве ЭВМ для архитектуры RISC-V. Их может посетить любой желающий, количество мест на лекциях не ограничено.
Лекторы — практикующие разработчики и научные сотрудники, которые изучают RISC-V и работают с архитектурой в реальных инженерных задачах: пишут ПО под процессоры, изучают и развивают инструменты для организации высокопроизводительных вычислений на ней, «совмещают» AI-решения с RISC-V.
RISC-V — новая, но быстро набирающая популярность архитектура. Пройдя дорогостоящую адаптацию к ARM, индустрия обросла набором инструментов по развертыванию сервисов на новых архитектурах. Поэтому скорость появления нового софта под RISC-V сильно опережает его возможности. В ближайшие годы мы будем наблюдать стойкий рост интереса к открытой архитектуре со стороны компаний в России и за рубежом. И знание, как с ней работать, может стать отличным конкурентным преимуществом любого разработчика и инженера. — Дмитрий Куртаев, старший инженер по разработке ПО искусственного интеллекта в YADRO, один из организаторов школы
Расписание и темы лекций
2 февраля, пятница
Архитектуры ЭВМ. Механизмы, влияющие на производительность.
Введение в масштабируемую архитектуру RISC-V.
Параллельное программирование в системах с общей памятью.
3 февраля, суббота
Введение в оптимизацию программ: основы, метрики, модели, примеры.
Векторизация. Векторные расширения RISC-V.
Оптимизации для архитектуры RISC-V в компиляторе clang.
Введение в оптимизацию программ для процессоров RISC-V.
5 февраля, понедельник
Высокопроизводительные вычисления на RISC-V. Настоящее и будущее.
Каждая лекция длится полтора часа. Чтобы присоединиться к лекторию, зарегистрируйтесь на сайте, а мы отправим ссылку на трансляцию и программу школы. Вы сможете посмотреть выступления в записи — все материалы пришлем на указанный при регистрации email.
Практическая работа для студентов очной формы обучения
Обратите внимание: этот блок доступен только для студентов-очников, которые смогут присутствовать в Нижнем Новгороде на время интенсива — с 2 по 8 февраля.
Проектная работа будет проходить в ННГУ им. Н.И. Лобачевского офлайн, количество мест в группах ограничено, поэтому участники пройдут небольшой отбор.
Как попасть на проект:
зарегистрироваться на сайте,
пройти короткий онлайн-тест, который придет вам на почту 26 января,
отправить ответы до 29 января включительно.
Результаты отбора придут вам на почту до 1 февраля.
Участникам проектов мы рекомендуем прослушать все лекции — эта информация пригодится для решения задач.
Темы проектов и требования к участникам
Специалисты YADRO подготовили четыре практических задачи для участников школы. Вы разделитесь на группы, за несколько дней выполните полноценный проект и приобретете опыт разработки и оптимизации программного обеспечения под открытую архитектуру RISC-V.
Оптимизация задачи Natural Language Processing (NLP)
Вы будете проводить оптимизацию отдельных ядер для запуска NLP-моделей под RISC-V. В качестве базовой реализации кураторы предлагают одну из open source-библиотек и обученных LLM. На этом проекте вы проанализируете производительность моделей, найдете потенциальные операции для улучшения и познакомитесь с оптимизацией.
Что нужно для участия в проекте:
знание С++, ООП, обработки текстовых файлов,
базовое представление об устройстве глубоких нейронных сетей,
опыт работы с терминалом Linux (Ubuntu).
Оптимизация тензорных алгоритмов
В рамках проекта вам предстоит реализовать один из тензорных алгоритмов с компиляцией под RISC-V на языке программирования Halide. Также вы решите задачу определения наилучшего планировщика для ускорения и оптимизации производительности.
Что нужно для участия в проекте:
знание С++, Cmake, обработка многомерных массивов, ООП, типов данных,
опыт работы с терминалом Linux (Ubuntu).
Оптимизация базовых алгоритмов обработки изображений
Вам предстоит реализовать и оптимизировать алгоритмы обработки изображений для архитектуры RISC-V): threshold, filter2d, morph, norm, compare, logic, arithm (на выбор). Вы проведете анализ производительности и оптимизацию, а также сравните показатели с библиотекой OpenCV.
Что нужно для участия в проекте:
знание C/C++, CMake, кросскомпиляции,
опыт работы с терминалом Linux (Ubuntu).
Оптимизация алгоритма FFT (быстрого преобразование Фурье)
В рамках проекта предстоит освоить инструменты, способы отладки и оптимизации кода для RISC-V, а также реализовать и оптимизировать алгоритм fft. Одна из оптимизаций приведет к неверной работе функции, необходимо будет обнаружить проблему и успешно завершить оптимизацию алгоритма.
Что нужно для участия в проекте:
знание С,
понимание основ комплексной арифметики,
опыт работы с терминалом Linux (Ubuntu).
Регистрируйтесь на Зимнюю школу, чтобы узнать больше о RISC-V и своими руками реализовать проект на открытой архитектуре!
in_heb
Вы будете рассказывать как писать на C++ (и других языках) чтобы оно скомпилировалось под RISC-V с учетом архитектуры risc-v?