Топ питань
Часова шкала
Чат
Перспективи
Basic Linear Algebra Subprograms
З Вікіпедії, вільної енциклопедії
Remove ads
Basic Linear Algebra Subprograms (BLAS) (укр. Основні підпрограми з лінійної алгебри) — встановлений де-факто стандарт інтерфейсу бібліотек підпрограм, призначених для виконання основних операцій лінійної алгебри, таких як, наприклад, множення матриць та векторів. Уперше такі підпрограми було опубліковано 1979 року. На їх основі будуються більші пакети, такі як LAPACK. Конкретні втілення протоколу у вигляді бібліотек розробляються як провідними лідерами комп'ютерної технології, наприклад, Intelом, так і іншими авторами. Підпрограми лінійної алгебри широко використовуються в застосуваннях, які вимагають інтенсивних обчислень, а тому вимагають особливо уважної розробки й оптимізації. Наприклад, ATLAS[en] — варіант BLAS, який може легко переноситися з однієї платформи на іншу й оптимізуватися для використання на машинах конкретної архітектури.
Бенчмарк LINPACK сильно залежить від швидкості виконання підпрограми DGEMM, яка входить до BLAS.
Remove ads
Функціональність
Узагальнити
Перспектива
Функціональність BLAS розбивається на три рівні
Рівень 1
Цей рівень містить операції загального вигляду
а також скалярного добутку, норми вектора та деякі інші.
Рівень 2
Цей рівень містить операції дій між векторами й матрицями загального вигляду
а також підпрограми знаходження розв'язку рівняння для трикутної матриці .
Рівень 3
Цей рівень містить операції з матрицями вигляду
а також розв'язок рівняння для трикутної матриці та інші підпрограми. Зокрема сюди входить популярна у використаннях операція перемноження матриць.
Remove ads
Реалізації
- Accelarate
-
- Платформа від Apple створена для Mac OS X та iOS, яка містить адаптовані версії BLAS і LAPACK. [Архівовано 3 грудня 2010 у Wayback Machine.] [Архівовано 18 серпня 2016 у Wayback Machine.]
- C++ AMP BLAS
-
- Бібліотека C++ AMP BLAS є відкритою реалізацією BLAS для Майкрософтівського розширення Visual C++. [Архівовано 8 липня 2017 у Wayback Machine.]
- Goto BLAS
- GSL
- GNU Scientific Library бібліотека обчислювальних методів для мов C та С++, що розповсюджується під ліцензією GNU General Public License. [Архівовано 9 червня 2005 у Wayback Machine.]
- Intel MKL
-
- Інтелівська математична бібліотека (Math Kernel Library), розрахована на x86 32-бітну і 64-бітну архітектуру. Включає оптимізації для Intel Pentium, Core та Intel Xeon процесорів і Intel Xeon Phi; підтримується Linux, Windows і Mac OS X. [Архівовано 9 серпня 2013 у Wayback Machine.]
- Netlib BLAS
- Офіційна реалізація з netlib. Існують версії на мовах програмування C та Fortran 77. [Архівовано 10 січня 2010 у Wayback Machine.]
- OpenBLAS
- Оптимізований і розпаралелений BLAS на основі Goto BLAS викладений на GitHub [Архівовано 14 серпня 2013 у Wayback Machine.]. [Архівовано 24 листопада 2012 у Wayback Machine.]
Ця стаття не містить посилань на джерела. (листопад 2014) |
Remove ads
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads