トップページ -> コンピュータ -> Linux の C/C++ プログラミング用ツールとライブラリ -> Linux で CLAPACK バージョン 3.2.1 のビルドとインストール
[サイトマップへ], サイト内検索:

Linux で CLAPACK バージョン 3.2.1 のビルドとインストール

サイト構成 連絡先,業績など 実践知識 コンピュータ 教材 サポートページ

CLAPACK とは,元々 FORTRAN で書かれていた LAPACK の,C言語版 (C 言語に書き直されたもの) です.

LAPACK とは,行列に関する種々の問題(連立1次方程式,固有値問題,などなど多数).FORTRAN で書かれています.LAPACK は,BLAS の機能を利用して,種々の機能を実現します.(BLAS を速いものに入れ替えれば,CLAPACK も速くなる).

この Web ページでは,CLAPACK のインストール手順を説明する.

CLAPACK の使い方については,別のページで説明している.

Windows の Cygwin での手順は,別の Web ページで説明している

※ 関連Webページ: Linux で開発環境やツールを整備

BLAS とは?

BLAS(Basic Linear Algebra Subprograms)とは,行列演算,ベクトル演算の機能をもったプログラム群です. GotoBLASATLAS は,無料で使えるソフトウエアの中では,BLAS 実装の決定版といってよいでしょう.※ 他にも,優れた実装が複数あります.

<BLAS の機能の概要(ごく一部)>

LAPACK とは?

LAPACK とは,行列に関する種々の計算(連立1次方程式,固有値問題,などなど多数)のソフトウエアです. LAPACK は,BLAS の機能を利用して,種々の機能を実現します.(BLAS を速いものに入れ替えれば,LAPACK も速くなるということです).


事前準備


インストール手順

  1. CLAPACK の Web ページを開く

    http://www.netlib.org/clapack

  2. clapack.tgzをクリックしてダウンロード

  3. ダウンロードしたファイルを /tmp に移す

  4. ソースコードの展開

    cd /tmp
    tar -xvzof clapack.tgz
    

  5. cp make.inc.example make.inc

    cd CLAPACK-3.2.1
    cp make.inc.example make.inc
    

  6. make.inc の編集

  7. BLASLIB の値

  8. ビルドとテストプログラムの実行

    make -k
    

  9. ビルドとテストプログラムの結果の確認

    エラーメッセージが出ていないことを確認する.

    ※ エラーメッセージが出る場合でも,インストールまで強行しておいた方がよいでしょう.

  10. インストール

    sudo cp lapack_LINUX.a /usr/local/lib/libclapack_LINUX.a
    sudo cp tmglib_LINUX.a /usr/local/lib/libctmglib_LINUX.a
    sudo cp F2CLIBS/libf2c.a /usr/local/lib/libf2c.a
    sudo cp INCLUDE/*.h /usr/local/include
    sudo chmod 644 /usr/local/include/*.h
    

  11. (オプション)CLAPACK に付属の BLAS を使う場合に限り,次のコマンドを実行

    cp blas_INUX.a /usr/lib/libcblas_LINUX.a
    

CLAPACK を使うプログラムの例

前準備

注意点:

CLAPACK に付属の BLAS を使う場合は,ソースコードに 「#include<blaswrap.h$gt;」を書き加える.

CELL.B.E で動かす場合の変更点!

-------------------------------------------
vi f2c.h
変更前(157行目)
#define abs(x) ((x) >= 0 ? (x) : -(x))
変更後(157行目)
//#define abs(x) ((x) >= 0 ? (x) : -(x))
-------------------------------------------

ビルドと実行

gcc -o a.out eig_clapack.c -lgsl -lclapack_LINUX -lctmglib_LINUX -L/usr/atlas/lib -lptcblas -lptf77blas -latlas -lf2c -lpthread -lm


■ Intel Xeon E5450 での実行例

Octave を使う場合よりも遅いので元気が出ない.うーん (調査中,2009/07)

Intel MKL とリンクしてみる. (思ったほど速くないのは,何かプログラムを間違っているような気がします)


■ Intel Xeon E5450 での実行例