BLIS (программное обеспечение) - BLIS (software)
Оригинальный автор (ы) | Группа науки о высокопроизводительных вычислениях (SHPC), Юта-Остин |
---|---|
Разработчики) | Филд Ван Зи |
изначальный выпуск | 11 апреля 2016 г. |
Стабильный выпуск | 0.7.0 / 7 апреля 2020 г.[1] |
Операционная система | Linux Майкрософт Виндоус macOS FreeBSD |
Платформа | x86-64 РУКА ARM64 |
Тип | Библиотека линейной алгебры; реализация BLAS |
Лицензия | новый / измененный / 3-пункт Лицензия BSD |
Интернет сайт | www |
В научные вычисления, то БЛИС (Программное обеспечение для создания библиотеки, подобное BLAS)[2][3][4][5]является Открытый исходный код структура для реализации расширенного набора BLAS (Основные подпрограммы линейной алгебры) функциональность для конкретных процессор типы. Он раскрывает эту функциональность с помощью двух традиционных Интерфейсы прикладного программирования (API): интерфейс BLAS и интерфейс CBLAS. BLIS также включает в себя два встроенных API-интерфейса: типизированный (подобный BLAS) API и объектный API. Эти собственные интерфейсы обеспечивают доступ к BLAS-подобным функциям, которые не поддерживаются, но тесно связаны с операциями, обнаруженными в BLAS (и CBLAS). Фреймворк разработан и поддерживается группой Science of High-Performance Computing (SHPC) из Оден Институт вычислительной техники и наук в Техасский университет в Остине.
BLIS обеспечивает высокую производительность на многих современных микроархитектурах ЦП как в однопоточном, так и в многопоточном режимах выполнения.[6] BLIS также предлагает конкурентоспособную производительность в некоторых случаях умножения матриц, в которых один или несколько операндов матрицы являются необычно тонкими и / или маленькими.[7]
Платформа обеспечивает высокую производительность за счет использования специализированных ядер (обычно написанных в расширенном синтаксисе встроенного ассемблера GNU) наряду с блокировкой кеша и регистров с помощью матричных операндов. BLIS также работает с процессорами, для которых еще не написаны собственные ядра; в этих случаях структура полагается на переносимые реализации ядра, которые работают с более низкой скоростью вычислений.
BLIS иногда называют рефакторингом GotoBLAS 2, который был создан Казусигэ Гото на Техасский вычислительный центр.[8]
Смотрите также
- Автоматически настраиваемое программное обеспечение линейной алгебры (АТЛАС)
- OpenBLAS
- Библиотека ядра Intel Math (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). «Анатомия высокопроизводительного многопоточного матричного умножения». 28-й Международный симпозиум по параллельной и распределенной обработке, 2014 г., 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.
- ^ Performance.md, flame / blis на GitHub.
- ^ PerformanceSmall.md, flame / blis на GitHub.
- ^ Гото, Казушигэ; Гейн, Роберт А. ван де (2008). «Анатомия высокопроизводительного матричного умножения». Транзакции ACM на математическом ПО. 34 (3): 1–25. Дои:10.1145/1356052.1356053.