LAPACK(Linear Algebra PACKage)

1.はじめに

LAPAKとはLinear Algebra PACKageの略称です。
線形計算のための数値解析ソフトウェアライブラリで線型方程式等を解くために利用されます。

DDBJ スパコンではmodule loadをすることで以下のバージョンが利用できます。

2.使用可能なバージョン

3.8.0 environmental modulesの配下

利用可能なノード/キュー
login.q(AMD)
epyc.c(AMD)
intel.q(Intel)
login_gpu.q(Intel+Volta)
gpu.q(Intel+Volta)
short.q(Intel)
medium.q(Intel)

3.(参考)外部ドキュメント

LAPACK Main Page
http://www.netlib.org/lapack/explore-html/

LAPACK Users' Guide Third Edition
https://www.netlib.org/lapack/lug/

LAPACKの詳細利用については、マニュアル等を参照してください。

4.使用方法

(1)LAPACKモジュールの内容の確認

$ module show lapack/gcc/64/3.8.0
-------------------------------------------------------------------
/cm/shared/modulefiles/lapack/gcc/64/3.8.0:

module-whatis Adds LAPACK library for GCC 64 bits to your environment.
setenv LAPACK_DIR /cm/shared/apps/lapack/gcc/64/3.8.0
prepend-path LD_LIBRARY_PATH /cm/shared/apps/lapack/gcc/64/3.8.0
prepend-path LIBRARY_PATH /cm/shared/apps/lapack/gcc/64/3.8.0

(2)C言語のコードを作成する。

#include <stdio.h>
#define SIZE 2

int main(void) {
<省略>
double A[SIZE*SIZE] ;
<省略>
dgesv_(&n,&nrhs,A,&lda,ipiv,b,&ldb,&info);
<省略>
}

(3)モジュールの読み込み

$ module load lapack/gcc/64/3.8.0


(4)GCCでコンパイル

$ gcc sample.c -lm -lblas -llapack

 

(5)プログラムの実行と結果確認

$ ./a.out

 結果が正しく得られているか確認する。

(6)モジュールのアンロード

$ module unload lapack/gcc/64/3.8.0