金子邦彦研究室インストールFreeBSDFreeBSD で ATLAS と LAPACK をビルドとインストール

FreeBSD で ATLAS と LAPACK をビルドとインストール

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

<BLAS の主な機能(ごく一部を紹介)>

<ATLAS と LAPACK のインストールの要点>

<この Web ページについて>

情報共有のために,この Web ページを公開している.ATLAS の情報減としては、 ATLAS errata ファイルや,ATLAS の説明書を読みきっていない等の問題を自覚している. 参考情報としてお使いください.

謝辞など

Octave や ATLAS に関しては,「octave for windowsメモの筆者」様が, http://c.2ch.net/ の「データ解析ツールoctaveを語ろう」掲示板 に書かれた内容を読み,掲示板での議論を通して,いくつかの貴重な示唆,ヒントを頂きました.この掲示板の匿名の投稿者の方々からも,やはり,重要な示唆を頂きました. この掲示板が無ければ,この Web ページはなかったでしょう. ありがとうございました.この場を借りてお礼申し上げます. ごく一部を以下に紹介しておく(私の判断で,大胆にまとめると次のようになる.詳しくは掲示板をご覧下さい).

ここで,敬意を込めて, 「octave for windowsメモの筆者」様の URL を記しておく. http://www.tatsuromatsuoka.com/octave/jpn/OctaveWinMemo.html (当時の URL,現存しない) (「リンクの許可は要りません」に甘えまして,リンクを張っています) ⇒ この Web ページは,分かりやすく,また,Octave に関係する種々の有益な情報が載ったページです.この Web ページからもたくさんの情報を得ました. (ごく一部紹介しますと,Octave の MinGW ライブラリキットのリリース等々で,昔から継続的に多大な貢献をされておられます).

※ 本 Web ページに残っているであろうミスは,掲示板等のミスではなく,本 Web ページの作者である私の責任です.

http://www.tatsuromatsuoka.com/octave/jpn/OctaveWinMemo.html (当時の URL,現存しない) のように,Octave については,すでに多数の優れた情報源があります, Octave を使いたい方は,そちらを見ていただきたいと考えています.例えば,ATLAS の性能をより引き出す方法(そのヒント)なども得られることでしょう.

前準備

前もってインストールしておくべきソフトウェア

事前に決めておく事項

CPU の論理コア数,クロック周波数,ビット数の確認

ATLAS と LAPACK のビルドとインストール

ここでの説明は,CPU の種類,物理コア数,クロック周波数,ビット数が下記の通りであるとして説明を続けるので, 適切に読み替えてください.

【本 Web ページでの設定】

■ Intel E8500 の場合

⇒ 各自,読み替えてください.

ATLAS のダウンロード

  1. ATLAS の「インストール概要」の Web ページを開く.

    http://math-atlas.sourceforge.net/atlas_install/atlas_install.html

  2. この Web ページの「Turn off CPU throttling when installing ATLAS」にあるように, CPU の周波数を落として節電する,というような機能があれば無効にしておく.
  3. ATLAS の Web ページを開く

    http://math-atlas.sourceforge.net/

  4. SourceForge Summary Page」をクリック
  5. Files」をクリック

    [image]
  6. ファイルの選択

    最新のファイル が欲しいので,一番上の altlas.ほにゃらら.tar.bz2をクリック ※最新の Stable が欲しいという場合には,下の方の Stable を展開して,ダウンロードする. ※ 但し,Core i7 のように新しい CPU を使う場合には,Stable よりも,最新のファイル(たとえ unstable であっても)うまくいく可能性がある.

    [image]

    クリックすると,ダウンロードが始まる.

ATLAS のビルドとインストール(1回目)

LAPACK のビルドのために ATLAS が欲しい.ATLAS のビルドのために LAPACK が欲しい,という状況なので, 先に ATLAS をビルド.後で LAPACK をビルドし,その後,ATLAS を再度ビルドという手順を踏むことにする.

  1. ダウンロードしたファイルを /tmp に移動
  2. tar コマンドを用いて解凍
    cd /tmp
    tar -xvjof altas3.9.13.tar.bz2
    

    [image]
  3. 解凍終了の確認

    [image]
  4. mv ATLAS ATLAS3.9.13」の実行

    [image]
  5. configure コマンドの実行

    【本 Web ページでの設定】

    ■ Intel E8500 の場合

    • CPU の物理コア数: 2
    • CPU のクロック周波数: 3160
    • CPU のビット数(ポインタの幅): 64

    ⇒ 各自,読み替えてください.

    cd ATLAS3.9.13
    mkdir B1
    cd B1
    export CC=gcc43
    export CXX=g++43
    export F77=gfortran43
    ../configure --cc=gcc43 -C acg gcc43 -C ic gcc43 -C xc gcc43 -C dk gcc43 -C dm gcc43 -C if gfortran43 -t 2 -m 3160 -b 64 -Fa alg -fPIC -D c -DPentiumCPS=3160 -D c -DWALL -Si nof77 0 -Si nocygwin 1  --prefix=/usr/atlas \
    -Ss flapack /tmp/lapack-3.2.1/SRC -Si latune 1
    

    [image]

    「-t ... -m ...」のところは,コア数と周波数を正しく設定すること.

    ※ 例えば,Corei7 のように物理コアは 4個だが論理コアは 8個(物理コア数と論理コア数が違う)という場合がありますが,-t ... には物理コア数を指定した方がよいみたいです(未確認の情報)

    ※ ATLAS バージョン 3.9.11 以下 (バージョン 3.8.ほにゃらら, 3.9.ほにゃららのとき)

    ATLAS バージョン 3.9.11 以下のときは, 「-Ss flapack /usr/ports/math/lapack/work/lapack-3.2.1/SRC -Si latune 1」とは書かずに, 「--with-netlib-lapack=/usr/ports/math/lapack/work/lapack-3.2.1//lapack_FREEBSD.a 」を付けます

    <説明>

  6. configure コマンドの結果の確認

    [image]
  7. make」 の実行
    make
    

    [image]
  8. make」の結果,エラーメッセージが出ないことを確認しておく.

    [image]
  9. make check」 の実行
    make check
    

    [image]

    「make check」 の結果,エラーメッセージが出ないことを確認しておく.

    [image]
  10. make ptcheck」 の実行
    make ptcheck
    

    [image]

    「make ptcheck」 の結果,エラーメッセージが出ないことを確認しておく.

    [image]
  11. make time の実行
    make time
    

    [image]
  12. make time の結果の確認

    「make time」 の結果,エラーメッセージが出ないことを確認しておく.

    [image]
  13. make install」 の実行
    make install
    

    [image]
  14. make install」 の結果の確認

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

    [image]
  • ファイルの確認

    [image]
  • 共有オブジェクト (.so) の生成とインストール
    cd lib
    make ptshared cptshared
    cp *.so /usr/atlas/lib
    

    CBLAS のテスト

    1. BLAS Technical Forum の Web ページを開く

      http://www.netlib.org/blas/blast-forum/

    2. Reference implementation for the C interface to the Legacy BLAS」をクリック.ダウンロードが始まる.
    3. ダウンロードしたソースコードを,/tmp の下に展開./tmp/CBLAS ができる
    4. Reference implementation for the C interface to the Legacy BLAS」に同梱のサンプルプログラムのテスト実行
      cd /tmp/CBLAS
      gcc -I/usr/atlas/include cblas_example1.c -L/usr/atlas/lib -lptcblas -lptf77blas -latlas -lpthread -L/usr/local/lib/gcc43 -lgfortran
      ./a.out
      

    [image]

    cblas_example1.c を引用すると次の通り。