2015年2月2日月曜日

[kdb] Q Math Library (qml) (1) インストール

Q Math Library の使い方メモ
・配布元
http://althenia.net/qml


□インストール
以下は32bitのフリー版kdb向けの説明

(1) パッケージのDL
(2) 32bitコンパイラーのインストール
※先に(3)を実行してエラーになったら必要なものをインストールする感じで

# gcc 
yum install libgcc.i686
# gfortran
yum install libgfortran.i686

# LAPACK(BLAS) ※無くてもよかったっぽい
yum install lapack

ここは結構はまりました。qmlのconfigureではちゃんと動くコンパイラーをインストールしてくれとしか表示されないので。 gccとgfortranの32bitコンパイラーがインストールできているか確認するには、それぞれ簡単なプログラムをコンパイルしてみることをお勧めします。
# gcc
gcc -m64 -o ctest64 ctest.c
gcc -m32 -o ctest32 ctest.c

# gfortran
gfortran -m32 test.f90 -o test32
gfortran test.f90 -o test64

(3) インストール
configureファイルを見るとわかりますが、各種オプションが設定できます。
QHOMEが設定されている場合は、QHOMEのkdbのバージョンを見てコンパイルするビット数を自動で、QHOMEが無い場合はOSのバージョンを見るようです。
フリー版のkdbを使っている場合は32bitで、OSは通常64bitなので、必要があればオプションで32bitになるように設定してください。

# BLASとLAPACKのあたりは適宜
# ./configure --with-blas=/usr/lib64/libblas.so.3.4.2 --with-lapack=/usr/lib64/liblapack.so.3.4.2
./configure --build-blas
make
make test
make install

ちなみに、make install ではqml.qとqml.soがコピーされます。例↓
$ make install
・・・
cp qml.so '/opt/kdb/q'/l32/
cp qml.q  '/opt/kdb/q'/
・・・
(4) 実行
q) \l qml.q
q) .qml
     | ::
dll  | `qml
...
q).qml.nicdf .25 .5 .975                  / normal distribution quantiles
-0.6744898 0 1.959964



・おまけ
Cとfortranのサンプルソース
### CでHello world

#include 
int main(void){
    printf("Hello, World!\n");
    return 0;
}

### FortranでHello world
program main
    print *, 'Hello World!'
end



※最後の行はなぞ。なぜか表示される。。。

0 件のコメント:

コメントを投稿