Table of Contents

1 はじめに

千葉大の高速演算サーバ(SR24000)でgaussian16を実行してみます。この文章 は、計算機(UNIX)の操作にあまり慣れていない人向けに書かれています。おま けで実行しやすいよう簡単なスクリプトも作成しています。またマニュアルも リンクしています。(学内からのみマニュアルとスクリプトはアクセスできま す)

なお研究室で、gaussianはほとんど使わないのですが、相談を受けてこのペー ジを作成しました。

2 ssh接続

ホスト情報

cuhas17.imit.chiba-u.jp

2.1 必要なソフトウェア

windowsの人は、puttysshを使うと良いでしょう。macの人は、 opensshがdefaultで使えるのでterminalから操作してください。秘密鍵・公開鍵方式のssh認証に仕組みを理解するとより良いでしょう。

2.2 公開鍵と鍵の作成

windowsの人は、puttygenで公開鍵と秘密鍵を生成します。login先のためにopenssh用の公開鍵を生成する必要があります。pythonでopenssh用とputty用の鍵を生成するスクリプトを利用しています。

#!/usr/bin/env python
import argparse
import subprocess as sp

par = argparse.ArgumentParser()
par.add_argument('basename')
args = par.parse_args()

com =  'ssh-keygen -f {}'.format(args.basename)
sp.run(com.split())

print("make key for putty...")
com = 'puttygen {base} -o {base}.ppk'.format(base=args.basename)
sp.run(com.split())
print("{}.ppk was created.".format(args.basename))

macやlinuxの人は、一般的なunixと同様、ssh-keygenで鍵を生成すれば良いで しょう。

2.3 ファイルのやり取り

windowsの人はwinscpを使えば良いです。puttysshの秘密鍵(*.ppk)が使えます。macや linuxの人は、scpやrsyncを使えば良いでしょう。macの人はFileZillaでgui操 作できます。FileZillaで鍵の登録は、

  • Filezilla -> Settings -> Connection -> SFTP で "Add key file…"をクリック。
  • ~/.sshなどの隠しディレクトリに参照する場合、"Command + Shift + G"を同時に押してパスを選択。

2.4 公開鍵の登録

ログイン先の~/.ssh/authorizedkeysに作成した公開鍵をコピペしてください

3 gaussianの実行

  • SR2400020180109.pdfのP.10を参照
  • studentと教員でコマンドが異なる
  • exampleは以下に配置されている。
/usr/local/g16/tests/com/ 

4 scratchディレクトリの作成

  • SR2400020180109.pdfのP.6を参照
  • 巨大ファイル用のスクラッチディレクリの作成。30日、更新のないファイル は消される。
/usr/local/bin/mkshortdir

5 インタラクティブ実行

CPU制限が1hでメモリの上限が8Gbyteです。

export GAUSS_SCRDIR=/short/c6619606
source /usr/local/g16/bsd/g16.profile
/usr/local/g16/g16 < input.com 

6 queing

時間指定のスケジューリングはなさそう

7 submit

#!/bin/csh -f
#@class = R1
#@resources = ConsumableCpus(20) 
#@output = $(jobid).out
#@error = $(jobid).err
#@notify_user = ohkubo.takahiro@faculty.chiba-u.jp
#@notification = always
#@queue

setenv OMP_NUM_THREADS 20
setenv GAUSS_SCRDIR /short/c6619606
setenv g16root /usr/local
source $g16root/g16/bsd/g16.login
/usr/local/g16/g16 < input.data >& output

7.1 コマンド 

キュー操作のコマンド3つ。

  • llsubmit (jobの投入)
  • llq (jobの確認)
  • llcancel (jobの削除)

8 その他

.bashrcの例です。

export TERM=vt100
export LANG=C
export LC_ALL=C

export PATH=/opt/freeware/bin/:$PATH
export PATH=/opt/IBM/xlf/15.1.0/bin:$PATH
export PATH=$HOME/bin:$PATH
export PS1="\u@sr26k[\w] "
alias ls='ls -F --color'
alias less='less -fr'
alias vi="vim"
alias make="gmake"
  • chkからfchkの生成, formchk

https://www.hpc.co.jp/gaussian_help/u_formchk.htm

  • fchkからcubeの生成, cubegen

https://www.hpc.co.jp/gaussian_help/u_cubegen.htm

9 自作シェルスクリプト

実行しやすいよう簡単なシェルスクリプトを作りました。UNIX使えない人にはインストールがきついので、imit上でダウンロードさせてインストールできるように変更予定。

9.1 chk2cube

chkからcubeファイルを生成するもの。formchkとcubegenを呼び出す簡単なものです。

9.2 rung16

バッチではなく、フォアでとりあず実行するためのもの。

run_g16 input.com | tee input.log

9.3 submitg16

submitスクリプト生成するプログラム。defaultで大窪にメールするようになっているので、変更すること。-rでキューを選べる。

submit_g16 hoge.com

これでhoge.shが生成されるので、llsubmitします。

llsubmit hoge.sh

defaultでR2のキューに投入するスクリプトを生成します。-rでR1キューの変更できます。

llsubmit -r R1 hoge.sh

Author: 大窪 貴洋

Created: 2020-11-30 月 17:37

Validate