Basic Linear Algebra Subprograms

Basic Linear Algebra Subprograms

BLAS (англ. Basic Linear Algebra Subprograms — базовые подпрограммы линейной алгебры) — стандарт де-факто интерфейса программирования приложений для создания библиотек, выполняющих основные операции линейной алгебры, такие как умножение векторов и матриц. Он был впервые опубликован в 1979, и использован для создания бо́льших пакетов, например LAPACK. Интенсивно используемые в высокопроизводительных вычислениях, высокооптимизированные реализации интерфейса BLAS были разработаны производителями аппаратного обеспечения, такими как Intel, а также другими авторами (например, ATLAS — переносимый самооптимизирующийся BLAS). Тест LINPACK Benchmark в своей работе основывается в большой степени на DGEMM, подпрограмме BLAS.

Содержание

Функциональность

Функциональность BLAS делится на три уровня.

Уровень 1

Этот уровень содержит векторные операции вида:

\boldsymbol{y} \leftarrow \alpha \boldsymbol{x} + \boldsymbol{y}, \!

операции скалярного произведения, взятия нормы вектора и другие операции.

Уровень 2

Этот уровень содержит операции матрица-вектор вида:

\boldsymbol{y} \leftarrow \alpha A \boldsymbol{x} + \beta \boldsymbol{y}, \!

решение T \boldsymbol{x} = \boldsymbol{y} для x с треугольной матрицей T и другие операции.

Уровень 3

Содержит операции матрица-матрица вида:

C \leftarrow \alpha A B + \beta C, \!

решение B \leftarrow \alpha T^{-1} B для треугольной матрицы T и другие операции. Этот уровень содержит широко используемую операцию GEMM (англ. General Matrix Multiply).

Реализации

refblas
Официальная эталонная реализация из netlib. Доступны версии на C и Fortran 77.[1]
Accelerate
Фреймворк от Apple для Mac OS X, включающий оптимизированные версии BLAS и LAPACK для процессоров PowerPC и Intel Core.[2]
ACML
Основная математическая библиотека AMD (англ. AMD Core Math Library), поддерживающая процессоры AMD Athlon и Opteron под Linux и Windows.[3]
ATLAS
Самооптимизирующийся программный пакет линейной алгебры (англ. Automatically Tuned Linear Algebra Software), реализация интерфейса BLAS с открытым исходным кодом для C и Fortran 77.[4]
CUDA SDK
NVIDIA CUDA SDK включает функциональность BLAS (cuBLAS) для написания программ на C для видеокарт серии GeForce 8, GeForce 200, GeForce 300 (Fermi).
ESSL
Библиотека инженерных и научных подпрограмм (англ. Engineering and Scientific Subroutine Library) от IBM, поддерживающая архитектуру PowerPC под AIX и Linux.[5]
libflame
Реализация библиотеки линейной алгебры, включающей BLAS, проектом FLAME.[6]
Goto BLAS
Реализация BLAS от Kazushige Goto.[7]
HP MLIB
Математическая библиотека от HP, поддерживающая архитектуры IA-64, PA-RISC, x86 и Opteron под HP-UX и Linux.
Intel MKL
Основная математическая библиотека Intel (англ. Intel Math Kernel Library), поддерживающая процессоры Intel под Linux, Windows и Mac OS X.[8]
MathKeisan
Математическая библиотека от NEC, поддерживающая архитектуру NEC SX под SUPER-UX, и Itanium под Linux.[9]
PDLIB/SX
Математическая библиотека, находящаяся в общественном достоянии (англ. Public Domain Mathematical Library), от NEC для системы NEC SX-4.[10]
SCSL
Программная библиотека для научных вычислений (англ. Scientific Computing Software Library) от SGI содержит реализации BLAS и LAPACK для рабочих станций SGI Irix.
Sun Performance Linaray
Sun Performance Library содержит оптимизированные BLAS и LAPACK для архитектур SPARC и AMD64 под Solaris 8, 9, и 10.
uBLAS
Библиотека шаблонных классов C++, обеспечивающая функциональность BLAS. Часть библиотеки Boost. В отличие от других реализаций uBLAS фокусируется больше на правильности алгоритмов, используя продвинутые возможности C++, чем на высокой производительности.[11]
GSL
Научная библиотека GNU (англ. GNU Scientific Library) содержит кроссплатформенную неоптимизированную реализацию на C, которая распространяется под GNU GPL.[12]

См. также

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Полезное


Смотреть что такое "Basic Linear Algebra Subprograms" в других словарях:

  • Basic Linear Algebra Subprograms — (BLAS) is a de facto application programming interface standard for publishing libraries to perform basic linear algebra operations such as vector and matrix multiplication. They were first published in 1979, and are used to build larger packages …   Wikipedia

  • Basic Linear Algebra Subprograms — (BLAS) sont un ensemble de fonctions standardisées (interface de programmation) réalisant des opérations de base de l algèbre linéaire comme des multiplications de vecteurs ou de matrices. Ces fonctions ont d abord été publiées en 1979 et sont… …   Wikipédia en Français

  • Basic Linear Algebra Subprograms — BLAS Betriebssystem plattformunabhängig Kategorie Programmbibliothek für: Lineare Algebra www.netlib.org/blas Basic Linear Algebra Subprograms (BLAS) bezeichnet eine Softwareb …   Deutsch Wikipedia

  • Linear Algebra Package — Sommaire 1 Objectifs 2 Résolution du problème avec les processeurs multi cœurs 3 Voir aussi 4 Liens externes LAPACK (pour Linear Alge …   Wikipédia en Français

  • Automatically Tuned Linear Algebra Software — ATLAS Aktuelle Version 3.8.4 (14. Mai 2011) Aktuelle Vorabversion 3.9.53 (12. Oktober 2011) Betriebssystem POSIX Programmier­sprache C, Fortran …   Deutsch Wikipedia

  • Atlas (Computersoftware Lineare Algebra) — Automatically Tuned Linear Algebra Software (ATLAS) ist eine Unterprogrammbibliothek für Lineare Algebra. ATLAS ist eine Open Source Implementierung von Basic Linear Algebra Subprograms (BLAS) und von Teilen von LAPACK für C und für Fortran. Es… …   Deutsch Wikipedia

  • BLAS — Basic Linear Algebra Subprograms Basic Linear Algebra Subprograms (BLAS) sont un ensemble de fonctions standardisées (interface de programmation) réalisant des opérations de base de l algèbre linéaire comme des multiplications de vecteurs ou de… …   Wikipédia en Français

  • BLAS — Basic Linear Algebra Subprograms (BLAS) bezeichnet eine Softwarebibliothek, die elementare Operationen der linearen Algebra wie Vektor und Matrixmultiplikationen implementiert. Es gibt eine Vielzahl von Implementierungen in verschiedenen Sprachen …   Deutsch Wikipedia

  • LAPACK — Linear Algebra Package LAPACK (pour Linear Algebra PACKage) est une bibliothèque logicielle dédiée à la simulation numérique écrite en Fortran 77. Cette bibliothèque fournit des fonctions pour la résolution de systèmes d équations linéaires et la …   Wikipédia en Français

  • Lapack — Linear Algebra Package LAPACK (pour Linear Algebra PACKage) est une bibliothèque logicielle dédiée à la simulation numérique écrite en Fortran 77. Cette bibliothèque fournit des fonctions pour la résolution de systèmes d équations linéaires et la …   Wikipédia en Français


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»