トップページ -> インストール,設定,利用 -> 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ページ: 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をクリックしてダウンロード

    [image]
  3. ダウンロードしたファイルを /tmp に移す
  4. ソースコードの展開

    cd /tmp
    tar -xvzof clapack.tgz
    

    [image]
  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
    

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

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

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

    [image]
  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

[image]
■ Intel Xeon E5450 での実行例

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

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

[image]
■ Intel Xeon E5450 での実行例

本サイトのサイトマップは,サイトマップのページをご覧下さい. 本サイト内の検索は,サイト内検索のページをご利用下さい.

問い合わせ先: 金子邦彦(かねこ くにひこ) [image]