Однако, прежде чем эта опенсорсная процессорная архитектура сможет конкурировать с архитектурами x86 и ARM в центрах обработки данных, ей необходимо найти более широкую поддержку со стороны сообщества разработчиков ПО, сообщает портал The New Stack, анализируя итоги июньского RISC-V Summit в Барселоне.
Разработчики выросли на представлениях, что x86 или ARM являются основой ПК и серверов, но сейчас они видят активное развитие альтернативной архитектуры под названием RISC-V.
В ближайшие несколько лет все больше компаний неизбежно начнут поставлять ПК и серверы на базе процессоров RISC-V. Скорее всего, эти системы будут работать под управлением Linux, поскольку Microsoft, как известно, не разрабатывает версию Windows для этой архитектуры.
Но есть большие проблемы с программной экосистемой RISC-V — поддержка разработчиков просто плачевна. Организация RISC-V International, занимающаяся разработкой архитектуры чипов, больше говорит об аппаратном обеспечении, тогда как ПО стоит у нее далеко на втором месте по приоритетам.
Первоначальная поддержка
Появившись около десяти лет назад, RISC-V быстро завоевала поддержку крупнейших производителей микросхем, включая Apple, которая ставит контроллеры этой архитектуры в свои Apple Silicon. В настоящее время поставлено около 10 млрд. ядер микросхем на базе RISC-V. Совсем недавно компания Meta (запрещена в России) анонсировала микросхему для искусственного интеллекта, построенную на архитектуре RISC-V.
Эту архитектуру чипов часто называют аппаратным эквивалентом Linux. Это свободная технология, основанная на культуре вклада сообщества и этике открытого кода, когда сообщество совместно разрабатывает и улучшает продукт. Архитектура RISC-V является свободно-лицензируемой, то есть любой желающий может использовать ее версию в своем чипе.
Чипы RISC-V могут быть скомпилированы как кирпичики Lego — компании берут базовую архитектуру и дополняют ее собственными аппаратными блоками, которые могут включать ускорители для ИИ, графики или безопасности.
«То, что когда-то было экспериментом, прототипом, сейчас быстро переходит в производство», — сказала CEO RISC-V International Калиста Редмонд, выступая с ключевым докладом на саммите в Барселоне.
Структура RISC-V позволяет использовать ее в нативных облачных средах, работающих с разнообразными приложениями и сложными вычислительными требованиями. Минимальное количество базовых инструкций позволяет быстро разгрузить такие приложения, как ИИ и аналитика, и передать их нагрузки ускорителям, таким как графические или специализированные математические процессоры, которые лучше справляются с подобными задачами.
Чипы Intel и AMD достигают своих физических пределов, а гибкость RISC-V обеспечивает возможность для продвижения вычислений в будущее. Например, RISC-V открывает путь к новым аппаратным архитектурам, таким как разнесенные (разреженные) вычисления (sparse computing), которые исследуются в рамках проекта агентства Intelligence Advanced Research Projects Activity (IARPA). Эта архитектура предполагает, что вычислительные устройства располагаются ближе к данным в хранилище или памяти.
Барселонский суперкомпьютерный центр (BSC) предложил концепцию объединения процессора и памяти в чипе RISC-V, что позволит уменьшить связанное с памятью «узкое место» в приложениях машинного обучения.
«Мы хотим добиться выполнения операций, требующих больших объемов памяти, например memcpy, ближе к памяти», — сказал Умаир Риаз, исследователь из BSC, имея в виду функцию C++ для копирования блоков памяти. Он также упомянул функцию spinlock, отметив, что выполнение этих функций в памяти будет более эффективным и быстрым.
«Выполняя функции локально, вы в конечном итоге повысите производительность и уменьшите сетевой трафик, потому что выполняете гораздо больше действий ближе к памяти», — пояснил Риаз.
Написание приложений для таких сложных RISC-V-чипов может оказаться непосильной задачей даже для самых смелых программистов, которые хотят писать код непосредственно для аппаратного обеспечения. Однако Intel хочет предоставить инструментарий, необходимый для того, чтобы программисты могли начать тестировать приложения в модельных средах RISC-V.
OneAPI
Codeplay, софтверное подразделение Intel, недавно анонсировало набор OneAPI Construction Kit, включающий средства для тестирования кода в имитируемой среде RISC-V на компьютерах с архитектурой x86.
Отличительной особенностью Construction Kit является поддержка SYCL, которая позволяет кодерам писать и компилировать приложения независимо от аппаратной архитектуры, и Intel делает первые шаги по внедрению поддержки RISC-V в этот фреймворк параллельного программирования. В комплект входит поддержка компилятора Intel DPC++/C++, который позволяет перекомпилировать код на языке C++ для использования на различных аппаратных архитектурах.
Разработчики также могут тестировать RISC-V-код на платах разработчика типа Raspberry Pi- или системах таких компаний, как Milk-V и StarFive. Обе компании предлагают высокопроизводительные
Поддержка инструментов Linux на RISC-V пока невелика. Полностью поддерживаются лишь несколько пакетов, в том числе Ubuntu OS, Gnu Toolchain, OpenvSwitch, Apache Nuttx и Spidermonkey для Mozilla. Многие пакеты для RISC-V, включая Pytorch, GCC, TensorFlow и OpenJDK, могут работать достаточно хорошо, но все еще не полностью поддерживаются. В то же время сообщество разработчиков RISC-V в Китае сообщило, что более 80% пакетов в открытой Fedora теперь поддерживаются на RISC-V. Наращивается поддержка таких Open Source-приложений, как LibreOffice и Firefox. Google ускоряет поддержку AOSP (Android Open Source Project), которая будет занимать важное место в следующей спецификации архитектуры RISC-V.
Производители серверных чипов RISC-V компании Esperanto Technologies и Ventana Micro Systems анонсировали серверные чипы для облачных вычислений, но ничего не сказали о поддержке ПО и моделях программирования. Esperanto портировала модель Open Pre-Trained Transformer компании Meta на свой RISC-V-сервер.
RISC-V International пытается решить эту проблему путем создания RISC-V Software Ecosystem, также называемой RISE, для создания базовых программных средств и промежуточного ПО для систем RISC-V. В число первых спонсоров проекта экосистемы входят такие компании, как Google, Intel, Nvidia, Qualcomm, Samsung и Ventana.
Марк Химельштейн, технический директор RISC-V International, напомнил на саммите о том, что RISC-V берет начало в культуре Linux, когда все участники вносят свой вклад в реализацию общих интересов.
«Такая культура совместных вкладов подразумевает работу в сообществах RISC-V и других, ориентированных на Open Source и открытые стандарты», — сказал он, добавив, что «это не означает, что вы работаете над частями головоломки, которая быстро превращается в товар».
Сегодня не существует структура совместной разработки аппаратного и программного обеспечения, облегчающая кодерам использование систем x86 и ARM. RISC-V International сначала разрабатывает спецификацию аппаратного обеспечения, а совместимость с Linux появляется позже. Это сильно отличается от модели Intel, которая выпускает драйверы Linux для чипа перед его выпуском, что гарантирует совместимость оборудования с последней версией ОС.
Китай
В работе над ПО RISC-V явно не хватает такой силы природы, как Линус Торвальдс, который мог бы двигать проект вперед одной лишь волей. Кроме того, RISC-V — это не настолько мейнстрим, чтобы привлечь армию разработчиков.
Но совсем другое дело — Китай, который массово внедряет RISC-V для создания отечественных микросхем и снижения зависимости от западных технологий. Разработчики в Китае засучили рукава и вносят свой вклад в создание Linux-подобных ОС, совместимых с RISC-V.
В Китае инициатива по развитию RISC-V направлена на инженерные нужды, и у разработчиков достаточно мотивации для создания поддержки ОС, особенно в условиях, когда новейшие западные технологии чипов становятся недоступны из-за экспортных ограничений.
Китайские компании разрабатывают одни из самых совершенных RISC-V-чипов, а сообщество ежедневно добавляет поддержку все новых пакетов. Многие из основных разработчиков Fedora, Debian, Gentoo и Arch Linux, инструментария GNU и Clang находятся в Китае. Сообщество RISC-V в Китае также возглавляет работу по внедрению в процессоры RISC-V поддержки ROCm — фреймворка параллельного программирования AMD.