openSUSE находит элегантное решение для поддержки версий x86-64

    0
    13


    SUSE и спонсируемый ею проект openSUSE нашли способ решить проблему оптимизации своего дистрибутива для определенных версий архитектуры x86-64.

    Об этом новом шаге было объявлено на прошлой неделе, и мы надеемся, что он решит проблемы с поддержкой x86-64, которые вызывали разногласия в сообществах дистрибутивов. Еще в июле мы сообщали, что новому дистрибутиву SUSE ALP может потребоваться x86-64-v3. Затем, позже, дистрибутив Tumbleweed с непрерывным выпуском решил, что требуется x86-64-v2. Тем не менее, по-видимому, достаточное количество пользователей по-прежнему использовали старый комплект, который не поддерживал v2, и жаловались, что руководители проекта отступили и решили, что новое требование будет снято.

    В разрешении используется новая функция под названием Hardware Capability Tunables или hwcaps в библиотеке GNU C. glibc. Эта функция была представлена ​​в glibc v2.33. Вот как это описано в примечаниях к выпуску:

    Динамический компоновщик загружает оптимизированные реализации общих объектов из подкаталогов в glibc-hwcaps каталог в пути поиска библиотеки, если возможности системы соответствуют требованиям для этого подкаталога.

    Первоначально поддерживаемые подкаталоги включают… x86-64-v2, x86-64-v3, x86-64-v4 для x86_64-linux-gnu… Имена подкаталогов соответствуют независимым от поставщика уровням микроархитектуры x86-64, определенным в дополнении x86-64 psABI. [PDF].

    Поддержка этого пришла из проекта SUSE Hackweek разработчика Антонио Ларросы, который также объяснил, как его использовать.

    Суть в том, что хотя основной дистрибутив Tumbleweed все еще будет скомпилирован для самого базового уровня поддержки x86-64, x86-64-v1, эта новая функция в glibc позволяет библиотекам использовать новые функции ЦП, если они им нужны. Если та или иная библиотека будет существенно быстрее за счет особенностей более новых версий архитектуры процессора, то ее разработчик может предоставить разные версии библиотеки: быстрые, использующие новую возможность, и более медленные, которые ее не используют и должны работать. вокруг этого в программном обеспечении на старых процессорах, в которых отсутствуют инструкции.

    Самое приятное то, что это происходит автоматически. Glibc автоматически загрузит соответствующие библиотеки на ЦП, которые соответствуют этой версии спецификации: программа, вызывающая библиотеку, не должна об этом знать или заботиться. Изменение было принято несколько недель назад, поэтому оно уже есть во всех недавно обновленных установках Tumbleweed.

    Отчасти это связано с функцией Intel AVX-512, особенно в недавних масштабируемых процессорах Xeon Sapphire Rapids, которые Рег обсуждалось в январе. Эти новые инструкции также должны были быть в процессорах для настольных ПК Alder Lake, но Intel решила их отключить.

    AVX-512 является частью x86-64-v4, и некоторые поставщики, похоже, заинтересованы в этом, но пока SUSE просто предоставляет несколько ускоренных библиотек, использующих функции x86-64-v3. Сначала поддерживаются лишь несколько программ, таких как Python 3.11, синтаксический анализ XML и PNG, а также декодер для нового формата изображений JPEG-XL, который Google решил отказаться от Chrome 110 и более поздних версий.

    Однако теперь, когда поддержка доступна, внедрение, безусловно, будет расти. В принципе, разработчики могут предоставить четыре различных набора библиотек, оптимизированных для производительности, по одному для каждой версии x86-64, с повышением уровня использования расширенных функций ЦП. ®

    Предыдущая статьяБесплатный DLC Wild Hearts добавляет новых монстров и квесты, начиная с завтрашнего дня
    Следующая статьяСколько времени нужно, чтобы победить Wo Long: Fallen Dynasty?
    Виктор Попанов
    Эксперт тестовой лаборатории. Первый джойстик держал в руках в возрасте 3 лет. Первый компьютер, на котором „работал” был с процессором Intel i386DX-266. Тестирует оборудование для издания ITBusiness. Будь то анализ новейших гаджетов или устранение сложных неполадок, этот автор всегда готов к выполнению поставленной задачи. Его страсть к технологиям и приверженность качеству делают его бесценным помощником в любой команде.