金子邦彦研究室インストールUbuntu, WSL2LAPACK のインストール (Ubuntu 上)(書きかけ)

LAPACK のインストール (Ubuntu 上)(書きかけ)

LAPACK とは,行列に関する種々の問題(連立1次方程式,固有値問題,などなど多数).FORTRAN で書かれている.

LAPACK は,BLAS の機能を利用して,種々の機能を実現する.(BLAS を速いものに入れ替えれば,LAPACK も速くなる).

LAPACK の URL: http://www.netlib.org/lapack

Ubuntu では,LAPACK は apt を使い,簡単,確実にインストールできる.

sudo apt -y update
sudo apt -y install libatlas3-base libatlas-base-dev

このページでは,特定のバージョンのLAPACK を使いたい場合を想定し,apt を使わずに,ソースコードを使ってインストールする手順を説明する.

ソフトウェア等の利用条件は,利用者自身で確認下さい.

謝辞

「octave for windowsメモの筆者」様より, http://c.2ch.net/ の「データ解析ツールoctaveを語ろう」掲示板を通し, さまざまな情報とご示唆を受けたことに感謝する. 「octave for windowsメモの筆者」様の URL を記しておく. http://www.tatsuromatsuoka.com/octave/jpn/OctaveWinMemo.html (当時の URL,現存しない)

前準備

Ubuntu のシステム更新

UbuntuUbuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行する.

UbuntuUbuntu のインストールは別ページ »で説明

sudo apt -y update
sudo apt -yV upgrade
sudo /sbin/shutdown -r now

C/C++ コンパイラー,make,パッケージツール,その他のインストール

端末で,次のコマンドを実行する.

sudo apt -y update
sudo apt -y install build-essential gcc g++ make libtool texinfo dpkg-dev pkg-config
sudo apt -y install gfortran wget libatlas3-base libatlas-base-dev

LAPACK のインストール

  1. ATLAS のファイル名の確認
    dpkg -L libatlas3-base
    dpkg -L libatlas-base-dev
    
  2. ソースコードのダウンロードと展開

    ◆ Ubuntu での操作手順例

    cd /tmp
    wget https://netlib.org/lapack/index.htmllapack-3.8.0.tar.gz
    rm -rf lapack-3.8.0
    tar -xvzof lapack-3.8.0.tar.gz
    

    [image]
    (以下省略)
  3. ソースコードのダウンロードと展開
    cd /tmp/lapack-3.8.0
    F1="-fomit-frame-pointer -mfpmath=sse -msse3 -fno-schedule-insns2 -fopenmp -fno-tree-loop-optimize  -fno-tree-vectorize -fexceptions -funroll-all-loops -march=native"
    cp make.inc.example make.inc
    make FORTRAN="gfortran -O3 -fpic -m64 -mieee-fp $F1" \
        LOADER="gfortran -O3 -fpic -m64 -mieee-fp $F1" 
    sudo cp liblapack.a /usr/local/lib/liblapack.a
    sudo cp libtmglib.a /usr/local/lib/libtmglib.a
    sudo chmod 755 /usr/local/lib/liblapack.a
    sudo chmod 755 /usr/local/lib/libtmglib.a
    
    # LAPACK の共有オブジェクト 
    cd /tmp/lapack-3.8.0
    rm -rf hoge
    mkdir hoge
    cd hoge
    ar x ../liblapack.a
    gcc -shared -o liblapack.so *.o
    sudo cp liblapack.so /usr/local/lib/liblapack.so
    
    cd /tmp/lapack-3.8.0
    rm -rf hoge
    mkdir hoge
    cd hoge
    ar x ../libtmglib.a
    gcc -shared -o libtmglib.so *.o
    sudo cp libtmglib.so /usr/local/lib/libtmglib.so
    
    make variants
    make variants_testing
    cd SRC/VARIANTS/LIB
    cp *.a /usr/local/lib
    

ld.so.confの設定

スーパーユーザで、下記を実行

  1. /etc/ld.so.confに以下の行を追加

    -------------ここから-----------
    /usr/local/lib
    --------------ここまで---------
    
    次のようになる

    [image]
  2. 「sudo /sbin/ldconfig」の実行