Top page

TSUBAME使用方法

TSUBAME3利用法 (PDF)


TSUBAMEへのアクセス: MobaXterm

TSUBAMEへは、パスワード無しのSSH/SCP/CIFSでのアクセスのみが可能です。
SCP/CIFSでのアクセスについては後述します。

ここでは後述のように、パスワード無しSSHアクセスの設定が完了していること (id_rsaがクライアントに作られ、TSUBAMEポータルに登録されている) を前提とします。

ここではMobaXtermによる、SSH/X11-Forwardの設定を説明します。

  1. ツールバー Session アイコンをクリックして設定ダイアログを表示
  2. SSHアイコンをクリック
  3. Basic SSH Settings:
     Remove host: TSUBAME loginサーバ名/IPアドレス
     Specifyusername: TSUBAMEアカウント (@mメールアドレスの . を - に変更)
    Advanced SSH setting:
     X11-Forwarding, Compressionをチェック
     Use private keyにチェックをし、検索ボタンを押して id_rsa ファイルを選択

ディレクトリ構成


Perlモジュールのインストール方法 (tkProg/perlプログラムに必要)


moduleコマンド

TSUBAMEでは、多くの異なるバージョンのプログラムが利用可能になっている。
実際に使うプログラムは moduleコマンドであらかじめ読み込んでおく必要がある。

$HOME/.bashrc設定

# 最新のpython3を使えるようにする
module load python
alias python python3

# User specific configuration
export HDRoot=/gs/hs0/tga-xxx         # グループのルートディレクトリ。実際に合わせて変更
export AccountName=hogehoge-a-aa    # TSUBAMEアカウント。実際に合わせて変更
export HomeDirName=hogehoge            # 実際に合わせて変更

export RealHomeDir=/home/0/${AccountName}              # ユーザの本物のホームディレクトリ
export WorkHomeDir=${HDRoot}/usr/${HomeDirName}     # ユーザのログイン時の作業ディレクトリ
export BinRoot=${HDRoot}/bin                                       # 共通実行ファイル。obsoleなので、将来変更する
export DataRoot=$HDRoot                                            # グループのファイルのルートディレクトリ。基本的にグループのルートディレクトリ

#source $DataRoot/scripts/.bashrc-local                          # 古いログインスクリプト(共通追加設定)
source $DataRoot/share/scripts/.bashrc-local-tubame       # 2023/8/8以降のログインスクリプト(共通追加設定)。tkProgを実行するのに必須

cd $WorkHomeDir


$HDRoot/share/scripts/.bashrc-local-tsubame 設定

# general
export TMOUT=0
HostName=`hostname`
ulimit -s unlimited

# used for sgroup to symmetrize structures
export WIENROOT=/home/share/WIEN2k

# tkProg関連変数
export tkProg_Root=$HDRoot/share/tkProg              # tkProgルートディレクトリ
export tkprog_X_path=$tkProg_Root/tkprog_Linux       # Linux用 python/perl/bash スクリプト
export tklib_Root=$tkProg_Root/tklib                        # 自作python/perlライブラリ
export tkpythonlib=$tklib_Root/python                      # 自作pythonライブラリ
export tkperllib=$tklib_Root/Perl                              # 自作perlライブラリ

export tkdb_Root=$tkProg_Root/tkdb                        # tkProg データベースルート
export tkdb_path=$tkdb_Root/Databases                   # tkProg 共通データベースファイル

export tkprog_path=$tkProg_Root/tkprog                   # 古いperlプログラム等。徐々に $tkprog_X_path へ以降中
export tkapp_path=$tkProg_Root/tkapp_Linux             # Linux用実行ファイル。bader, vaspkitなど

export BinRoot=$HDRoot/share/tkProg/bin               # tkProg共通実行ファイル。x-open.sh, energy など
export MYAPPROOT=$tkProg_Root                          # 古いapplicationルートディレクトリ。obsoleteなので、将来削除
export MYBINDIR=$MYAPPROOT/bin                       # 古い実行ファイルディレクトリ。obsoleteなので、将来削除
export MYAPPDIR=$MYAPPROOT/bin                      # 古いapplicationディレクトリ。obsoleteなので、将来削除

export PYTHONPATH=$tklib_Root/python:$PYTHONPATH      # pythonが自作ライブラリを探すための設定
export PERL5LIB=$tklib_Root/Perl/lib:$PERL5LIB                # perlが自作ライブラリを探すための設定

# perl モジュールを $HDRoot/share/perl5 にインストールするための設定
# cpanコマンドでモジュールをインストールすると、$PERL_LOCAL_LIB_ROOT以下にインストールされる
export PERL_LOCAL_LIB_ROOT="[HDRoot]/share/perl5${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}"
export PERL_MB_OPT="--install_base \"/gs/hs0/tgd-mts/share/perl5\""
export PERL_MM_OPT="INSTALL_BASE=/gs/hs0/tgd-mts/share/perl5"
export PERL5LIB="/gs/hs0/tgd-mts/share/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}"
export PERL5PATH=~/perl5/lib/perl5:$PERL5PATH

# For perl and python scripts
export TkDatabasesDir=$tkdb_path/Databases
export TkPerlDir=$tkprog_path/Perl
export TkPlotDir=$tkprog_X_path/TkPlot
export TkPythonDir=$tkprog_X_path

export PythonVASPDir=$tkprog_X_path/VASP

# VASP, vaspkit, $tkProg_Root/bin にpathを通しておく
export PATH="$HDRoot/share/vasp.6.3.2/bin:$PATH"
export PATH="$PATH:$tkProg_Root/tkapp_Linux/vaspkit/bin"
export PATH="$BinRoot:$PATH"

# aliases  2グループ間のファイルを同期
alias rsync_to="rsync -rtuv /gs/hs0/tga-xxx/{bin,perl5,scripts} /gs/hs0/tgd-yyy"
alias rsync_back="rsync -rtuv /gs/hs0/tgd-yyy/{bin,perl5,scripts} /gs/hs0/tga-xxx"

# Launcheralias
alias pylauncher='python3 $tkprog_X_path/Launcher/Launcher.py'
alias vlauncher='python3 $tkprog_X_path/Launcher/Launcher.py -s=VASP'


コンパイルメモ

VASP:
1. cd /gs/hs0/tga-kklab/usr/tkamiya/VASP-5.4.4
2. make veryclean
3. make

p4vasp:
/gs/hs0/tga-xxx/lib, includeに必要なインクルードファイル、ライブラリィが入っている。
1. cd /gs/hs0/tgd-mts/src
2. tar xvf p4vasp-0.3.30.tgz
3. cd p4vasp-0.3.30
4. ./install-local.sh

glu:
1. cd /gs/hs0/tgd-mts/src
2. bunzip2 glu-9.0.0.tar.bz2
3. tar xv glu-9.0.0.tar 8. cd glu-9.0.0
4. ./configure
5. make all
  CXX src/libnurbs/nurbtess/sampleMonoPoly.lo
  CXX src/libnurbs/nurbtess/sampledLine.lo
  CXX src/libnurbs/nurbtess/searchTree.lo
  CXXLD libGLU.la


ubuntu/WSLでのp4vaspインストール

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install p4vasp


TSUBAMEへのログイン設定

TSUBAMEではパスワードによる認証は許可されていないので、クライアントでssh公開鍵を作り、TSUBAMEポータルで登録する。
クライアント (PC、ソフト) を変えたら、公開鍵を登録しなおす

TSUBAMEポータルでアカウント追加依頼

  1. 東工大ポータル => TSUBAMEポータル => アカウントの作成
    TSUBAMEのグループ管理者にアカウント名を伝えて招待してもらう。
    招待メールが届いたら、承認を行う。

SSH公開鍵の発行

$ ssh-keygen
$ more ~/.ssh/id_rsa.pub
画面テキストをコピーしてTSUBAMEポータルのSSH公開鍵登録に(改行が入らないように)貼り付ける
あるいは id_rsa.pubをアップロードする

