AlmaLinux OS on Water-Ice MD and Siesta-4

 宇宙科学や地球物理,物理・化学,工学において物質の時間発展や
定量変動を予測するための道具として,計算機シミュレーションは大きな
手法である。そこでは超複数個のCPUからなるスーパーコンピュータが
用いられている。
 それを実際に動かすために一般に Unix OSが使われるが,開発段階
ではフリーで使える Linux OSも使用される。有料のRedHat OSの無料版
である CentOSは2024年5月に有効期限が終了したため,攻撃を心配する
ひとたちは,Debian OSや Ubuntu OSに乗り換える人は多いだろう。

 AlmaLinuxは無償の CentOS 7の後継とされ,使用法は以前と同じで
ある。コマンドyumや dnfが新規ソフトウェアのインストールに使われ,
通常の場合はこのLinux OSは使える。
 ただし,下記の箇所ではバグがあると思われる(CentOS 7からScalapack
を用いて修復したこと,またpip3に関連したpairlistがコンパイル不能の
ことなど)。
 ここでは,AlmaLinux-9について,3次元水分子動力学の粒子シミュ
レーション,Ab initio分子動力学法 Siesta-4を述べよう (下記は英語で)。

English
PDF: Simulation Tests of MD and Siesta for AlmaLinux OS


Tests for AlmaLinux OS

  For the successor of terminated CentOS 7, we are testing the OS
AlmaLinux by downloading to the laptop PC. The OS installation
has been done in AlmaLinux-9.4-x86_64-dvd.iso of 10 GB memory [1].
That is finished in 15 minutes which is rebooted for new Linux windows.

  At first, we open the gfortran package by typing # gfortran -V, which
is necessary on AlmaLinux-9. We also type # pip -V to open PIP. The
MPI of mpich4 is downloaded and installed for the water-and-ice MD [2]
and ab-initio molecular dynamics Siesta-4.1 program [3].

* Classical MD
  As the first test, the three-dimensional water molecules @p3mtip5p03a.f03
is compiled [2] with a parameter file param_tip5p-D07a.h and structure files
1cx666a.exyz and 1cx666a.q. Quaternions are used for accuracy. The mpich-4
and fftw-3 must be installed before the compilation of water. The exec run for
6 cpu (at least) with a starting parameter file TIP07_config-start0 is executed,
# mpiexec -n 6 a.out &. which runs all right.

  The initial state of the water molecules and methane hydrate is constructed
in quaternions [4]. The pips package is installed and is fine at usual linux systems
including CentOS 7. Also the Windows 11 system is applied using the C/C++
packages of Vidual Studio Community, and then the pip3 package. However,
the AlmaLinux-9 as the second test fails in .py errors of one of the packages -
pairlist before we need to install # pip3 install genice.

* Ab-initio Siesta code
  Then as the third test, we download the Siesta-4.1b code [3] and unpack it:
% tar -zxvf siesta-4.1b.tar.gz. The make and make install steps are made where.
the root user is required in the last step. It runs in the MPI or OMP cases.
  Before working on the Siesta code, it is necessary to install OpenBLAS
and Scalapack packages. For OpenBLAS, it is straight forward after a while.
However for the Scalapack package, the installation went wrong. We typed
% make -i, since the VirtualBox software was applied in the PC for which
the AlmaLinux-9 OS showed unnecessary errors without success. For the rescue
perpose, the import of ./lib/libscalapack.a is used from the fading CentOS 7.

  The arch.make file for the MPI case is the following (the top half part of
arch.make is listed):

.SUFFIXES:
.SUFFIXES: .f .F .o .c .a .f90 .F90
SIESTA_ARCH = gfortran-MPI
CC = mpicc
FPP = $(FC) -E -P -x c
FC = mpifort

MPI_INTERFACE = libmpi_f90.a
MPI_INCLUDE = .

FFLAGS = -O2 -fPIC -ftree-vectorize -march=native -fallow-argument-mismatch
#FFLAGS = -O2 -fexpensive-optimizations -ftree-vectorize -fprefetch-loop- \
arrays -march=native -fPIC -fopenmp -fallow-argument-mismatch
# the OMP case is gcc, gfortran and FPPFLAGS, Scalapack are empty

FC_SERIAL = gfortran

AR = ar
RANLIB = ranlib
SYS = nag
SP_KIND = 4
DP_KIND = 8
KINDS = $(SP_KIND) $(DP_KIND)

FPPFLAGS = -DMPI
LDFLAGS =
INCFLAGS =
INSDIR = /opt

COMP_LIBS =  # libsiestaLAPACK.a libsiestaBLAS.a
LDFLAGS += -L$(INSDIR)/openblas/lib -Wl,-rpath=$(INSDIR)/openblas/lib
LIBS = -lgomp -L/opt/openblas/lib -lopenblas
LIBS += /opt/scalapack/lib/libscalapack.a

  The Siesta-4.1b code for AlmaLinux is installed by "make -i" because
the error stop must be avoided. The final test of the Siesta code is shown
in the Siesta-4.1bTest.pdf in https://github.com/Mtanaka77/ [5].

References
1. AlmaLinux OS, https://almalinux.org/.
2. M. Tanaka, and M. Sato, J. Chem. Physics, 126, 034509 (2007);
 M. Tanaka, Microwave heating of water and ice by TIP5P code,  
 https://github.com/Mtanaka77/Water_and_methene_hydrate_by_
 TIP5P_code (May 2023).
3. J. M. Soler et al., J. Phys. Cond. Matt. 14, 2745 (2002).
4. M. Matsumoto, https://github.com/vitroid/GenIce/.
5. This PDF file in https://github.com/Mtanaka77/AlmaLinux9/
 MD_Siesta-4.1_Tests.pdf.


Go to the Homepage