С 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 и своими руками реализовать проект на открытой архитектуре!

Комментарии (1)


  1. in_heb
    18.01.2024 10:52

    Вы будете рассказывать как писать на C++ (и других языках) чтобы оно скомпилировалось под RISC-V с учетом архитектуры risc-v?