Применение векторных операций с динамической длиной для эффективной эмуляции векторных операций с фиксированной длиной
Abstract
Использование векторных регистров — один из наиболее эффективных способов повышения производительности процессора, особенно в задачах, связанных с параллельной обработкой данных. Для обеспечения переносимости кода между различными архитектурами разработчики часто прибегают к использованию сторонних библиотек, которые абстрагируют архитектурно-зависимые векторные операции через высокоуровневые конструкции языка программирования. Однако создание прозрачных обёрток над базовыми типами данных требует глубокого понимания как особенностей библиотеки, так и архитектурных отличий векторных расширений. Это особенно важно при портировании на новые платформы, такие как RISC-V, где принципы работы с векторами могут существенно отличаться от других архитектур.
В статье рассматриваются существующие библиотеки для создания обобщённых векторных алгоритмов и предлагаются решения для добавления поддержки векторного расширения RISC-V в активно развивающуюся библиотеку EVE. Несмотря на наличие в EVE поддержки масштабируемой векторизации через SVE, интеграция RISC-V требует решения ряда дополнительных задач. Основной вызов — эффективное использование уникальных особенностей RISC-V, таких как группировка нескольких векторных регистров, а также адаптация существующих возможностей библиотеки для работы с новыми аппаратными особенностями, включая ограниченные операции над векторами, которые недоступны на уровне архитектуры.

This work is licensed under a Creative Commons Attribution 4.0 International License.
Publication policy of the journal is based on traditional ethical principles of the Russian scientific periodicals and is built in terms of ethical norms of editors and publishers work stated in Code of Conduct and Best Practice Guidelines for Journal Editors and Code of Conduct for Journal Publishers, developed by the Committee on Publication Ethics (COPE). In the course of publishing editorial board of the journal is led by international rules for copyright protection, statutory regulations of the Russian Federation as well as international standards of publishing.
Authors publishing articles in this journal agree to the following: They retain copyright and grant the journal right of first publication of the work, which is automatically licensed under the Creative Commons Attribution License (CC BY license). Users can use, reuse and build upon the material published in this journal provided that such uses are fully attributed.