Basic Linear Algebra Subprograms (original) (raw)
Η Basic Linear Algebra Subroutine γνωστή και με την συντομογραφία BLAS είναι μια ντεφάκτο σύμβαση για δημιουργία προγραμματιστικών διεπαφών (APIs: Application Programmers interfaces) για προγραμματιστικές βιβλιοθήκες οι οποίες υλοποιούν αλγόριθμους γραμμικής άλγεβρας που συσχετίζονται με διανυσματικές πράξεις και πίνακες (π.χ. πολλαπλασιασμό πινάκων). Η ιδέα για πρώτη φορά δημοσιεύτηκε το 1979 και έχει χρησιμοποιηθεί για την υλοποίηση μεγάλων μαθηματικών βιβλιοθηκών όπως η LAPACK.
Property | Value |
---|---|
dbo:abstract | Η Basic Linear Algebra Subroutine γνωστή και με την συντομογραφία BLAS είναι μια ντεφάκτο σύμβαση για δημιουργία προγραμματιστικών διεπαφών (APIs: Application Programmers interfaces) για προγραμματιστικές βιβλιοθήκες οι οποίες υλοποιούν αλγόριθμους γραμμικής άλγεβρας που συσχετίζονται με διανυσματικές πράξεις και πίνακες (π.χ. πολλαπλασιασμό πινάκων). Η ιδέα για πρώτη φορά δημοσιεύτηκε το 1979 και έχει χρησιμοποιηθεί για την υλοποίηση μεγάλων μαθηματικών βιβλιοθηκών όπως η LAPACK. (el) Basic Linear Algebra Subprograms (kurz: BLAS) bezeichnet eine Programmbibliothek, die elementare Operationen der linearen Algebra wie Vektor- und Matrixmultiplikationen bereitstellt. Es gibt eine Vielzahl von Implementierungen in verschiedenen Sprachen bzw. für verschiedene Architekturen und Plattformen. Der Vorteil von BLAS liegt nicht nur in der Wiederverwendbarkeit und der Arbeitserleichterung für den Programmierer, sondern auch in der Möglichkeit für Hardwarehersteller, für diese häufig gebrauchten Subroutinen hochoptimierte, zum Teil in Assembler realisierte Implementierungen bereitzustellen. Daher finden BLAS vor allem im Supercomputing-Bereich breite Verwendung. Die Definition der Schnittstelle zu BLAS ist ein De-facto-Standard. (de) Basic Linear Algebra Subprograms (BLAS) is a specification that prescribes a set of low-level routines for performing common linear algebra operations such as vector addition, scalar multiplication, dot products, linear combinations, and matrix multiplication. They are the de facto standard low-level routines for linear algebra libraries; the routines have bindings for both C ("CBLAS interface") and Fortran ("BLAS interface"). Although the BLAS specification is general, BLAS implementations are often optimized for speed on a particular machine, so using them can bring substantial performance benefits. BLAS implementations will take advantage of special floating point hardware such as vector registers or SIMD instructions. It originated as a Fortran library in 1979 and its interface was standardized by the BLAS Technical (BLAST) Forum, whose latest BLAS report can be found on the netlib website. This Fortran library is known as the reference implementation (sometimes confusingly referred to as the BLAS library) and is not optimized for speed but is in the public domain. Most libraries that offer linear algebra routines conform to the BLAS interface, allowing library users to develop programs that are indifferent to the BLAS library being used. BLAS implementations have known a spectacular explosion in uses with the development of GPGPU, with cuBLAS and rocBLAS being prime examples. CPU-based examples of BLAS libraries include: OpenBLAS, BLIS (BLAS-like Library Instantiation Software), Arm Performance Libraries, ATLAS, and Intel Math Kernel Library (MKL). AMD maintains a fork of BLIS that is optimized for the AMD platform. ATLAS is a portable library that automatically optimizes itself for an arbitrary architecture. MKL is a freeware and proprietary vendor library optimized for x86 and x86-64 with a performance emphasis on Intel processors. OpenBLAS is an open-source library that is hand-optimized for many of the popular architectures. The LINPACK benchmarks rely heavily on the BLAS routine gemm for its performance measurements. Many numerical software applications use BLAS-compatible libraries to do linear algebra computations, including LAPACK, LINPACK, Armadillo, GNU Octave, Mathematica, MATLAB, NumPy, R, and Julia. (en) Basic Linear Algebra Subprograms (BLAS) est un ensemble de fonctions standardisées (interface de programmation) réalisant des opérations de base de l'algèbre linéaire telles que des additions de vecteurs, des produits scalaires ou des multiplications de matrices. Ces fonctions ont d'abord été publiées en 1979 et sont utilisées dans des bibliothèques plus développées comme LAPACK. Largement utilisées pour le calcul haute performance, ces fonctions ont été développées de manière très optimisée par des constructeurs de calculateurs comme Intel et AMD, ou encore par d'autres auteurs ( (en) BLAS et (en) - une version portable de BLAS - en sont des exemples). Les tests de performance LINPACK utilisent massivement la fonction multiplication de matrices générales (DGEMM) de BLAS. (fr) Basic Linear Algebra Subprograms (BLAS), en español Subprogramas Básicos de Álgebra Lineal, es una especificación que define un conjunto de rutinas de bajo nivel para realizar operaciones comunes de álgebra lineal tales como la suma de vectores, multiplicación escalar, producto escalar, combinaciones lineales y multiplicación de matrices. Son las rutinas estándar de facto de bajo nivel para bibliotecas de álgebra lineal, con bindings para C (interfaz CBLAS) y Fortran (interfaz BLAS). Aunque la especificación de BLAS es general, las implementaciones particulares están a menudo optimizadas para conseguir mayor aceleración en una máquina o arquitectura particular, de forma que su uso puede conllevar un incremento sustancial del rendimiento. Las implementaciones de BLAS se pueden aprovechar de la existencia de hardware especial de punto flotante, tales como registros vectoriales o instrucciones SIMD. Tuvo origen como biblioteca de Fortran en 1979 y su interfaz fue estandarizada por el Foro Técnico BLAS (BLAST), cuyo último informe sobre BLAS se puede encontrar en el sitio web de . Esta biblioteca se conoce como la implementación de referencia y es de dominio público (a veces se la conoce de manera confusa como la biblioteca BLAS), aunque no está optimizada en velocidad. La mayoría de las bibliotecas que ofrecen rutinas de álgebra lineal se ajustan a la interfaz BLAS, lo que permite a los usuarios de la biblioteca desarrollar programas independientes de la biblioteca BLAS que se esté utilizando. Ejemplos de bibliotecas BLAS incluyen: (ACML), Arm Performance Libraries, , (MKL) y . ACML ya no es compatible con su productor. ATLAS es una biblioteca portátil que se optimiza automáticamente para una arquitectura arbitraria. MKL es una biblioteca de proveedor de software gratuito y propietaria optimizada para x86 y x86-64 con un énfasis en el rendimiento de los procesadores Intel. OpenBLAS es una biblioteca de código abierto que está optimizada manualmente para muchas de las arquitecturas populares. Los benchmark de LINPACK se basan en gran medida en la gemm rutina BLAS para sus mediciones de rendimiento. Muchas aplicaciones de software numérico utilizan bibliotecas compatibles con BLAS para realizar cálculos de álgebra lineal, como Armadillo, LAPACK, LINPACK, GNU Octave, Mathematica, MATLAB, NumPy, R y Julia. (es) Subprogram Aljabar Linear Dasar (SALD, dalam Bahasa Inggris: Basic Linear Algebra Subprograms, BLAS) adalah spesifikasi yang mengatur kumpulan rutin tingkat rendah yang berkaitan dengan melakukan operasi aljabar linear umum seperti penambahan vektor, perkalian skalar, perkalian titik, kombinasi linear, dan perkalian matriks. Operasi-operasi tersebut secara de facto adalah standar rutin tingkat rendah untuk pustaka tentang aljabar linear. Meskipun spesifikasi SALD bersifat umum, implementasi SALD pada perangkat tertentu sering kali mengoptimalkan aspek kecepatan, agar penggunaannya dapat memberikan peforma yang menguntungkan secara substansial. Implementasi SALD akan memanfaatkan perangkat keras titik kambang khusus seperti register vektor atau instruksi SIMD. SALD berasal dari pustaka Fortran pada tahun 1979 dan antarmukanya distandarkan oleh BLAS Technical (BLAST) Forum, dengan laporan SALD terbaru dapat ditemukan pada situs web . Pustaka Fortran ini dikenal sebagai implementasi acuan dan tidak dioptimalkan untuk kecepatan, tetapi berada dalam domain publik. Kebanyakan pustaka menawarkan rutinitas aljabar linear yang kompatibel dengan antarmuka SALD, memungkinkan pengguna pustaka untuk mengembangkan program yang tidak bergantung dengan pustaka SALD yang mereka gunakan. Contoh perpustakaan SALD meliputi: AMD Core Math Library (ACML), Arm Performance Libraries, Automatically Tuned Linear Algebra Software (ATLAS), Intel Math Kernel Library (MKL), dan OpenBLAS. ACML sudah tidak didukung oleh produsennya. ATLAS adalah pustaka portabel yang secara otomatis mengoptimalkan dirinya sendiri keadaan arsitektur ia dijalankan. MKL adalah freeware dan vendor library berbayar yang dioptimalkan untuk x86 dan x86-64 dengan penekanan kinerja pada prosesor Intel. OpenBLAS adalah pustaka open-source yang dioptimalkan untuk banyak arsitektur populer. LINPACK benchmark sangat bergantung pada routine gemmpada SALD untuk prosesnya dalam mengukur performa. Banyak aplikasi perangkat lunak numerik menggunakan pustaka yang kompatibel dengan SALD ketika melakukan komputasi aljabar linear, termasuk , , LINPACK, GNU Octave, Mathematica, MATLAB, NumPy, R, dan . (in) Basic Linear Algebra Subprograms(BLAS)は数値線形代数の基礎的演算に必要な関数を定義するAPIである。ベクトル・行列演算を含む38の関数からなるLevel 1 BLASが1979年に発表されたのち、Level 2 および Level 3 まで拡張された。多数の実装が作成・整備され続けており、この分野におけるデファクトスタンダードとなっている。BLASの基礎演算を利用してLAPACKなどの上位パッケージが構築されており、科学技術計算・高性能計算で多用される。 BLASの関数を多用するソフトウェアにおいてBLAS実装(ライブラリ)の質は速度に直結する。高度な最適化は実装が動くハードウェアにも依存するため、特定CPUに特化したライブラリが提供される場合もある(インテルCPU向け: Intel Math Kernel Library)。オープンソースの最適化 BLAS 実装として OpenBLAS や がある。 LINPACK ベンチマークの性能は、BLAS のサブルーチンである DGEMM(倍精度汎用行列乗算)の性能に大きく影響される。 (ja) BLAS (Basic Linear Algebra Subprograms) to wysokiej jakości procedury numeryczne służące do przeprowadzania podstawowych operacji algebraicznych na macierzach i wektorach. Ze względu na funkcjonalność wyróżnia się trzy poziomy BLAS-ów: * poziom 1 - operacje wektor * wektor, * poziom 2 - operacje macierz * wektor, * poziom 3 - operacje macierz * macierz. Na procedurach BLAS opierają się biblioteki LAPACK i LINPACK. (pl) Basic Linear Algebra Subprograms (BLAS) (укр. Основні підпрограми з лінійної алгебри) — встановлений де-факто стандарт інтерфейсу бібліотек підпрограм, призначених для виконання основних операцій лінійної алгебри, таких як, наприклад, множення матриць та векторів. Уперше такі підпрограми було опубліковано 1979 року. На їх основі будуються більші пакети, такі як LAPACK. Конкретні втілення протоколу у вигляді бібліотек розробляються як провідними лідерами комп'ютерної технології, наприклад, Intelом, так і іншими авторами. Підпрограми лінійної алгебри широко використовуються в застосуваннях, які вимагають інтенсивних обчислень, а тому вимагають особливо уважної розробки й оптимізації. Наприклад, — варіант BLAS, який може легко переноситися з однієї платформи на іншу й оптимізуватися для використання на машинах конкретної архітектури. Бенчмарк LINPACK сильно залежить від швидкості виконання підпрограми DGEMM, яка входить до BLAS. (uk) BLAS (англ. Basic Linear Algebra Subprograms — базовые подпрограммы линейной алгебры) — стандарт де-факто интерфейса программирования приложений для создания библиотек, выполняющих основные операции линейной алгебры, такие как умножение векторов и матриц. Впервые опубликован в 1979 году, и использован для создания больших пакетов, например LAPACK. Интенсивно используемые в высокопроизводительных вычислениях, высокооптимизированные реализации интерфейса BLAS были разработаны производителями аппаратного обеспечения, такими как Intel, а также другими авторами (например, ATLAS — переносимый самооптимизирующийся BLAS). Тест LINPACK Benchmark в своей работе основывается в большой степени на , подпрограмме BLAS. (ru) BLAS(英語:Basic Linear Algebra Subprograms,基础线性代数程序集)是一个应用程序接口(API)标准,用以规范发布基础线性代数操作的数值库(如矢量或矩阵乘法)。该程序集最初发布于1979年,并用于建立更大的数值程序包(如LAPACK)。在高性能计算领域,BLAS被广泛使用。例如,LINPACK的运算成绩则很大程度上取决于BLAS中子程序的表现。 为提高性能,各軟硬件厂商则针对其產品对BLAS接口实现进行高度最佳化。 (zh) |
dbo:computingPlatform | dbr:Cross-platform |
dbo:genre | dbr:Library_(computing) |
dbo:latestReleaseDate | 2021-06-29 (xsd:date) |
dbo:latestReleaseVersion | 3.10.0 |
dbo:wikiPageExternalLink | https://web.archive.org/web/20061009230904/http:/history.siam.org/oralhistories/dongarra.htm https://web.archive.org/web/20061009230911/http:/history.siam.org/oralhistories/lawson.htm https://stackoverflow.com/questions/1303182/how-does-blas-get-such-extreme-performance http://www.netlib.org/blas/ http://www.netlib.org/blas/faq.html http://www.netlib.org/lapack/lug/node145.html |
dbo:wikiPageID | 1060721 (xsd:integer) |
dbo:wikiPageLength | 36665 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1120747813 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:PowerPC dbr:Scalar_(mathematics) dbr:Scalar_multiplication dbr:NEC_Corporation dbr:Numerical_linear_algebra dbr:Julia_(programming_language) dbr:Pentium_(brand) dbr:VIA_Technologies dbr:Vector_space dbr:De_facto dbr:Intel_Atom dbr:Library_(computing) dbr:GPU dbr:List_of_numerical_libraries dbr:Cross-platform dbr:Math_Kernel_Library dbr:Mathematica dbr:Matrix_multiplication dbr:Matrix_multiplication_algorithm dbr:SIMD dbr:SPARC dbr:SUPER-UX dbr:Generic_programming dbr:Norm_(mathematics) dbr:VIA_Nano dbr:Opteron dbr:Eigen_(C++_library) dbr:GNU_Octave dbr:GNU_Scientific_Library dbr:GPGPU dbr:GotoBLAS dbr:NICTA dbr:NVIDIA dbr:LINPACK dbr:Apple_Inc. dbr:Application_programming_interface dbr:Linear_algebra dbr:Linear_time dbr:Linux dbr:MATLAB dbr:MIPS_architecture dbr:MacOS dbr:Silicon_Graphics dbr:Kernel_(operating_system) dbr:Public_domain dbr:Xeon_Phi dbr:Specification_(technical_standard) dbr:Strassen_algorithm dbr:Stride_of_an_array dbr:Translation_lookaside_buffer dbr:BLAS dbr:BLIS_(software) dbc:Public-domain_software_with_source_code dbr:C++ dbr:CPU_cache dbr:CUDA dbr:C_(programming_language) dbr:Transpose dbr:Distributed_memory dbr:Locality_of_reference dbr:AMD dbr:ARM_architecture_family dbr:Advanced_Micro_Devices dbr:Amortized_analysis dbr:D_(programming_language) dbr:FORTRAN dbr:Fortran dbr:NumPy dbr:Kazushige_Goto dbr:PA-RISC dbr:HP-UX dbr:Hewlett-Packard dbr:Irix dbr:Itanium dbr:Vector_processor dbr:Arm_(company) dbr:Armadillo_(C++_library) dbr:AArch64 dbr:AMD64 dbc:Numerical_linear_algebra dbc:Numerical_software dbr:LAPACK dbr:LINPACK_benchmarks dbr:LLVM dbr:Block_matrix dbr:Reference_implementation dbr:Dot_product dbr:Automatically_Tuned_Linear_Algebra_Software dbr:C++_AMP dbr:Sparse_matrix dbr:IBM dbr:IOS_(Apple) dbr:Intel dbr:Intel_Core dbr:Microsoft_Windows dbr:Nehalem_(microarchitecture) dbr:Open-source_software dbr:OpenBLAS dbr:OpenCL dbr:ROCm dbr:R_(programming_language) dbr:Cache_memory dbr:X86 dbr:X86-64 dbr:Matrix_Template_Library dbr:NEC_SX_architecture dbr:Netlib dbr:IA-64 dbr:Triangular_matrix dbr:Xeon dbr:Boost_library dbr:L2_cache dbr:GPUs dbr:Matrix_exponentiation dbr:AIX_operating_system dbr:Hermitian_conjugate dbr:Intel_Math_Kernel_Library dbr:Exponential_integrators dbr:Mozilla_license dbr:Library_for_Accelerated_Math_Applications dbr:Magnus_integrators dbr:Scientific_Subroutine_Package |
dbp:cs1Dates | y (en) |
dbp:date | March 2020 (en) |
dbp:genre | dbr:Library_(computing) |
dbp:latestReleaseDate | 2021-06-29 (xsd:date) |
dbp:latestReleaseVersion | 3.100000 (xsd:double) |
dbp:name | BLAS (en) |
dbp:platform | dbr:Cross-platform |
dbp:programmingLanguage | depends on implementation (en) |
dbp:website | http://www.netlib.org/blas/ |
dbp:wikiPageUsesTemplate | dbt:= dbt:Citation dbt:Code dbt:Dubious dbt:Infobox_software dbt:Math dbt:R dbt:Reflist dbt:See_also dbt:Sfn dbt:Short_description dbt:Start_date_and_age dbt:Use_dmy_dates dbt:Linear_algebra dbt:Doi-inline dbt:Numerical_linear_algebra |
dcterms:subject | dbc:Public-domain_software_with_source_code dbc:Numerical_linear_algebra dbc:Numerical_software |
gold:hypernym | dbr:Specification |
rdf:type | owl:Thing dbo:Software schema:CreativeWork dbo:Work wikidata:Q386724 wikidata:Q7397 yago:Abstraction100002137 yago:Code106355894 yago:CodingSystem106353757 yago:Communication100033020 yago:Writing106359877 yago:WrittenCommunication106349220 dbo:ProgrammingLanguage yago:Software106566077 |
rdfs:comment | Η Basic Linear Algebra Subroutine γνωστή και με την συντομογραφία BLAS είναι μια ντεφάκτο σύμβαση για δημιουργία προγραμματιστικών διεπαφών (APIs: Application Programmers interfaces) για προγραμματιστικές βιβλιοθήκες οι οποίες υλοποιούν αλγόριθμους γραμμικής άλγεβρας που συσχετίζονται με διανυσματικές πράξεις και πίνακες (π.χ. πολλαπλασιασμό πινάκων). Η ιδέα για πρώτη φορά δημοσιεύτηκε το 1979 και έχει χρησιμοποιηθεί για την υλοποίηση μεγάλων μαθηματικών βιβλιοθηκών όπως η LAPACK. (el) Basic Linear Algebra Subprograms (BLAS) est un ensemble de fonctions standardisées (interface de programmation) réalisant des opérations de base de l'algèbre linéaire telles que des additions de vecteurs, des produits scalaires ou des multiplications de matrices. Ces fonctions ont d'abord été publiées en 1979 et sont utilisées dans des bibliothèques plus développées comme LAPACK. Largement utilisées pour le calcul haute performance, ces fonctions ont été développées de manière très optimisée par des constructeurs de calculateurs comme Intel et AMD, ou encore par d'autres auteurs ( (en) BLAS et (en) - une version portable de BLAS - en sont des exemples). Les tests de performance LINPACK utilisent massivement la fonction multiplication de matrices générales (DGEMM) de BLAS. (fr) Basic Linear Algebra Subprograms(BLAS)は数値線形代数の基礎的演算に必要な関数を定義するAPIである。ベクトル・行列演算を含む38の関数からなるLevel 1 BLASが1979年に発表されたのち、Level 2 および Level 3 まで拡張された。多数の実装が作成・整備され続けており、この分野におけるデファクトスタンダードとなっている。BLASの基礎演算を利用してLAPACKなどの上位パッケージが構築されており、科学技術計算・高性能計算で多用される。 BLASの関数を多用するソフトウェアにおいてBLAS実装(ライブラリ)の質は速度に直結する。高度な最適化は実装が動くハードウェアにも依存するため、特定CPUに特化したライブラリが提供される場合もある(インテルCPU向け: Intel Math Kernel Library)。オープンソースの最適化 BLAS 実装として OpenBLAS や がある。 LINPACK ベンチマークの性能は、BLAS のサブルーチンである DGEMM(倍精度汎用行列乗算)の性能に大きく影響される。 (ja) BLAS (Basic Linear Algebra Subprograms) to wysokiej jakości procedury numeryczne służące do przeprowadzania podstawowych operacji algebraicznych na macierzach i wektorach. Ze względu na funkcjonalność wyróżnia się trzy poziomy BLAS-ów: * poziom 1 - operacje wektor * wektor, * poziom 2 - operacje macierz * wektor, * poziom 3 - operacje macierz * macierz. Na procedurach BLAS opierają się biblioteki LAPACK i LINPACK. (pl) BLAS(英語:Basic Linear Algebra Subprograms,基础线性代数程序集)是一个应用程序接口(API)标准,用以规范发布基础线性代数操作的数值库(如矢量或矩阵乘法)。该程序集最初发布于1979年,并用于建立更大的数值程序包(如LAPACK)。在高性能计算领域,BLAS被广泛使用。例如,LINPACK的运算成绩则很大程度上取决于BLAS中子程序的表现。 为提高性能,各軟硬件厂商则针对其產品对BLAS接口实现进行高度最佳化。 (zh) Basic Linear Algebra Subprograms (BLAS) is a specification that prescribes a set of low-level routines for performing common linear algebra operations such as vector addition, scalar multiplication, dot products, linear combinations, and matrix multiplication. They are the de facto standard low-level routines for linear algebra libraries; the routines have bindings for both C ("CBLAS interface") and Fortran ("BLAS interface"). Although the BLAS specification is general, BLAS implementations are often optimized for speed on a particular machine, so using them can bring substantial performance benefits. BLAS implementations will take advantage of special floating point hardware such as vector registers or SIMD instructions. (en) Basic Linear Algebra Subprograms (kurz: BLAS) bezeichnet eine Programmbibliothek, die elementare Operationen der linearen Algebra wie Vektor- und Matrixmultiplikationen bereitstellt. Es gibt eine Vielzahl von Implementierungen in verschiedenen Sprachen bzw. für verschiedene Architekturen und Plattformen. Der Vorteil von BLAS liegt nicht nur in der Wiederverwendbarkeit und der Arbeitserleichterung für den Programmierer, sondern auch in der Möglichkeit für Hardwarehersteller, für diese häufig gebrauchten Subroutinen hochoptimierte, zum Teil in Assembler realisierte Implementierungen bereitzustellen. Daher finden BLAS vor allem im Supercomputing-Bereich breite Verwendung. (de) Basic Linear Algebra Subprograms (BLAS), en español Subprogramas Básicos de Álgebra Lineal, es una especificación que define un conjunto de rutinas de bajo nivel para realizar operaciones comunes de álgebra lineal tales como la suma de vectores, multiplicación escalar, producto escalar, combinaciones lineales y multiplicación de matrices. Son las rutinas estándar de facto de bajo nivel para bibliotecas de álgebra lineal, con bindings para C (interfaz CBLAS) y Fortran (interfaz BLAS). Aunque la especificación de BLAS es general, las implementaciones particulares están a menudo optimizadas para conseguir mayor aceleración en una máquina o arquitectura particular, de forma que su uso puede conllevar un incremento sustancial del rendimiento. Las implementaciones de BLAS se pueden aprovechar de (es) Subprogram Aljabar Linear Dasar (SALD, dalam Bahasa Inggris: Basic Linear Algebra Subprograms, BLAS) adalah spesifikasi yang mengatur kumpulan rutin tingkat rendah yang berkaitan dengan melakukan operasi aljabar linear umum seperti penambahan vektor, perkalian skalar, perkalian titik, kombinasi linear, dan perkalian matriks. Operasi-operasi tersebut secara de facto adalah standar rutin tingkat rendah untuk pustaka tentang aljabar linear. Meskipun spesifikasi SALD bersifat umum, implementasi SALD pada perangkat tertentu sering kali mengoptimalkan aspek kecepatan, agar penggunaannya dapat memberikan peforma yang menguntungkan secara substansial. Implementasi SALD akan memanfaatkan perangkat keras titik kambang khusus seperti register vektor atau instruksi SIMD. (in) BLAS (англ. Basic Linear Algebra Subprograms — базовые подпрограммы линейной алгебры) — стандарт де-факто интерфейса программирования приложений для создания библиотек, выполняющих основные операции линейной алгебры, такие как умножение векторов и матриц. Тест LINPACK Benchmark в своей работе основывается в большой степени на , подпрограмме BLAS. (ru) Basic Linear Algebra Subprograms (BLAS) (укр. Основні підпрограми з лінійної алгебри) — встановлений де-факто стандарт інтерфейсу бібліотек підпрограм, призначених для виконання основних операцій лінійної алгебри, таких як, наприклад, множення матриць та векторів. Уперше такі підпрограми було опубліковано 1979 року. На їх основі будуються більші пакети, такі як LAPACK. Конкретні втілення протоколу у вигляді бібліотек розробляються як провідними лідерами комп'ютерної технології, наприклад, Intelом, так і іншими авторами. Підпрограми лінійної алгебри широко використовуються в застосуваннях, які вимагають інтенсивних обчислень, а тому вимагають особливо уважної розробки й оптимізації. Наприклад, — варіант BLAS, який може легко переноситися з однієї платформи на іншу й оптимізуватися для вик (uk) |
rdfs:label | Basic Linear Algebra Subprograms (de) Basic Linear Algebra Subprograms (el) Basic Linear Algebra Subprograms (en) Basic Linear Algebra Subprograms (es) Subprogram Aljabar Linear Dasar (in) Basic Linear Algebra Subprograms (fr) Basic Linear Algebra Subprograms (ja) Basic Linear Algebra Subprograms (pl) Basic Linear Algebra Subprograms (ru) BLAS (zh) Basic Linear Algebra Subprograms (uk) |
rdfs:seeAlso | dbr:LAPACK |
owl:sameAs | freebase:Basic Linear Algebra Subprograms wikidata:Basic Linear Algebra Subprograms dbpedia-de:Basic Linear Algebra Subprograms dbpedia-el:Basic Linear Algebra Subprograms dbpedia-es:Basic Linear Algebra Subprograms dbpedia-fr:Basic Linear Algebra Subprograms dbpedia-id:Basic Linear Algebra Subprograms dbpedia-ja:Basic Linear Algebra Subprograms dbpedia-pl:Basic Linear Algebra Subprograms dbpedia-ru:Basic Linear Algebra Subprograms dbpedia-uk:Basic Linear Algebra Subprograms dbpedia-vi:Basic Linear Algebra Subprograms dbpedia-zh:Basic Linear Algebra Subprograms https://global.dbpedia.org/id/4y8kA |
prov:wasDerivedFrom | wikipedia-en:Basic_Linear_Algebra_Subprograms?oldid=1120747813&ns=0 |
foaf:homepage | http://www.netlib.org/blas/ |
foaf:isPrimaryTopicOf | wikipedia-en:Basic_Linear_Algebra_Subprograms |
foaf:name | BLAS (en) |
is dbo:genre of | dbr:GotoBLAS dbr:BLIS_(software) dbr:OpenBLAS |
is dbo:knownFor of | dbr:Jack_Dongarra |
is dbo:wikiPageDisambiguates of | dbr:Blas |
is dbo:wikiPageRedirects of | dbr:General_Matrix_Multiply dbr:BLAS dbr:Basic_linear_algebra_subprograms dbr:DGEMM dbr:Axpy dbr:General_matrix_multiply dbr:SAXPY dbr:SGEMM dbr:GEMV dbr:Caxpy dbr:Daxpy dbr:AXPY dbr:CBLAS dbr:CGEMM dbr:ZGEMM dbr:Zaxpy |
is dbo:wikiPageWikiLink of | dbr:Numerical_linear_algebra dbr:Public-domain_software dbr:Computational_complexity_of_matrix_multiplication dbr:Math.NET_Numerics dbr:Matrix_multiplication_algorithm dbr:Cilk dbr:GNU_Scientific_Library dbr:GPULib dbr:General_Matrix_Multiply dbr:GotoBLAS dbr:GraphBLAS dbr:LINPACK dbr:Letter_case dbr:Linear_algebra dbr:BLAS dbr:BLIS_(software) dbr:Trilinos dbr:NumPy dbr:Basic_linear_algebra_subprograms dbr:Kazushige_Goto dbr:List_of_OpenCL_applications dbr:Jack_Dongarra dbr:Couenne dbr:Assembly_language dbr:AMD_Core_Math_Library dbr:LAPACK dbr:Blas dbr:DnAnalytics dbr:Automatically_Tuned_Linear_Algebra_Software dbr:DGEMM dbr:IT++ dbr:OpenBLAS dbr:Axpy dbr:ROCm dbr:General_matrix_multiply dbr:Magma_(disambiguation) dbr:Netlib dbr:Row-_and_column-major_order dbr:SAXPY dbr:SGEMM dbr:GEMV dbr:Caxpy dbr:Daxpy dbr:AXPY dbr:CBLAS dbr:CGEMM dbr:ZGEMM dbr:Zaxpy |
is rdfs:seeAlso of | dbr:LAPACK |
is foaf:primaryTopic of | wikipedia-en:Basic_Linear_Algebra_Subprograms |