WSL2では、Windowsのドライブは/mnt/c などにマウントされているので、
$ cp ~/.ssh/id_rsa.pub /mnt/d
とすると、Dドライブにコピーできる。

クライアントからTSUBAMEへログイン

  1. ~/server-list に以下を追加
    ssh -X hogehoge@login0.t3.gsic.titech.ac.jp     (hogehogeはTSUBAMEアカウント名)
    sftp hogehoge@login0.t3.gsic.titech.ac.jp
     
  2. $ ssh -X hogehoge@login0.t3.gsic.titech.ac.jp
    でパスワード無しでログインできる。
     MobaXtermの設定は、上を参照

グループディレクトリに自分のディレクトリを作る

  1. ユーザ名を決める (TSUBAMEアカウントである必要はない)。以下、$UserName とする
     
  2. グループフォルダに自分のディレクトリィとvaspのデータディレクトリィを作る
    $ mkdir /gs/hs0/tga-xxx/usr/$UserName
    $ mkdir /gs/hs0/tga-xxx/usr/$UserName/vasp

.bashrc作成

  1. $ cat /gs/hs0/tga-xxx/bashrc-20190830 >> ~/.bashrc

TSUBAMEディスクへのCIFS (Windows File Share/samba) によるアクセス

CIFSによるアクセスは学内からの接続に限定

参考: https://helpdesk.t3.gsic.titech.ac.jp/manuals/handbook.ja/storage/

  1. 東工大ポータル => TSUBAMEポータル => パスワードの設定要件に沿ったパスワードを決める
    (要件に合わなくても、パスワードの更新はできてしまうので注意)
     
  2. Windowsのフォルダ画面を開き、アドレスバーに
    \\gshs.t3.gsic.titech.ac.jp
    を入力してENTER
  3. 入力ユーザー名: TSUBAME\ + TSUBAMEアカウント名
    パスワード: 上記でTSUBAMEポータルで設定したもの

マウントがうまくいかない場合:
 
Windowsの資格情報マネージャを
> rundll32.exe keymgr.dll,KRShowKeyMgr
で起動し、サーバの登録情報を削除してやり直す


TSUBAMEディスクへのSCPによるアクセス

参考: https://helpdesk.t3.gsic.titech.ac.jp/manuals/handbook.ja/storage/

WinSCPの設定例 (https://winscp.net/eng/download.php)

  1. 上で作ったプライベートキー id_rsa を利用
      
  2. WinSCPを起動
  3. ツール=>PuTTYgenを実行
  4. Conversions =>Import Key でダイアログから id_rsa を開く。
    Save private keyを押して、適当な場所に.ppkという拡張子のファイルをつくる。
    PuTTy Key Generatorは x ボタンで消してOK。
  5. WinSCPのはじめのログイン画面に戻る。
    転送プロトコル: SFTP
    ホスト名: login.t3.gsic.titech.ac.jp
    ポート番号: 22
    ユーザー名: TSUBAMEアカウント名
  6. 設定=>設定を押し、SSHの認証を選ぶ。
    秘密鍵の .. .を押して、上の ppk ファイルを選択。
  7. もとのログイン画面に戻って保存。

TSUBAMEでのVASP実行

テストファイルのコピー
$ cp -r /gs/hs0/tga-xxx/vasp-example-Zr2Si /gs/hs0/tga-xxx/usr/$UserName/vasp
$ cd /gs/hs0/tga-xxx/usr/$UserName/vasp/vasp-example-Zr2Si
$ qvasp
これでjobを投げたら
$ qstat
で確認。
qw なら queue waiting状態。
何もでなければ終わっている。
出力結果が保存されているはず

qvaspでは、job queueに登録するための、jobスクリプトを生成し、実行する。
jobスクリプトの作り方は
https://www.t3.gsic.titech.ac.jp/documents
の 2017.8.4 TSUBAMEガイダンス を参照。


参考

共有フォルダをマウント https://qiita.com/mdstoy/items/54925cdcbca6d558b666

vim command https://qiita.com/TD3P/items/0510bee10bcfd88afeee

Windowsの資格情報マネージャ: rundll32.exe keymgr.dll,KRShowKeyMgr