計算機設備

概要

MIMS SMPは四つの計算サーバと一つのログインサーバ (mims-gate) から成ります。
 
計算サーバの特徴は下記の通りです:

ホスト名

 特 徴


mims-smp      
48コアCPUと1.5TBを備えています。
大規模なデータ処理に適しています。
mims-gpu1
mims-gpu2
GPGPU TESLA K80を備えています。
GPGPUによる高速演算に適しています。

mims-cpu1
Intel Xeon E5-2637v3 3.5 GHzを備えています。
中小規模の計算に適しています。

利用の流れ

  • 1. 利用者のコンピュータから mims-gateへ ssh接続し,それから mims-smpへ ssh接続します。
  • 2. mims-smp に計算プログラムとジョブ投入用のバッチファイルを置きます。
  • 3. mims-smp から qsub コマンドを用いてジョブを投入します。
      ※ このときに,smp, gpu, cpu のうちどの計算機で計算を実行するか指定します。
  • 4. ログアウトして計算終了を待ちます。

ログインとログアウト

ログイン

Unixライクな環境を利用している利用者は、端末エミュレータを立ち上げて以下のコマンドを実行してください。

  [user's PC ] $ ssh username@mims-gate.mind.meiji.ac.jp
  [mims-gate] $ ssh mims-smp

ここで"username"の部分は利用者自身のユーザ名に置き換えてください。
第一行目のコマンドは利用者のPCで実行し、第二行目のコマンドは mims-gate で実行します。


Note:

  • 1. mims-gate 以外から mims-smp へログインすることはできません。
  • 2. 日本国外から mims-gate へのアクセスは遮断されます。
  • 3. Microsoft Windows 利用者は SSH クライアントソフトウェアを自身でインストールする必要があります。
  • 4. こちらから PuTTY のインストール方法ご参照ください。     
  • 5. mims-smp から mims-cpu1, mims-gpu1, mims-gpu2 へはパスワードなしでsshできます。これらは /home を共有してます。
ログアウト

exit コマンドでログアウトできます。

  [mims-smp] $ exit
  [mims-gate] $ exit

パスワードの変更方法

passwd コマンドでパスワードを変更できます。

  $ passwd

現在のパスワードを入力してから新しいパスワードを二回入力することになります。


Note:

  • 1. 安全なパスワードを設定してください。
  • 2. mims-gate のパスワードは絶対に安全でなければいけません:
     mims-gateには誰でもアクセスできます。
  • 3. mims-cpu1, mims-gpu1, mims-gpu2 のパスワードは mims-smp と同一のものになります。

ファイルの転送方法

mims-gate, mims-smp どちらでも sftpとscp が利用できます。mims-cpu1,mims-gpu1, 2は mims-smp とホームディレクトリを共有しています。
 
以下では scp の使用例を紹介します。

Unix-like環境の利用者の場合

以下に示す方法ではmims-gateに一度ファイルを置くことになります。

◆利用者のPCからmims-smpにファイルを送る

  [user's PC ] $ scp filename username@mims-gate.mind.meiji.ac.jp:
  [user's PC ] $ ssh username@mims-gate.mind.meiji.ac.jp
  [mims-gate] $ scp filename mims-smp:

filename は送りたいファイルの名前,username は利用者のユーザ名に置きかえてください。

一行目のコマンドで filename を mims-gate のホームディレクトリへコピーします。
二行目のコマンドで mims-gate にログインします。
三行目のコマンドで filename を mims-gate のホームから mims-smp のホームディレクトリへコピーします。

◆mims-smpから利用者のPCにファイルを送る

  [mims-smp] $ scp filename mims-gate:
  [user's PC ] $ scp username@mims-gate:filename.

一行目のコマンドで mims-smp から mims-gate へファイルを送ります。
二行目のコマンドで mims-gate から利用者のPCへファイルをコピーします(末尾のピリオドも入力します)。

Windows環境の利用者の場合

WinSCPを利用するのが便利です。

インストールして起動したら「新しいサイト」に

  ホスト名:mims-gate.mind.meiji.ac.jp
  ユーザ名:MIMS-SMP のユーザ名

と入力して,設定を保存します。

ログインボタンを押すと mims-gate のパスワードを求められます。認証が成功すれば mims-gate のホームディレクトリが見えます。mims-gate と mims-smp 間のファイル転送は上述の通りです。

計算ジョブの投入と削除

Note:
MIMS-SMP で計算を行うときは,qsub コマンドを利用するようお願いいたします。
 

ジョブ投入のながれ
  • 1. 走らせたいプログラムを用意します。
  • 2. バッチファイル(.qファイル)を用意します。
  • 3. 以下のコマンドを実行します。

   [mims-smp] $ qsub < name-of-the-batch-file
   (name-of-the-batch-file は利用者が用意したバッチファイル名に置き換えてください。)

qsub を行った後はログアウトしてもかまいません。

ジョブの状況を確認する方法

qstat コマンドでジョブの状況を確認できます。
   [mims-smp] $ qstat

qstat コマンドで表示される時間は CPU time です。
並列計算すると実時間よりはるかに早く進みます。
以下のコマンドで表示される"Elap Time"は経過時間をあらわします。
   [mims-smp] $ qstat -a

また,tracejobコマンドでログメッセージを表示できます。
   [mims-smp] $ tracejob jobid
 
(jobidはqsub時に発行された番号に置き換えてください)

デフォルトでは当日投入したジョブの状況しか表示されません。
過去の情報を得るには次のようにします。
   [mims-smp] $ tracejob -n 10 jobid

これで対応するジョブが10日以内に投入されたものであれば情報が得られます。

ジョブの削除

qdelコマンドでジョブを削除できます。
   [mims-smp] $ qdel jobid

サンプル

たとえば,この

のパスが mims-smp の $HOME/work/hello.c だとします。

以下のコマンドでコンパイルします。
   [mims-smp] $ cd $HOME/work
   [mims-smp] $ icc -fopenmp hello.c

このような

を用意して,そのパスを $HOME/work/hello.q とします。

ジョブを投入します。
   $ qsub < hello.q

しばらくするとプログラムが実行されます。出力が helloworld.o** ファイルに書き込まれます。
ここで,**はjob IDです。

注意:ディレクトリについて

qsubコマンドで実行予約されたジョブが走るとき,ホームディレクトリがカレントディレクトリとなります。
cdコマンドを使って,実行したいプログラムのあるディレクトリへ移動してから当該プログラムを実行することもできます。

たとえば,こちらのサンプルをご覧ください。


◆ Options of qsub

OptionDescription
-N <comment>Set the name of job to <comment>
-j oeCreate output and error files
-l mem=<num>Set the limit of memory usage
-l ncpus=<num>Set the number of cores to <num>
-l walltime=HH:MM:SSSet the limit of walltime
-q <queue_name>Select the type of queue: low, mid, hi, cpu, or gpu


上記オプションをスクリプトファイル内で指定できます:
   "#PBS"
で開始する行が qsub のオプション指定です。

"man qsub", "man qstat", "man tracejob"コマンドでマニュアルが参照できます。

◆ Type of queue

Queue # of cores Memory CPU time 実行ノード note
low 12 370GB unlimited mims-smp DefaultQueue
mid 24 750GB unlimited mims-smp  
hi 48 1.5TB unlimited mims-smp  
cpu 8 64GB unlimited mims-cpu1  
gpu 16 64GB unlimited mims-gpu1
mims-gpu2
For GPGPU


これらの数値は"-l ncpus"や"-l mem"で指定できる最大値です。

のサンプルスクリプトもご参照ください。

数値計算

インテルコンパイラ
(on mims-smp, mims-cpu1, and mims-gpu1&2)

Intel C++ CompilerとIntel Fortran Compilerが利用可能です。Intel Math Kernel Library (MKL)も利用可能です。Intel MKLはBLAS, LAPACK, およびFFTをはじめとする数値計算ルーチンをサポートしています。また,MKLはCBLASとLAPACKEのインターフェースも提供しています。詳しくはdocumentsをご覧ください。


MKLライブラリを利用したプログラムをコンパイルするときは"-mkl"というオプションをつけます。

◆ Fortranの場合
    [mims-smp ]$ ifort -mkl yourprogramme.f90

◆ Cの場合
    [mims-smp ]$ icc -mkl yourprogramme.c

◆ C++の場合
    [mims-smp ]$ icpc -mkl yourprogramme.cpp


Note:
C/C++プログラムでは"mkl.h"をインクルードする必要があります。

こちらからサンプルをダウンロードできます。

  (CBLASとLAPACKEを使って三つの方法でPoisson方程式を解いています。)

PGIコンパイラ (mims-gpu1&2)

mims-gpu1&2 では PGIコンパイラが利用可能です。

◆ Fortranの場合
    [mims-gpu1 ]$ pgfortran yourprogramme.f90

◆ Cの場合
    [mims-gpu1 ]$ pgcc yourprogramme.c

◆ C++の場合
    [mims-gpu1 ]$ pgCC yourprogramme.cpp  

MATLABの利用

MATLAB R2016bが利用できます(同時起動できるユーザ数2)。

利用可能なツールボックス

・ Curve Fitting Toolbox
・ Global Optimization Toolbox
・ Optimization Toolbox
・ Parallel Computing Toolbox
・ Statistics and Machine Learning Toolbox
・ Symbolic Math Toolbox

ジョブの投入

たとえば以下のようにします:
このような

が$HOME/work/matlabにあるとします。


次のような

を用意して,qsubコマンドでジョブを投入してください:
 

#!/bin/sh
#PBS -N matlab
#PBS -j oe
#PBS -l ncpus=1
#PBS -q low
cd $HOME/work/matlab
matlab -nosplash -r sample

ユーザーインターフェースの利用

ユーザーインターフェースを通してのご利用は,mims-cpu1上でお願いします。

◆ GUIの利用
    [mims-cpu1 ]$ matlab

◆ CUIの利用
    [mims-cpu1 ]$ matlab -nosplash

グラフの描画 (mims-smp)

Gnuplotでグラフを描けます。

以下のコマンドでgnuplot 5.0.0が起動します:
   [mims-smp ]$ gnuplot

ターミナルについて

起動直後はteminalが"unknown"ですので,このままplotコマンドを入力しても描画できません。

"set terminal"コマンドでお好みのターミナルを選んで, ファイルに出力してください。

以下のコマンドで利用可能なターミナル一覧を表示できます:

    gnuplot> set terminal
 

SSHのX11転送を利用して接続している場合は:

 ●"eog"コマンドでjpeg, png, gif等のファイルを閲覧できます。
 ●"evince"コマンドでps, eps, pdfファイルを閲覧できます。
 

    [mims-smp ]$ eog filename
    [mims-smp ]$ evince filename

配色について

version 5ではデフォルトの配色が旧来のものから変更されています。

以前の配色(赤,緑,青,……)を利用したい方はgnuplotに以下のコマンドを入力してください:

    gnuplot> set colors classic

Q&A

Q.
"/bin/sh^M: bad interpreter: No such file or directory"というエラーへの対処法は?

A.

これは改行コードの問題と思われます。Windows PCで作成した。qスクリプトをqsubすると上記エラーが発生することがあります。Windows形式でなくUnix形式の改行コードでファイルを作成すれば解決します。
 

以下に解決策を二つ提案します:

 ●Unix形式の改行コードでファイルを用意する。
 

高機能なテキストエディタは環境設定や保存時に改行コードを選択できます。

 ●trコマンドで文字列処理を行う。

     [mims-smp ]$ tr -d \\r < win.q > unix.q

Q. SSHでX11転送を有効にしたい

A.

Unix-like環境の利用者は,"-XY"オプションをつけてsshすれば利用できます:

    [user's PC]$ ssh -XY username@mims-gate.mind.meiji.ac.jp

    [mims-gate]$ ssh -XY mims-smp
 

Windows利用者はXサーバソフトウェアをインストールする必要があります。それを起動したうえで,上述のPuTTYを利用している場合は,
    PuTTY設定→ 接続→ SSH→ X11から
「X11フォワーディングを有効にする」にチェックを入れ,
 
「Xディスプレイの場所」欄に
    127.0.0.1:0
 
と入力します。こうしてmims-gateへ接続してから
    [mims-gate]$ ssh -XY mims-smp
とします。
 

しかし,いずれの場合も動作が遅いでしょう。あまりお勧めしません。

Q. 計算ジョブの時間制限はありますか?

A.

現在(2015/04/13),計算ジョブの時間制限は設けていません。もしも今後利便性に問題が生じることがあれば,制限を課すことを検討する可能性は否定できません。
 

ユーザ自身で自分の計算ジョブの時間制限を設定できます。".q"スクリプトに以下の行を追加してください:

     #PBS -l walltime=01:23:45
 

この場合,計算時間が1時間23分45秒を超えるとジョブが削除されます。01:23:45の数字はHH:MM:SSで時間を表します。適当な数字に置き換えて実行してください。

Q. 計算終了をemailで報せてほしい

A.

".q"スクリプトに以下の行を加えてください:
     #PBS -m abe -M your-email-address
 

"-m"以下の三文字はそれぞれ
     a: ジョブが[a]bortされたらemailを送る
     b: ジョブが開始([b]egin)されたらemailを送る
を表します。
"-m"なら終了時にのみemailを送信します。
"-M"には宛先のemailを書きます。

利用相談 (Support)

MIMS SMPに関するお問い合わせ,質問はMIMS計算機利用相談室へお寄せください。
 

Name of representative:秋山正和 (Masakazu Akiyama)
Email:***@meiji.ac.jp (replace *** by mimssmp)

Address
〒164-8525
 東京都中野区中野4-21-1
 明治大学中野キャンパス高層棟8階810研究室