BLIS (программное обеспечение) - BLIS (software)

БЛИС
Оригинальный автор (ы)Группа науки о высокопроизводительных вычислениях (SHPC), Юта-Остин
Разработчики)Филд Ван Зи
изначальный выпуск11 апреля 2016 г.; 4 года назад (2016-04-11)
Стабильный выпуск
0.7.0 / 7 апреля 2020 г.; 7 месяцев назад (2020-04-07)[1]
Операционная системаLinux
Майкрософт Виндоус
macOS
FreeBSD
Платформаx86-64
РУКА
ARM64
ТипБиблиотека линейной алгебры; реализация BLAS
Лицензияновый / измененный / 3-пункт Лицензия BSD
Интернет сайтwww.github.com/пламя/ blis Отредактируйте это в Викиданных

В научные вычисления, то БЛИС (Программное обеспечение для создания библиотеки, подобное 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]

Смотрите также

Рекомендации

  1. ^ Релизы · flame / blis - GitHub
  2. ^ Ван Зи, Филд; ван де Гейн, Роберт (2015). «BLIS: структура для быстрого создания экземпляра функциональности BLAS». Транзакции ACM на математическом ПО. 41 (3): 1–33. Дои:10.1145/2764454.
  3. ^ Ван Зи, Филд; Смит, Тайлер; Игуаль, Франсиско; Смелянский, Михаил; Чжан, Сянъи; Кистлер, Майкл; Остель, Вернон; Ганнелс, Джон; Лоу, Цзы Мэн; Маркер, Брайан; Киллоу, Ли; ван де Гейн, Роберт (2016). «Структура BLIS: эксперименты в области переносимости». Транзакции ACM на математическом ПО. 42 (2): 1–19. Дои:10.1145/2755561.
  4. ^ Смит, Тайлер М .; Гейн, Роберт ван де; Смелянский, Михаил; Хаммонд, Джефф Р .; Зи, Филд Г. Ван (2014). «Анатомия высокопроизводительного многопоточного матричного умножения». 28-й Международный симпозиум по параллельной и распределенной обработке, 2014 г., IEEE. С. 1049–1059. Дои:10.1109 / IPDPS.2014.110. ISBN  978-1-4799-3800-1.
  5. ^ Лоу, Цзы Мэн; Игуаль, Франсиско; Смит, Тайлер; Кинтана, Энрике (2016). «Аналитического моделирования достаточно для высокопроизводительного BLIS». Транзакции ACM на математическом ПО. 43 (2): 1–18. Дои:10.1145/2925987. HDL:10234/163618.
  6. ^ Performance.md, flame / blis на GitHub.
  7. ^ PerformanceSmall.md, flame / blis на GitHub.
  8. ^ Гото, Казушигэ; Гейн, Роберт А. ван де (2008). «Анатомия высокопроизводительного матричного умножения». Транзакции ACM на математическом ПО. 34 (3): 1–25. Дои:10.1145/1356052.1356053.

внешняя ссылка