БЛИС (программное обеспечение)
Оригинальный автор(ы) | Группа науки о высокопроизводительных вычислениях (SHPC), Юта, Остин |
---|---|
Разработчик(и) | Филд Ван Зи и Девин Мэтьюз |
Первоначальный выпуск | 9 ноября 2013 г |
Стабильная версия | 1.0 / 6 мая 2024 г [1] |
Репозиторий | |
Операционная система | Линукс Microsoft Windows macOS FreeBSD |
Платформа | х86-64 РУКА ARM64 ... |
Тип | библиотека линейной алгебры; внедрение БЛАС |
Лицензия | новая/модифицированная/3-пунктовая лицензия BSD |
Веб-сайт | www |
В научных вычислениях используется BLIS (программное обеспечение для создания экземпляров библиотек, подобных BLAS). [2] [3] [4] [5] это платформа с открытым исходным кодом для реализации расширенного набора функций BLAS (базовых подпрограмм линейной алгебры) для определенных типов процессоров , который недавно был [ когда? ] награжден премией Дж. Х. Уилкинсона в области цифрового программного обеспечения . [6] Он предоставляет эту функциональность через два традиционных интерфейса прикладного программирования (API): интерфейс BLAS и интерфейс CBLAS. BLIS также включает в себя два встроенных в платформу API: типизированный (BLAS-подобный) API и объектный API. Эти собственные интерфейсы обеспечивают доступ к BLAS-подобным функциям, которые не поддерживаются, но тесно связаны с операциями, обнаруженными в BLAS (и CBLAS).Платформа разработана и поддерживается группой науки о высокопроизводительных вычислениях (SHPC) Института вычислительной техники и наук Одена Техасского университета в Остине и исследовательской группой Мэтьюза Южного методистского университета .
BLIS обеспечивает высокую производительность на многих современных микроархитектурах ЦП как в однопоточном, так и в многопоточном режимах выполнения. [7] BLIS также обеспечивает конкурентоспособную производительность в некоторых случаях матричного умножения, в которых один или несколько матричных операндов необычно малы и/или малы. [8]
Платформа обеспечивает высокую производительность за счет использования специализированных ядер (обычно написанных на расширенном встроенном ассемблерном синтаксисе GNU), а также блокировки кэша и регистров с помощью матричных операндов. BLIS также работает на процессорах, для которых еще не написаны собственные ядра; в этих случаях платформа полагается на переносимые реализации ядра, которые выполняются с более низкой скоростью вычислений.
BLIS иногда описывают как рефакторинг GotoBLAS 2, который был создан Казусигэ Гото в Техасском центре перспективных вычислений . [9]
См. также
[ редактировать ]- Программное обеспечение автоматически настраиваемой линейной алгебры (ATLAS)
- OpenBLAS
- Библиотека математического ядра Intel (MKL)
Ссылки
[ редактировать ]- ^ Релизы · Flame/blis – GitHub
- ^ Ван Зи, Филд; ван де Гейн, Роберт (2015). «BLIS: платформа для быстрого создания экземпляров функциональности BLAS». Транзакции ACM в математическом программном обеспечении . 41 (3): 1–33. дои : 10.1145/2764454 .
- ^ Ван Зи, Филд; Смит, Тайлер; Игуаль, Франциско; Смелянский Михаил; Чжан, Сянъи; Кистлер, Майкл; Остел, Вернон; Ганнелс, Джон; Лоу, Цзы Мэн; Маркер, Брайан; Киллоу, Ли; ван де Гейн, Роберт (2016). «Структура BLIS: эксперименты по переносимости» . Транзакции ACM в математическом программном обеспечении . 42 (2): 1–19. дои : 10.1145/2755561 .
- ^ Смит, Тайлер М.; ван де Гейн, Роберт; Смелянский Михаил; Хаммонд, Джефф Р.; Ван Зи, Филд Г. (2014). «Анатомия высокопроизводительного многопоточного умножения матриц». 2014 28-й Международный симпозиум IEEE по параллельной и распределенной обработке . стр. 1049–1059. дои : 10.1109/IPDPS.2014.110 . ISBN 978-1-4799-3800-1 .
- ^ Лоу, Цзы Мэн; Игуаль, Франциско; Смит, Тайлер; Кинтана, Энрике (2016). «Аналитического моделирования достаточно для высокопроизводительной BLIS». Транзакции ACM в математическом программном обеспечении . 43 (2): 1–18. дои : 10.1145/2925987 . hdl : 10234/163618 .
- ^ Премия Джеймса Х. Уилкинсона в области числового программного обеспечения , SIAM · Призы и признание · Основные призы и лекции.
- ^ Performance.md , Flame/blis на GitHub.
- ^ PerformanceSmall.md , Flame/blis на GitHub.
- ^ Гото, Казусигэ; ван де Гейн, Роберт А. (2008). «Анатомия высокопроизводительного умножения матриц». Транзакции ACM в математическом программном обеспечении . 34 (3): 1–25. дои : 10.1145/1356052.1356053 .