Команда разработчиков Python объявила, что открытая архитектура набора команд RISC-V теперь официально поддерживается CPython на уровне Tier-3. Об этом рассказал Стэн Ульбрих в блоге Python Insider после продолжительной работы сообщества по проверке и стабилизации работы на реальных микросхемах.
Для официального включения в PEP 11 потребовалась масштабная совместная работа. В течение нескольких месяцев участники проводили тесты, исправляли ошибки, специфичные для архитектуры, и укрепляли сборочную инфраструктуру. Ульбрих отдельно отметил поддержку со стороны RISE – они предоставили несколько машин на RISC-V, которые использовались в качестве buildbot’ов для запуска автоматизированных тестов и отладки специфических архитектурных проблем.
Интеграция в CI/CD и планы на Tier 2
Хотя статус Tier 3 — это важный и серьезный шаг, впереди еще много работы. Например, создается задержка в выявлении багов из-за того, что buildbot’ы обычно запускают тесты только после принятия патчей. Чтобы это исправить, в рамках инициативы RISE RISC-V Runners планируется напрямую встроить оборудование RISC-V в CI/CD для CPython. Это поможет быстрее получать обратную связь и, как следствие, быстрее исправлять дефекты.
В перспективе мейнтейнеры планируют перевести RISC-V на уровень Tier 2 в рамках PEP 11. Основные контрибьюторы также намерены исследовать специфичные для архитектуры оптимизации, которые позволят повысить производительность во время выполнения за счет более полного использования возможностей платформы RISC-V.
Также команда разработчиков обратилась к тем, кто имеет доступ к совместимым платам, с просьбой провести тестирование, чтобы проверить стабильность в различных конфигурациях. Ульбрих отметил: «Нам очень важно, чтобы люди пользовались данной разработкой и давали нам обратную связь. Если у вас есть доступ к оборудованию RISC-V, пожалуйста, попробуйте собрать и запустить CPython, прогнать свои нагрузки и тестовые наборы и сообщите нам, что не работает».
В заключение Ульбрих подчеркнул, что CPython представляет собой лишь один уровень более широкой экосистемы. Расширение возможностей полноценной работы с RISC-V будет зависеть от постоянного вклада сообщества в разработку сторонних пакетов Python, компиляторов, наборов инструментов и инфраструктуры для разработчиков.
Что означают уровни Tier в Python
Вспомним, как влияет уровень Tier на релизы Python:
- Tier 1 – ошибки в системе непрерывной интеграции блокируют выпуск релизов;
- Tier 2 – изменения, нарушающие работу любой из этих платформ, должны быть исправлены или отменены в течение 24 часов;
- Tier 3 – сбои на этих платформах не препятствуют выпуску релиза, однако все равно необходимо иметь надежный buildbot.
Реакция сообщества и перспективы
В обсуждениях на Hacker News и в сообществе Reddit это достижение было воспринято как важный сигнал о зрелости платформы, при этом активно обсуждались практические инженерные последствия присвоения статуса Tier 3. Разработчики отметили: хотя данный статус и означает, что платформа все еще может иногда ловить сбои, не блокируя выпуск основных релизов, официальная поддержка устраняет серьезную историческую проблему интеграции RISC-V в конвейеры CI/CD. Обсуждения также касались аппаратных профилей вроде RV64GC и будущих стандартов, например RVA23. Участники рассматривали, как современные возможности ядра — векторные расширения, битовые операции и инструкции без ветвлений — могут в конечном итоге быть использованы для оптимизации производительности интерпретатора Python.
RISC-V представляет собой архитектуру с открытым стандартом набора команд, разработанную в качестве альтернативы закрытым аналогам, таким как x86 и ARM. В отличие от x86, которая является проприетарной и строго охраняется традиционными коммерческими структурами, или ARM, которая работает в условиях ограничительных лицензионных сборов и жесткого корпоративного контроля, RISC-V разработана как открытый стандарт, который может реализовать любой желающий.
Благодаря полной доступности и модульности ее спецификации, окружающая экосистема значительно расширилась за последние годы, и, по прогнозам отрасли, к 2032 году она увеличится в четыре раза. Эта открытость устраняет зависимость от поставщика, избегает барьеров проприетарного лицензирования и обеспечивает настраиваемую, свободную от отчислений аппаратную основу для современных вычислительных систем. Поэтому обеспечение надежной работы Python на этих системах стало одним из главных приоритетов для экосистемы языка.