Ubuntu, Fedora での Octave のインストールとテスト実行
【概要】
Octave(オクターブ、MATLAB 互換の数値解析ソフトウェア)を Ubuntu と Fedora にインストールし、動作を確認する手順を説明する。
現在の Octave は、各 Linux ディストリビューションのパッケージ管理システム(Ubuntu は apt、Fedora は dnf)で導入するのが標準的で、最も簡単で確実である。以前はソースコードからのビルドが必要だった高速な行列演算ライブラリ(BLAS)も、いまはパッケージの OpenBLAS を入れるだけで利用できる。このページでは、パッケージによる標準の導入手順を中心に説明し、あわせて演算ライブラリを切り替えたときの性能比較の例を示す。
◆ BLAS とは?
BLAS(Basic Linear Algebra Subprograms)とは、行列演算・ベクトル演算の基本機能をまとめたプログラム群である。無料で使える最適化実装としては OpenBLAS が広く使われている。OpenBLAS は GotoBLAS2 を基に開発が続けられている後継で、BSD ライセンスで配布されている。かつて使われた GotoBLAS は 2008 年頃に開発が終了しており、ATLAS も現在はあまり使われない。商用の高性能実装として Intel oneMKL(旧称 Intel Math Kernel Library)もある。
◆ LAPACK とは?
LAPACK とは、連立1次方程式や固有値問題など、行列に関する種々の計算を行うソフトウェアである。Octave の動作に必要で、パッケージでまとめて導入される。
* このページでは Linux(Ubuntu と Fedora)を対象とする。Windows での Octave の導入は、Octave 公式のダウンロードページにインストーラーが用意されている。
* 関連 Web ページ: Octave の活用
【目次】
- Ubuntu での Octave のインストール(パッケージを使用)
- Fedora での Octave のインストール(パッケージを使用)
- 高速な BLAS(OpenBLAS)を使う
- Octave パッケージ(Octave Forge)のインストール
- 性能測定の例
【関連する外部ページ】
- Octave 本家サイト・オンラインマニュアル: https://octave.org/
- Octave のダウンロード: https://octave.org/download
- Octave パッケージ一覧: https://gnu-octave.github.io/packages/
- OpenBLAS: http://www.openmathlib.org/OpenBLAS/
【サイト内の関連情報】
- liboctave の使い方については、別のページで説明している。liboctave を使うと、Octave の行列関係の機能を呼び出す C++ のプログラムを作ることができる。
第1章 Ubuntu での Octave のインストール(パッケージを使用)
Ubuntu では、apt(パッケージ管理システム)を使って Octave をインストールする。標準リポジトリにも Octave は含まれるが、より新しいバージョンを使いたい場合は Octave 公式の PPA(個人用パッケージアーカイブ)を追加する。
- パッケージ情報の更新
sudo apt -y update sudo apt -y upgrade - Octave のインストール
標準リポジトリからインストールする場合は、次を実行する。
sudo apt -y install octaveより新しいバージョンを使いたい場合は、Octave 公式の PPA を追加してからインストールする。
sudo apt-add-repository -y ppa:octave/stable sudo apt -y update sudo apt -y install octave - (オプション)高速な行列演算ライブラリ(OpenBLAS)のインストール
行列演算を速くしたい場合は、OpenBLAS を入れておく。インストールすると、Octave はこれを自動的に利用する。
sudo apt -y install libopenblas-dev - バージョンの確認
octave --version
第2章 Fedora での Octave のインストール(パッケージを使用)
Fedora では、dnf(パッケージ管理システム)を使って Octave をインストールする。
- パッケージの更新
インストール前に全パッケージを更新しておくと、トラブルが減る。
sudo dnf -y upgrade - Octave のインストール
sudo dnf -y install octaveOctave を使う C++ プログラムのビルドなど、開発用のヘッダファイルも必要な場合は、次も入れる。
sudo dnf -y install octave-devel - (オプション)高速な行列演算ライブラリ(OpenBLAS)のインストール
sudo dnf -y install openblas - バージョンの確認
octave --version
第3章 高速な BLAS(OpenBLAS)を使う
Octave の行列演算の速さは、リンクされている BLAS 実装で決まる。標準の参照実装(reference BLAS)は動作するが速くない。OpenBLAS をインストールしておくと、大きな行列の計算が速くなる。
- Ubuntu の場合
sudo apt -y install libopenblas-dev - Fedora の場合
sudo dnf -y install openblas
インストール後、Octave がどの BLAS を使っているかは、Octave のプロンプトで次を実行して確認できる(version -blas_version は、リンクされている BLAS ライブラリの情報を表示する関数である)。
version -blas_version
第4章 Octave パッケージ(Octave Forge)のインストール
Octave の追加機能はパッケージとして提供される(かつて Octave Forge と呼ばれた仕組みで、現在は gnu-octave.github.io/packages に一覧がある)。パッケージは、Octave の pkg コマンドでインストールする。
- パッケージのインストール
Octave を起動し、プロンプトで
pkg installを実行する。例えば画像処理の image パッケージと信号処理の signal パッケージを入れるには、次のようにする(-forgeは公式パッケージ配布元から取得する指定である)。pkg install -forge image pkg install -forge signal - インストール済みパッケージの確認
pkg list - パッケージの読み込み
インストールしたパッケージは、使う前に
pkg loadで読み込む。pkg load image - テスト実行
ためしに、行列を作って表示してみる。
X = rand(3, 3) Y = X * X'