install scalapack library MKL intel fortran linux

Assalamu’alaikum warahmatullahi wabarakatuh..

Scalapack atau Scalable LAPACK adalah library dari high performance linear algebra untuk memori terdistribusi yang didukung oleh MPI. Dalam tulisan ini kita akan membahas sedikit tentang bagaimana instalasi Scalapack di Linux karena beberapa cara instalasi Scalapack sudah kadaluwarsa. Hal ini disebabkan versi baru dari Scalapack telah memasukkan library BLACS sehingga tidak diperlukan lagi link terhadap library BLACS.

Instalasi Scalapack sangat simpel, cukup rename file SLmake.inc.example menjadi SLmake.inc. Pastikan BLAS, LAPACK dan Open MPI/MPICH2, telah terinstall. Edit file SLmake.inc ganti BLASLIB, LAPACKLIB dan LIB dengan yang kalian miliki. Misalnya di sini aku menggunakan BLAS dan LAPACK yang ada di repo Debian dan sudah terinstall.

#  BLAS, LAPACK (and possibly other) libraries needed for linking test programs
#

BLASLIB       = -lblas
LAPACKLIB     = -llapack
LIBS          = /usr/lib/libblas.so.3 /usr/lib/liblapack.so.3

Kemudian simpan dan kompilasi bisa dilakukan dengan perintah make. Setelah kompilasi selesai akan dihasilkan libscalapack.a yang bisa digunakan untuk di-link dengan NWchem. Misalkan copy dulu libscalapack ke /usr/lib, lalu NWchem bisa di-link dengan menambahkan

export USE_SCALAPACK=y
export SCALAPACK=/usr/lib

Aku juga baru sadar bahwa ternyata kita bisa me-link LAPACK eksternal ke NWChem, kurang lebih begini caranya :

export USE_LAPACK=y
export LAPACK_LIB=”-L$MKLROOT/lib/intel64  $MKLROOT/lib/intel64/libmkl_lapack95_ilp64.a -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread -lm”

di sini aku menggunakan liblapack bawaan MKL. Oke, cukup sekian dan semoga bermanfa’at!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s