Google PlayストアでUnionpediaアプリを復元するために作業中です
出ていきます入ってきます
🌟ナビゲーションを改善するためにデザインを簡素化しました!
Instagram Facebook X LinkedIn
あなたのロゴとドメインを持つ独自のユニオンペディア、月額9.99 USDから
私のユニオンペディアを作成する

OpenBLAS

索引 OpenBLAS

OpenBLAS(オープンブラス)とは、数値線形代数のライブラリで、BLASとLAPACKのオープンソース実装である。様々なプロセッサ向けに、手作業で最適化している。以前より定評のあった、Texas Advanced Computing Center の後藤和茂による GotoBLAS(2010年を最後に更新なし)をベースに、2011年に GotoBLAS2 1.13 から派生して開発が続けられている。 Intel Sandy Bridgeマイクロアーキテクチャ や Loongson をはじめとして様々なプロセッサ向けに最適化していて、Intel oneAPI Math Kernel Library に匹敵する速度で動いていると主張している。

目次

  1. 10 関係: Armadillo (線形代数ライブラリ)Basic Linear Algebra SubprogramsIntel Math Kernel LibraryJulia (プログラミング言語)LAPACKNumPy数値線形代数数値解析の項目一覧数値解析ソフトの比較数値解析ソフトウェアの一覧

Armadillo (線形代数ライブラリ)

Armadilloは、数値線形代数のためのプログラミング言語C++のライブラリである。LAPACKと統合されており、各種の行列の分解を最適化された速度で実行することができる。また、加算や乗算など基本的な演算を、C++のテンプレートプログラミングや演算子のオーバーロードを活用して、遅延評価により計算することで高速化を図っている。オーストラリアの研究機関CSIROのグループ Data 61 で Conrad Sanderson が初版を開発した。

見る OpenBLASとArmadillo (線形代数ライブラリ)

Basic Linear Algebra Subprograms

Basic Linear Algebra Subprograms(BLAS)は数値線形代数の基礎的演算に必要な関数を定義するAPIである。ベクトル・行列演算を含む38の関数からなるLevel 1 BLASが1979年に発表されたのち、Level 2 および Level 3 まで拡張された。多数の実装が作成・整備され続けており、この分野におけるデファクトスタンダードとなっている。BLASの基礎演算を利用してLAPACKなどの上位パッケージが構築されており、科学技術計算・高性能計算で多用される。 BLASの関数を多用するソフトウェアにおいてBLAS実装(ライブラリ)の質は速度に直結する。高度な最適化は実装が動くハードウェアに依存するため、多くのハードウェアベンダーが自社デバイスに特化したライブラリを提供している(インテル:Intel oneAPI Math Kernel Library)。オープンソースの最適化 BLAS 実装として OpenBLAS などがある。

見る OpenBLASとBasic Linear Algebra Subprograms

Intel Math Kernel Library

Intel oneAPI Math Kernel Library (oneMKL) は、インテルが開発している、科学・工学・金融アプリケーション向けに提供される最適化(高速化)された数学ルーチンを含むライブラリである。提供される中心的な数学関数にはBLAS、LAPACK、、スパースソルバー(疎行列)、FFT、ベクトル演算が含まれている。インテルのCPUおよびGPUをサポートしている。オペレーティングシステムはWindows、Linux、macOSで利用可能である。対応プログラミング言語はC言語、C++、Fortran。

見る OpenBLASとIntel Math Kernel Library

Julia (プログラミング言語)

Julia(ジュリア)は、汎用プログラミング言語水準から高度の計算科学や数値解析水準まで対処するよう設計された高水準言語かつ仕様記述言語、及び動的プログラミング言語である。並行計算、並列計算、分散コンピューティング、及びAdapter パターン不要でC言語やFORTRANへのForeign function interfaceに対応している。ガベージコレクションを行い先行評価を用いるほか、浮動小数点数計算、線型代数学、高速フーリエ変換、正規表現照合のライブラリを利用できる。 LLVMコンパイラフレームワークを用いてC言語、C++、Schemeで組まれており、標準ライブラリの殆どは独自に実装された。注目すべき特徴は速度であり、完全に最適化したC言語(PythonやR言語よりも桁違いに速い場合が多い)と比べて計算パフォーマンスの低下は半分程度であると知られている。

見る OpenBLASとJulia (プログラミング言語)

LAPACK

LAPACK (Linear Algebra PACKage)は数値線形代数のための数値解析ソフトウェアライブラリで、線型方程式や線型最小二乗問題、固有値問題、特異値問題等を数値的に解くために利用される。本ライブラリは複素数または実数を成分とする行列を扱うことが可能であり、LU分解やコレスキー分解、QR分解、シュア分解等の行列の分解を行うためのサブルーチンを含む。サブルーチンは単精度版と倍精度版が提供される。のLAPACKの初版はFORTRAN 77 で実装されていたが、現在はFortran 90が用いられている。LAPACK 3.4.0からはC言語インターフェースであるLAPACKEが統合され、C言語やC++からの利用が容易になった。

見る OpenBLASとLAPACK

NumPy

NumPyは、プログラミング言語Pythonにおいて数値計算を効率的に行うための拡張モジュールである。効率的な数値計算を行うための型付きの多次元配列(例えばベクトルや行列などを表現できる)のサポートをPythonに加えるとともに、それらを操作するための大規模な高水準の数学関数ライブラリを提供する。

見る OpenBLASとNumPy

数値線形代数

数値解析における数値線形代数(すうちせんけいだいすう、Numerical linear algebra)とは、線形代数で現れる問題(行列積、行列指数関数、連立方程式や固有値・特異値問題)の計算・求解を行うアルゴリズムを創出するための学問である森正武.

見る OpenBLASと数値線形代数

数値解析の項目一覧

この記事では数値解析に関する項目の一覧を示す。

見る OpenBLASと数値解析の項目一覧

数値解析ソフトの比較

以下の表では数値解析ソフトウェアの比較を示す。

見る OpenBLASと数値解析ソフトの比較

数値解析ソフトウェアの一覧

数値解析ソフトウェアは、数値解析を行うために開発・利用されるコンピュータソフトウェア・ライブラリの総称。

見る OpenBLASと数値解析ソフトウェアの一覧