Разработчики открытого ПО едва впервые не лишили поддержки процессоры «Эльбрус»

Техника Открытое ПО
, Текст: Дмитрий Степанов
Сообщество OpenBLAS – открытой реализации библиотеки базовых подпрограмм линейной алгебры – обсудило возможность исключения из проекта кода, обеспечивающего начальную поддержку процессоров архитектуры «Эльбрус» в знак протеста против российской спецоперации на Украине. По данным Phoronix, принятие подобного решения могло бы стать прецедентом. Патч, добавляющий соответствующую поддержку, был разработан россиянами, работающими над «Альтом», поэтому найти и применить его вновь заинтересованным программистам в любом случае не составит труда.

«Эльбрусы» и OpenBLAS

Разработчикам открытой программной библиотеки OpenBLAS поступило предложение удалить из ее кода поддержку процессоров «Эльбрус» в ответ на российскую спецоперацию на Украине.

Как отмечает портал Phoronix, вопрос обсуждался на площадке Github, где размещен исходный код проекта. По мнению инициатора дискуссии – пользователя под псевдонимом rubicon1042, процессоры «Эльбрус», разработкой которых занимается компания МЦСТ, могут быть использованы в оборудовании военного назначения, а также компьютерных системах, применяемых российскими разведывательными службами. Таким образом, лишив программу возможности запускаться на отечественных процессорах, якобы можно снизить российский военный потенциал.

OpenBLAS – это одна из реализаций библиотеки базовых подпрограмм линейной алгебры (BLAS) с открытым исходным кодом. Отличительной особенностью библиотеки, широко используемой в академической среде, является высокий уровень оптимизации кода под различные процессорные архитектуры. Другими словами, она позволяет «выжимать максимум» из каждого поддерживаемого процессора при ее использовании для выполнения операций с векторами и матрицами.

Библиотека OpenBLAS лишится базовой поддержки «Эльбрусов», но это мало на что повлияет

По мнению создателя ветки обсуждения на Github, OpenBLAS может оказаться полезной при разработке компьютерных решений для военных, поскольку операции линейной алгебры, в частности, задействованы в машинном обучении, при распознавании образов и в системах компьютерного зрения. Начальная поддержка архитектуры e2k («Эльбрус») появилась в OpenBLAS в конце января 2022 г.

Важно отметить, что принимать участие в дискуссиях такого рода на Github могут в том числе никак не связанные с конкретным проектом лица. Владельца репозитория проекта на данной интернет-платформе итоги подобных обсуждений ни к чему не обязывают.

Бессмысленный жест

На момент публикации данного материала соответствующая ветка обсуждения закрыта, собрав в общей сложности 32 комментария. Мнения пользователей разделились: значительная их часть высказалась за удаление соответствующего кода, однако нашлись и противники политизации проекта. Консенсус участниками дискуссии по ее итогам достигнут не был.

Как отмечает Phoronix, примечателен сам факт существования подобного обсуждения. По данным портала, ранее возможность лишения софта работоспособности на определенном «железе» из-за геополитических маневров в сообществе разработчиков ПО с открытым исходным кодом ни разу не рассматривалась. Тем не менее, как ранее писал CNews, некоторые иностранные разработчики рассматривают возможность блокировки своих исходных кодов для российских пользователей.

Владелец репозитория и один из главных разработчиков OpenBLAS немец Мартин Кроекер (Martin Kroeker) также высказал свою точку зрения по данному вопросу. По его словам, он «и сам об этом [удалении поддержки] размышлял», однако не увидел в данном шаге практического смысла. Как отметил программист, это было бы «пустым политическим жестом», поскольку поддержка процессоров архитектуры «Эльбрус» в OpenBLAS действительно самая базовая и реализована без особой оптимизации.

Патч, который добавляет соответствующий код, согласно комментарию Кроекера, подготовлен разработчиками российского Linux-дистрибутива «Альт» Ильей Курдюковым и Михаилом Шигориным. Он может быть легко применен к существующей кодовой базе проекта OpenBLAS любым сторонним разработчиком без особых проблем, даже если бы владелец репозитория OpenBLAS вдруг принял решение убрать формальную поддержку библиотекой архитектуры «Эльбрус».

Владелец репозитория OpenBLAS на Github добавил пул-реквест “Revert ‘Add basic support for the (mostly x86_64 compatible) Elbrus E2000 architecture’", который, будучи одобренным, «откатил» бы принятие патча, добавляющего в OpenBLAS поддержку архитектуры e2k. Однако 3 марта 2022 г. данный пул-реквест был закрыт самим автором. Как пояснил в комментариях принявший данное решение Кроекер, соответствующий запрос был создан для демонстрации того, что в сущности OpenBLAS будет работать на «Эльбрусах» одинаково – как с патчем, так и без него.

Россия без процессоров

В конце февраля 2022 г. CNews сообщил о том, что производство отечественных процессоров «Байкал» и «Эльбрус» на заводах тайваньской TSMC, крупнейшего в мире контрактного производителя полупроводников, полностью остановлено в связи с санкциями в отношении России. Другие российские чипы этой компанией тоже больше не выпускаются. Представитель МЦСТ в разговоре с CNews тогда заявил, что в компании изучают изменившуюся ситуацию. «Прогнозов еще нет. Наша компетенция по разработке российских ядер и процессоров сохраняется с нами в любом случае», – сообщили в компании.

В январе 2021 г. в МЦСТ сообщали, что компания планирует в течение календарного года заказать выпуск свыше 10 тыс. своих чипов. Преимущественно заказы на выпуск должны были затронуть серверные «Эльбрус-8СВ» и «Эльбрус-8С». Эти восьмиядерные процессоры построены на основе VLIW-архитектуры «Эльбрус» (e2k). В декабре 2021 г. Сбербанк провел тестирование двух типов серверов на чипах «Эльбрус-8С» и остался не удовлетворен результатами.

4 марта 2022 г. американские чипмейкеры Intel и AMD официально объявили о прекращении поставок своей продукции – в том числе процессоров и видеокарт – российским партнерам.

Двумя днями ранее американский производитель компьютеров и смартфонов калифорнийская Apple отменила продажи своих устройств в России.