物性研究所スーパーコンピュータSystem B(鶺䴇)の使い方

基本

公開鍵認証

SSH公開鍵登録システムについて」から公開鍵を登録する。

ログイン

  • sshでログインする。
    $ ssh your_id@sekirei.issp.u-tokyo.ac.jp
  • 別のコンピュータからもログインしたい場合は秘密鍵(~/.ssh/id_rsa)をコピーする。
    秘密鍵は他人から読まれないようにパーミッションを600に設定する。
  • パスフレーズを登録する場合は
    $ ssh-add ~/.ssh/id_rsa
    とする。

STATE 5.6.0のインストール

準備

$ mkdir ~/STATE/src
$ mv state_x.x.x.tar.gz ~/STATE/src
$ mv make.arch ~/STATE/src
$ cd ~/STATE/src
$ tar xzvf state_x.x.x.tar.gz
$ cd STATE_x.x.x

モジュールの設定

デフォルトで読み込まれるモジュールは以下のコマンドで確認:

$ module list
Currently Loaded Modulefiles:
  1) intel/16.0.3.210   2) mpt/2.14           3) gnu/4.8.5          4) cuda/7.0

2016年6月10日以降コンパイラが16.0.3.210に更新されていることに注意。
これに合わせてMPIも5.1.3.210を読み込む:

$ module load intel-mpi/5.1.3.210
$ module list
Currently Loaded Modulefiles:
  1) intel/16.0.3.210      3) gnu/4.8.5             5) intel-mpi/5.1.3.210
  2) mpt/2.14              4) cuda/7.0

追記: 上の設定で計算を行うと、intel/16.0.3.210に含まれるintel-mkl/16.0.3.210のバグのため

Fatal error in PMPI_Comm_create: Other MPI error, error stack:
PMPI_Comm_create(669)................: (以下略)

のようなエラーを出して計算が止まることが判明した。 応急処置としてintel/16.0.3.210の代わりにintel/16.0.1.150をロードする。

$ module unload intel/16.0.3.210
$ module load intel/16.0.1.150
$ module list
Currently Loaded Modulefiles:
  1) mpt/2.14              3) cuda/7.0              5) intel-mpi/5.1.3.210
  2) gnu/4.8.5             4) intel/16.0.1.150

この状態でSTATEをコンパイルし、ジョブスクリプトでも同様のモジュール設定を行う。

make.arch

##############################  for LX(Xeon,smith) #############################
F90    = mpiifort
LINKER = mpiifort
OMP    = -qopenmp
OPT3   = -O3 -fp-model strict -axCORE-AVX2
FLAGS  = $(OMP) $(OPT3) -fixed -extend_source -xHOST
FLAGG  = $(OMP) $(OPT3)
FLAGD  = $(OMP)

FFTW_DIR=$(MKLROOT)/include/fftw
INCLUDE = -I$(FFTW_DIR)

#for intelmpi
LIBS   = -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 -mkl=parallel

CPPDIR  = /usr/bin
CPP     = $(CPPDIR)/cpp -P -C -traditional

##for intelmpi
P_FLAGS  = -D_INTEL_DAVIDSON_ -D_MKL_FFTW_ -D_FFTW3_ -D_TIMER_ -D_OPENMP_FUNC_ \
           -D_SCALAPACK_ -D_ALLGATHERV_NOOVERLAP_
################################################################################

OMPで-openmpを使ってmakeすると

ifort: command line remark #10411: option '-openmp' is deprecated
and will be removed in a future release.
Please use the replacement option '-qopenmp'

なる警告が出るので-qopenmpに変更した。

コンパイル

$ make
cpping m_para.f90
Compiling m_para.f90
...

計算の実行

ジョブスクリプトの例

bashの場合:

#!/bin/sh
#QSUB -queue F36cpu
#QSUB -node 8
#PBS -N Pt111_3x3
#PBS -m be
#PBS -l walltime=24:00:00

# 作業ディレクトリでモジュールを読み込む
cd $PBS_O_WORKDIR
. /etc/profile.d/modules.sh
module load intel/16.0.1.150 intel-mpi/5.1.3.210

ln -fs ~/STATE/src/STATE5.6.0_20151026/STATE STATE
ln -fs ~/STATE/gncpp/Pt_pbe1s_TM/\#vnew.data fort.37

# 環境変数FORT5, FORT6にそれぞれ入力ファイル名、出力ファイル名を設定する。
# sh, bashではexport、csh, tcshではsetenvを用いることに注意。
export FORT5=nfinp_1
export FORT6=nfout_1
mpijob ./STATE

export FORT5=nfinp_2
export FORT6=nfout_2
mpijob ./STATE

export FORT5=nfinp_3
export FORT6=nfout_3
mpijob ./STATE

GDIISを使うときの注意

現状ではMDが30ステップgdiis.dataに書き込まれると

*F* PROGRAM STATE TERMINATED IN SUBROUTINE GDIIS - GDIIS: gdiis step limit

が出力されて計算が終了する仕様になっていますが、 System Bではそれまでの出力が上書きされる形で上の一行が書き込まれるため、 それまでの全エネルギーや力の計算結果が消えてしまいます。 これを防ぐにはMDが30ステップを超えそうになったら適宜gdiis.dataを切り詰める必要があります。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-01-23 (月) 11:56:59 (461d)