OpenBLAS
Оригинальный автор(ы) | Кадзусигэ Гото |
---|---|
Разработчик(и) | Чжан Сяньи, Ван Цянь, Вернер Саар |
Первоначальный выпуск | 22 марта 2011 г |
Стабильная версия | 0.3.27 [1] / 4 апреля 2024 г |
Репозиторий | |
Написано в | C, современный Фортран |
Операционная система | |
Платформа | |
Тип | библиотека линейной алгебры; внедрение БЛАС |
Лицензия | Лицензия БСД |
Веб-сайт | www |
OpenBLAS — это с открытым исходным кодом реализация BLAS (базовые подпрограммы линейной алгебры) и LAPACK API-интерфейсов со множеством оптимизаций, созданных вручную для конкретных типов процессоров . Он разработан в Лаборатории параллельного программного обеспечения и вычислительной техники ISCAS .
OpenBLAS добавляет оптимизированные реализации ядер линейной алгебры для нескольких процессорных архитектур, включая Intel Sandy Bridge. [3] и Лунгсон . [4] Он утверждает, что достиг производительности, сравнимой с Intel MKL : в основном это справедливо для части BLAS, тогда как часть LAPACK отстает. [ нужна ссылка ] На машинах, поддерживающих набор инструкций AVX2, OpenBLAS может достичь производительности, аналогичной MKL, но в настоящее время почти нет библиотек с открытым исходным кодом, сравнимых с MKL, на процессорах с набором инструкций AVX512.
OpenBLAS — это форк GotoBLAS 2, созданный Кадзусигэ Гото в Техасском центре перспективных вычислений .
История и настоящее
[ редактировать ]OpenBLAS был разработан группой параллельного программного обеспечения под руководством профессора Юньцюань Чжана из Китайской академии наук.
OpenBLAS изначально предназначался только для платформы ЦП Loongson. Доктор Сяньи Чжан внес большой вклад. Поскольку от GotoBLAS отказались, преемник OpenBLAS теперь разрабатывается как библиотека BLAS с открытым исходным кодом для нескольких платформ, включая платформы x86 , ARMv8, MIPS и RISC-V , и пользуется уважением за свою превосходную переносимость.
Группа параллельного программного обеспечения модернизирует OpenBLAS для удовлетворения текущих вычислительных потребностей. Например, вычисления OpenBLAS уровня 3 в основном были оптимизированы для больших и квадратных матриц (часто рассматриваемых как матрицы правильной формы). Теперь также поддерживается умножение матриц неправильной формы, например, умножение высоких и тощих матриц (TSMM), [5] который поддерживает более быстрые вычисления глубокого обучения на процессоре. TSMM — это один из основных вычислений в операциях глубокого обучения. Помимо этого, OpenBLAS также будет поддерживать компактную функцию и небольшой GEMM.
См. также
[ редактировать ]- Программное обеспечение автоматически настраиваемой линейной алгебры (ATLAS)
- BLIS (программное обеспечение для создания экземпляров библиотек, подобных BLAS)
- Библиотека математического ядра Intel (MKL)
Ссылки
[ редактировать ]- ^ «Версия OpenBLAS 0.3.27» . 4 апреля 2024 г. Проверено 4 апреля 2024 г.
- ^ «ОпенБЛАС» . 25 октября 2021 г.
- ^ Ван Цянь; Чжан Сяньи; Чжан Юньцюань; Цин И (2013). AUGEM: автоматическое создание высокопроизводительных ядер плотной линейной алгебры на процессорах x86 (PDF) . Международная конференция. по высокопроизводительным вычислениям, сетям, хранению и анализу.
- ^ Чжан Сяньи; Ван Цянь; Чжан Юньцюань (2012). Оптимизация производительности BLAS уровня 3 на основе модели на процессоре Loongson 3A . 18-я Международная конференция IEEE. по параллельным и распределенным системам (ICPADS).
- ^ Ченди Ли; Хайпэн Цзя; Ханг Цао; Цзяньюй Яо; Боцянь Ши; Чуньян Сян; Джинбо Сан; Пэнци Лу; Юньцюань Чжан (2021). AutoTSMM: платформа автоматической настройки для создания высокопроизводительной системы умножения матриц для высоких и тощих матриц на процессорах (PDF) . Международный симпозиум IEEE по параллельной и распределенной обработке приложений.