JAIST -- Japan Advanced Institute of Science and Technology
並列計算機利用者オリエンテーション
北陸先端科学技術大学院大学
情報社会基盤研究センター
教授 井口 寧
2020年6月15日
JAIST -- Japan Advanced Institute of Science and Technology 2
本日の内容並列計算機利用者オリエンテーション開催のお知ら
せ
当オリエンテーションでは 計算機の概要から各機器の性質を踏まえた利用ポイントなどの役立つ解説に加え,ハンズオンチュートリアルでは計算機への接続から各種ソフトウェアの実行までを,実機を用いて体験頂きます.並列計算機を初めて利用される方,利用の幅を広げたい方など,皆さまのご参加をお待ちしております.
【記】
日時: 2020年6月15日(月) 13:30-17:15会場: 情報III棟5階コラボ7内容:
・並列計算機群概要 13:30-14:00・機器利用のためのUnix操作 14:00-14:30・バッチシステムとプログラミング 14:30-15:00・休憩
15:00-15:15・ハンズオンチュートリアル 15:15-17:15
講師: 情報社会基盤研究センター教授 井口寧情報社会基盤研究センター准教授 本郷研太
Parallel Computer Systems Orientation Session
We are pleased to announce that we will hold a Parallel Computer Systems Orientation Session as follows.In the orientation, our professors will explain clearly about
parallel computer systems of JAIST, which enable the participants learn the features of the systems, the points of usage, and so on.
After the explanation, the hands-on tutorial provides basictraining on how to use our parallel computer including usage of python, examples of applications.
We note that this orientation will be basically conducted in Japanese, but it is welcome to ask questions in English.
[Schedule]
Date: 2020/6/15 (Mo) 13:30-15:30Place: Collaboration Room No.7Program:
* The outline of parallel computers 13:30-14:00* Unix Operation for parallel computers 14:00-14:30* Batch System and Programming 14:30-15:00* Break 15:00-15:15
* Hands-On Tutorial 15:15-17:15Lecturer: Yasushi Inoguchi, Ph.D. Professor, and
Kenta Hongo, Ph.D. Associate Professor,Research Center for Adv. Compt. Infrastructure, JAIST
JAIST -- Japan Advanced Institute of Science and Technology 3
本日の内容
1. JAIST本学情報環境と並列計算機(スーパーコンピュータ)群概要
2.機器利用のためのUnix操作
3.バッチシステムとプログラミング
JAIST -- Japan Advanced Institute of Science and Technology 4
スーパーコンピュータを利用した研究分野
新物質開発とエネルギ変換
• ナノ・シミュレーション
• 第一原理計算
情報分野
• モンテカルロ・シミュレーション
• 生体シミュレーション
• 人工知能・ゲーム
• 情報セキュリティ
知識科学分野
• ビッグデータ、統計処理
スパコンによるシミュレーション• 理論、実験に次ぐ第3の科学的手法• 未来や未知の状況、観測できない対象領域の挙動を予測• 先端科学技術における研究の重要な基盤 「現代のそろばん」
情報科学学系
マテリアルサイエンス学系
知識科学学系
学内の並列計算機を利用するユーザー
共同研究機関
JAIST教員との共同研究
学内の学生・教職員全てがスパコンを利用可能
JAIST -- Japan Advanced Institute of Science and Technology 5
ユーザ主導の運用体制
・メールベース(メーリングリスト上)のユーザグループ・並列計算に必要なテクニック、ノウハウの共有・大規模リソース利用時などの利用調整・情報社会基盤研究センターはmpc宛にシステム停止などの業務連絡を行う・ヘビーユーザは加入推奨
・2008/8/15 mpcグループのコアユーザを主軸に結成・各研究科・センター等のニーズを取り入れる窓口・ユーザー間の調整をより組織的,円滑に行うための調整役
並列計算機ユーザグループ(mpc)
並列計算機管理グループ(mpc-admin)
JAIST -- Japan Advanced Institute of Science and Technology 6
大規模並列計算サーバの運用について
情報科学センター
mpcグループ
情報科学研究科情報科学研究科
マテリアルサイエンス研究科
マテリアルサイエンス研究科
知識科学研究科知識科学研究科
先端融合院先端融合院
JAIST学内の並列計算機
学内の並列計算機を利用するユーザー
計算機導入およびH/W,S/W管理・保守
グループ内利用調整
mpc管理グループ
・Cray XT5(xt5)・SGI Altix4700 (altix)・NEC SX-8(sx8)・Appro PC Cluster (pcc00)・SGI AltixXE FPGA (altix-fpga)・IBM QS22 CellB.E. (qs22)・Sun Fire V890(v890)
計算機利用
mpcグループの代表
(ヘビーユーザ)運用の相談
利用報告
講習会実施技術サポート
• 学内共同利用施設としてアカウントを持つユーザが自由に利用可能• ユーザ主導の運用体制(mpcグループが中心)
•Cray XC40 [xc40]•SGI Large Memory PC Cluster(Superdome) [lmpcc]
•Fujitsu PC Cluster [pcc]•GPU [pcc (gpu node)]
情報科学学系 融合科学系
科学系知識科学学系
情報社会基盤研究センター
・HPE
JAIST -- Japan Advanced Institute of Science and Technology 7
JAIST-MPCの役割研究者/技術者の育成
シリアルから並列化への橋渡し
より大規模な共同利用計算機のユーザとなる人材育成 並列化・高速化の可能性への気づき パソコンからの脱出・世界レベルの研究への第一歩
学部生 プロの研究者基礎教育方程式シリアル計算
問題発見先端の研究大規模計算,並列化
プロフェッショナルへの橋渡し大規模計算を目指すはじめの一歩
JAIST
データ取得・研究精度向上 研究者支援
マシンメンテナンス,インストールの手間から解放
JAIST -- Japan Advanced Institute of Science and Technology 8
センターの超並列機 XC40
• 本物の超並列機.548ノード/19728 CPUコア (JAISTで一番大きなシステム)• 並列プログラミング必須, 「京」と同列のアーキテクチャ• 利用可能ソフト:自作並列ソフトの他,CASINO, OpenMX等並列機専用ソフトウェア
Large Memory PC Cluster (Superdome)• 巨大なLinuxサーバ (並列プログラムは必須でない.)• 普通のプログラムを大規模に実行• 利用可能ソフト: Gaussian16, Materials Studio等市販ソフトウェア,Pythonも可• 机上のワークステーションで実行できない規模のプログラム実行用
PC Cluster• 普通のPCサーバが複数台. 普通のプログラムを普通に実行• 利用可能ソフト: MATLAB, Gaussian16, Materials Studio等市販ソフトウェア,
Pythonも可• 机上のワークステーションに代わる実行環境
lin01~03• 普通のPCサーバ• 3台を全学で共有.• 机上のワークステーションに代わる開発環境
JAIST -- Japan Advanced Institute of Science and Technology 9
XC40メモリ分散型LMPCC
共有メモリpccPCクラスタ
本物の超並列機 並列プログラムが必須
「京」と同列のアーキテクチャ
548ノード/19,728 CPUコア
巨大なLinuxサーバ
並列プログラムは必須でない.
普通のプログラムを大規模に実行
• 普通のLinuxサーバ
• 並列プログラムは必須でない.
• 普通のプログラムを普通に実行.
• pccは実行環境• lin01-03は開発環境
プログラム実行環境
JAIST -- Japan Advanced Institute of Science and Technology 10
UNIXプログラム開発環境現在 机上はThin端末 (計算能力を持たない)
全学生・教員が3台のLinuxサーバでプログラム開発
昔 一人一台ワークステーション
lin01lin02lin03
あるユーザがちょっとしたプログラムを実行すると他のユーザーが重く感じるそこで pcc
JAIST -- Japan Advanced Institute of Science and Technology 11
スパコンとパソコンの違い 現在のスーパーコンピュータの方式
• 大半はスカラ型計算機からなる計算ノードを多数用意し、大規模に並列に接続する方式を採用
• 高い性能を達成するためには計算ノード間の相互通信を低遅延かつ高速に実現する必要がある
• CPUの命令セットはパソコンやサーバと同一(現在x86が主流)
• PC向けのCPUに比べてメモリアクセスのバンド幅を強化
• 大量のCPUを用いた並列処理により処理の高速化を実現
• 大量のCPUを高速なネットワークで接続
JAIST -- Japan Advanced Institute of Science and Technology 12
各マシンの特徴 JAIST情報センターの提供しているマシンの特徴
機種 特徴
Cray XC40 JAIST最速のマシン
LMPCC (Superdome) 学内最大の12TB共有メモリを持つマシン
Fujitsu CX250 クラスタ商用アプリケーションや一般的なLinuxのコードを動作させるのに適したマシ
ン
GPUノード GPUアクセラレータを持つノード(CX250クラスタに搭載)
JAIST -- Japan Advanced Institute of Science and Technology 13
1
10
100
1000
XC40 LMPCC pcc pcc-GPU
TFLOPS
JAISTの並列計算機の性能 (2020)
2017年3月に稼動開始したXC40 スパコンランキングTop500( June,2017版 )で338位
164.293
Peak
per
form
ance
(Tflo
ps)
92
756
JAIST -- Japan Advanced Institute of Science and Technology 17
1.0
10.0
100.0
XC40 LMPCC pcc pcc-GPU
Memory
JAISTの並列計算機のメモリサイズ(2020)
JAIST MPCのメモリサイズ
63.0TiB
3.0TiB
Mem
ory
size
1.5TiB
68.5TiB
Max171GiB/core
3.56GiB/core 4.0
GiB/core
2.0GiB/core
JAIST -- Japan Advanced Institute of Science and Technology 19
JAISTのMPCマシンのネットワーク
機種 ネットワーク構成
Cray XC40 Aries(専用ネットワークチップ), Dragonflyトポロジ, 15GB/s
JAIST -- Japan Advanced Institute of Science and Technology 20
低遅延かつ高速な計算ノード間相互通信
Cray XC40の相互通信ネットワーク• Ariesインターコネクトチップにより
Dragonflyトポロジを実現• これまでよりも多くの相互通信ポートを搭載した新開発のAriesインターコネクトチップにより多くの計算ノードを直接的に接続
• 少ない通信ホップ数で任意のノードが通信することを実現することを可能とする
計算ノード間の低遅延かつ高速な相互通信により、大量のCPUコアを用いて効率的に大規模並列処理することを実現
XC40背面のノード間相互接続ケーブル:多数のケーブルを用いて他のノードと直接的に接続している様子が分かる
JAIST -- Japan Advanced Institute of Science and Technology 21
手近な端末を利用したデータの操作
Linux環境コマンド入力ディレクトリ (フォルダ)エディタ
JAIST -- Japan Advanced Institute of Science and Technology 22
Unix系OSの一般的な操作について
UNIX系OS環境の第一歩シンクライアントからUNIX環境へログインする
コマンドラインインタフェイスを使う
基本的なコマンドを使う
エディタを使うEmacsエディタ
日本語を入力する
C言語でプログラミングコンパイル
JAISTの並列計算機(スパコン)はUnix系OS(Linux)を利用XC40はUnix系OS,その他はすべてLinux(Suse Linux, CentOS)
JAIST -- Japan Advanced Institute of Science and Technology 23
我々は何故 UNIX を使うのか
UNIXとは?• オープンな雰囲気の文化として発展
• 利用者がバグ修正および改変ができる• 中身に手を加えて自分の拡張を実装できる
• 様々な実装のUNIX系OSに• 先人や世界中の開発者の知識がソースコードとともに獲得可能
• コミュニティでの開発• 多くのユーザの協力によって開発• 幅広い機能と柔軟性を実現• 高い信頼性を獲得
オープンソースソフトウェアの存在• さまざまな用途の便利なツールの存在
– 特に、開発環境
• CLI (Command Line Interface)CLI での制御は、モジュールをつなぐのに便利
プロセス間通信(パイプ)によるコマンドの連携をサポートUnix系OSの歴史http://ja.wikipedia.org/wiki/LINUX
シリコンバレー(米国西海岸)の文インターネット、IT技術の急速な発
「ファイル」「リダイレクト」 「パイプ」操作の自動化
JAIST -- Japan Advanced Institute of Science and Technology 24
JAISTクラウドのUNIX環境
ssh により接続可能なUNIX系システム
lin01, lin02, lin03xc40, lmpcc, pcc, lss3-labname @情報 各フロア
https://www.jaist.ac.jp/iscenter/mpc/https://www.jaist.ac.jp/iscenter/jaist-cloud/
JAIST -- Japan Advanced Institute of Science and Technology 25
LMPCC
PCC ・lin01~03
XC40
Windowsからの直接アクセス
Surface
JAIST -- Japan Advanced Institute of Science and Technology 26
LMPCC
PCC・lin01~03
XC40
自分のLinuxからの直接アクセス
自分のPC(Linux)
”slogin”, “xterm”
JAIST -- Japan Advanced Institute of Science and Technology 27
LMPCC
PCC ・lin01~03
XC40
JAIST Cloud Desktop Windowsからのアクセス
自分のPC(Linux)
JAIST CloudDesktopWindows
Surface
JAIST -- Japan Advanced Institute of Science and Technology 28
1. JAIST Cloud Desktop Windowsログインして下さい.
Unix環境へのアクセス1. JAIST Cloud Desktop Windowsの利用
JAIST Cloud Desktop:https://www.jaist.ac.jp/iscenter/jaist-cloud/desktop/windows/
JAIST -- Japan Advanced Institute of Science and Technology 29
LMPCC
PCC ・lin01~03
XC40
JAIST Cloud Desktop Windowsからのアクセス
自分のPC(Linux)
JAIST CloudDesktopWindows
Surface
JAIST -- Japan Advanced Institute of Science and Technology 30
1. JAIST Cloud Desktop Windowsログイン後に, ”putty”, “TeraTerm”のいずれかを起動してください.
Unix環境へのアクセス1. ターミナルを利用する(CUI)
JAIST -- Japan Advanced Institute of Science and Technology 31
Unix環境へのアクセス2. X11を利用する(GUI)
1. JAIST Cloud Desktop Windowsログイン後に”MobaXterm” を起動してください.
JAIST -- Japan Advanced Institute of Science and Technology 32
LMPCC
PCC ・lin01~03
XC40
JAIST Cloud Desktop Windowsからのアクセス
自分のPC(Linux)
JAIST CloudDesktopWindows
Surface
JAIST -- Japan Advanced Institute of Science and Technology 35
チャレンジ: pccにログインしてみよう
計算サーバへのアクセスはいろいろな方法があります.
どの方法を使っても良いので,pccにログインして見てください.
できた人は,lmpcc, xc40も試してみましょう.
JAIST -- Japan Advanced Institute of Science and Technology 36
UNIX の利用CLI (Command Line Interface)
○Windowsから利用する場合:
Putty, tera termのいずれかを起動し,ホスト名を入力.
汎用機: lin01, lin02, lin03, 並列計算機: lmpcc, pcc, など
○Linuxから利用する場合:Launch → Applications → Utilities → Terminal(もしくは右クリックして “Open Terminal”)ほかのホストに移動する場合はターミナル内でsshコマンド
ssh –l <UserName > <HostName>
Last login: Thu May 21 10:56:11 2020 from wl204146.jaist.ac.jp[lin02:inoguchi[1]%
CLI (Command Line Interface)コマンドを受け付けるプログラムを“シェル”と呼ぶ実行すべきプログラムを入力すれば実行される
JAIST -- Japan Advanced Institute of Science and Technology 37
コマンド Linuxのファイル操作は基本的にコマンドで行う。
• GUIでも操作できるが、コマンドが基本。• Windowsも、表面はGUIの様だが、コマンドプロンプトでも操作可能
JAIST -- Japan Advanced Institute of Science and Technology 38
ファイルを扱うコマンド ファイルの新規作成と修正
• エディタ(emacs, viなど)を使って作業する
ファイルの一覧表の表示
• ls (Windowsではdir) ファイルの内容表示
• cat, less, more (Windowsではtype) ファイルの移動・複製・名前の変更
• 名前変更 (mv), コピー (cp)(Windowsではren, copy)
ファイルの削除
• 不要になったファイルを捨てる (rm)(Windowsではdel)
• rm –r にてディレクトリも消える(注意)
別の計算機へのlogin• ssh
JAIST -- Japan Advanced Institute of Science and Technology 39
UNIX の利用コマンド例: cal
カレンダーを表示するプログラム (cal)今月のカレンダーが表示されましたか?
[vpcc:inoguchi[2]% cal 2009年 4月日月火水木金土 1 2 3 4 5 6 7 8 9 10 1112 13 14 15 16 17
1819 20 21 22 23 24 2526 27 28 29 30
JAIST -- Japan Advanced Institute of Science and Technology 40
UNIX の利用最も重要(?)なコマンド: man
[vpcc:inoguchi[3]% man manマニュアルを清書中です。しばらくお待ちください...終了ユーザーコマンドman(1)【名前】 man - マニュアルページの表示【形式】man [-] [-adFlrt] [-M path] [-T macro-package] [-s section] name... man [-M path] -k keyword... man [-M path] -f file...-- 継続 --(5%)
JAIST -- Japan Advanced Institute of Science and Technology 41
実行例 (ls)
##########################################
Welcome to Linux Workstation , lin01.
Notice:I will reboot on every Tuesday, 18:00.Please save your data and log-out from mebefore rebooting.
##########################################lin01:inoguchi[172]%ls -l合計 18662732-rw------- 1 inoguchi is 2 8月 15 11:47 2016 index.htmldrwx--x--x 2 inoguchi is 155 12月 17 16:21 2008 Checkdrwx------ 2 inoguchi is 0 12月 6 08:48 2009 Desktopdrwx------ 8 inoguchi is 1537 8月 4 12:18 2009 Mail
JAIST -- Japan Advanced Institute of Science and Technology 42
実行例 (cat, more)
lin01:inoguchi[173]%cat index.html.ja<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"><HTML lang="ja-JP"><HEAD><META http-equiv="Content-Type" content="text/html; charset=EUC-JP"><LINK REV="MADE" HREF="mailto:[email protected]"><LINK REL="NEXT" HREF="./introduction.html"><TITLE>北陸先端科学技術大学院大学井口研究室; Inoguchi Laboratory --JAIST</TITLE><META http-equiv="Content-Style-Type" content="text/css"><STYLE TYPE="text/css"><!--
BODY { background-color: white; }H1 {
font-size: 250%;text-align: center;
JAIST -- Japan Advanced Institute of Science and Technology 43
ストレージに情報を格納する
ファイル 情報に名前をつけたもの• テキストファイル: 人間が読んで理解できるモノ
• バイナリファイル: 計算機が利用するモノ
画像ファイル, 音声ファイル, ...• Word や Excel のファイルは?
アプリケーションファイルと呼び、一般のテキストファイルとは区別して扱われることが多い
ファイルシステム• ファイルをストレージに格納するシステム
JAIST -- Japan Advanced Institute of Science and Technology 44
階層的ファイルシステム
ディレクトリ (フォルダ)ファイルを整理して入れておくもの
root (/)
bin usr app home
if
zin
… …
JAIST -- Japan Advanced Institute of Science and Technology 45
ファイルマネージャで見てみよう~ JAIST Cloud Desktop Linuxの場合 ~
JAIST -- Japan Advanced Institute of Science and Technology 46
カレント(作業)ディレクトリ
☆ CLIではカレントディレクトリを意識
カレントディレクトリ
シェル上で、現在作業を行っているディレクトリ
使うコマンド
pwd : カレントディレクトリを知る
cd [dir] : [dir] へ移動する。省略時はホームへ。
cd ..:1つ上のディレクトリへ。
puclic_html guide2006.pdf
home
if004
unoki
…
% pwd/home/if1004/unoki
% cd
% cd ..
% cd puclic_html
JAIST -- Japan Advanced Institute of Science and Technology 47
ディレクトリを覗いてみよう
Windows のデスクトップは~/.windows/Desktop/
lin01:inoguchi[187]%cd .windows/Desktop/lin01:Desktop[188]%ls -l合計 28970drwx------ 2 inoguchi is 29 5月 10 15:03 2010 $RECYCLE.BIN-rwx------ 1 inoguchi is 9463248 7月 14 12:08 2009 FeliCaPortWithDriver.exe-rwx------ 1 inoguchi is 8127408 7月 7 22:41 2009 Firefox Setup 3.5.exe-rwx------ 1 inoguchi is 1864 7月 7 22:41 2009 Mozilla Firefox.lnkdrwx------ 4 inoguchi is 82 4月 18 08:11 2015 Old Firefox Data-rwx------ 1 inoguchi is 282 10月 22 12:27 2016 desktop.inilin01:Desktop[189]%
JAIST -- Japan Advanced Institute of Science and Technology 48
ディレクトリを扱うコマンド
カレントディレクトリの確認• pwd
カレントディレクトリの移動• cd <directory name>• cd ..
ディレクトリ作成
• mkdirディレクトリ削除
• rmdir <directory name>ディレクトリ
• ホームディレクトリ ~• 1つ上のディレクトリ ..• 現在のディレクトリ .
JAIST -- Japan Advanced Institute of Science and Technology 49
作業ディレクトリを作る
lin01:Desktop[190]%cd ~lin01:inoguchi[191]%mkdir traininglin01:inoguchi[192]%cd traininglin01:work[193]%ls -al合計 100drwx--x--x 2 inoguchi is 0 6月 13 16:32 2017 .drwx--x--x 93 inoguchi is 8873 6月 13 16:32 2017 ..lin01:work[194]%mkdir tutorial1lin01:work[195]%cd tutorial1lin01:training[196]%ls -al合計 4drwx--x--x 2 inoguchi is 0 6月 13 16:32 2017 .drwx--x--x 3 inoguchi is 26 6月 13 16:32 2017 ..lin01:training[197]%pwd/home/inoguchi/training/tutorial1lin01:training[198]%
mkdir ディレクトリ名 にてディレクトリを作成
JAIST -- Japan Advanced Institute of Science and Technology 50
作業ディレクトリのWindowsからのアクセス
lin01:Desktop[200]% df .Filesystem 1K-blocks Used Available Use% Mounted on150.65.214.184:/sas/home/s1802/s1810123
268435456000 63698194432 204737261568 24% /home/s1810123
参照するディレクトリ
JAIST -- Japan Advanced Institute of Science and Technology 51
テキストエディタを使う
テキストエディタとは?• テキストファイルを編集するためのツール
←→ リッチテキストエディタ, ワードプロセッサ
• 文字修飾などは一切出来ない
テキストファイルの編集に特化
有名なエディタ• GNU Emacs <推奨>• vi• etc.
JAIST -- Japan Advanced Institute of Science and Technology 52
Emacsの特徴
非常に強力なプログラミング環境を搭載• やろうと思えば何でもできるエディタ
昔はEmacsでメールを読む・書く人も多数
基本的に全ての操作はキーボードから• コマンドを覚えるまではちょっと辛い
けど、覚えてしまえば全てが速い
• マウス/メニューも使える
シェルから “emacs &” と打ってみよう
JAIST -- Japan Advanced Institute of Science and Technology 53
Emacsの使い方 ファイル操作
• C-x C-f ファイル読み込み• C-x C-s ファイル保存• C-x C-w ファイル別名保存• C-x C-c 編集終了
編集・操作• C-a カーソルを文頭に移動• C-e カーソルを文末に移動• C-k 一行切り取り(削除)• C-space マーク(領域先頭)の指定
C-w マークの位置から現在の位置までの領域の切り取り• C-y 切り取った領域の貼り付け• M-% 置換• C-g コマンドのキャンセル
C- はCtrlキーを押しながらという意味
M- はMetaキーの意味Metaキーがない場合はEscを一度押すという意味
JAIST -- Japan Advanced Institute of Science and Technology 54
% emacs hello.c
C-x C-c (ファイルのセーブ)ファイルの確認
プログラム・ファイルを作る
#include <stdio.h>
void main(){printf("Hello World.¥n");
}
lin01:test20170613[181]%ls -l合計 26-rw------- 1 inoguchi is 62 6月 13 15:00 2017 hello.clin01:test20170613[182]%cat hello.c#include <stdio.h>
void main(){printf("Hello World.¥n");
}lin01:test20170613[183]% pwd/home/inoguchi/training/tutorial1
JAIST -- Japan Advanced Institute of Science and Technology
WindowsでUNIXのプログラムを作る
JAIST -- Japan Advanced Institute of Science and Technology 56
JAIST Cloud Desktop WindowsとLinux環境の関係
lin01:My_Document[276]%pwd/home/inoguchi/.windows/My_Documentlin01:My_Document[277]%ls -ltotal 275drwx------ 2 inoguchi is 29 May 10 2010 $RECYCLE.BIN-rwx------ 1 inoguchi is 0 Apr 5 2014 Default.rdpdrwx------ 2 inoguchi is 0 Apr 7 2015 MATLABdrwx------ 3 inoguchi is 93 Oct 22 16:45 My Musicdrwx------ 3 inoguchi is 96 Oct 22 16:45 My Picturesdrwx------ 3 inoguchi is 59 Oct 22 16:45 My Videosdrwx------ 2 inoguchi is 0 Apr 5 2014 Office ??????????????? ??????????????????drwx------ 2 inoguchi is 451 Sep 9 2015 Posters-rwx------ 1 inoguchi is 556 Oct 22 16:45 desktop.inidrwxr-xr-x 2 inoguchi is 55 Jun 19 2014 docdrwx--x--x 2 inoguchi is 272 Jul 31 2014 review
JAIST -- Japan Advanced Institute of Science and Technology 57
Windowsファイルとして編集
Windowsの “This PC¥Documents” は Linuxの$HOME/.windows/My_Document と同じ場所
Windowsからファイルを編集することも可能 ただし,ファイルの形式が違う! ので,変換が必要
JAIST -- Japan Advanced Institute of Science and Technology 58
Unix fileとWindows fileの変換
lin01:inoguchi[211]% nkf -s -Lw hello.c > hello_win.c
nkf -s –Lw <unix file> > <windows file>nkf -e –Lu <windows file> > < unix file>
lin01:inoguchi[212]% nkf -e -Lu hello_win.c > hello_u.clin01:inoguchi[212]% cat hello_u.c#include <stdio.h>
void main(){printf("Hello World.¥n");
}
JAIST -- Japan Advanced Institute of Science and Technology 59
WindowsからLinuxへLinuxからWindowsへ
WindowsからLinuxへ• Windowsで編集
Windowsで編集 ~ Note Padなど nkf -e –Lu <windows file> > < unix file>
LinuxからWindowsへ nkf -s –Lw <unix file> > <windows file> Windowsファイルとして見える.
JAIST -- Japan Advanced Institute of Science and Technology 60
並列計算機へのログイン 手元のUNIX系OSかSSHクライアントから並列計算機にログイン
• ssh “hostname” • X(スクリーン)を飛ばす場合、 ssh hostname” –X• ユーザ名が異なる場合、 ssh –l “username” “hostname”
機種 ホスト名 備考Cray XC40 xc40 ログインノードHPE Superdome lmpcc ログインノードPC クラスタ pcc ログインノードGPUノード pcc PCクラスタ内に
搭載,ログインノード
JAIST -- Japan Advanced Institute of Science and Technology 61
並列機へのログイン
lin01:training[208]%ssh pccPassword:Last login: Mon Jun 8 09:04:09 2020 from d175-090.jaist.ac.jpvpcc:inoguchi[185]%cd tutorial1/Directory: /home/inoguchi/tutorial1vpcc:tutorial1[186]%pwd/home/inoguchi/tutorial1vpcc:test1[187]%ls -l合計 123-rw------- 1 inoguchi is 65 6月 13 16:34 hello1.cvpcc:tutorial1[188]%
JAIST -- Japan Advanced Institute of Science and Technology 62
並列機を利用するまえに
当センターでサービスしている並列機は,すべて全学共用のシステムです.多くのシステムについて言える共通のルール,利用にあたっての約束事などがありますので,初めてご利用になる方はまず以下をお読みください.
2. インタラクティブノード3. ソフトウェア4. MPCグループ
https://www.jaist.ac.jp/iscenter/mpc/manual/
0. 利用の開始1. ジョブスケジューリングの基本1.1 ジョブスクリプト1.2 ジョブ確認1.3 ジョブ投入と削除1.4 インタラクティブジョブ
JAIST -- Japan Advanced Institute of Science and Technology 63
並列計算機を使うために 環境設定・コンパイル
• 各並列計算機ごとに,設定やコンパイル時のオプションが異なります.
• 詳しくは各並列機のページをご参照ください. 講習会テキスト
• 過去の講習会資料は情報センターのWEBサイトからダウンロードできます。
サンプル• 講習会で利用したサンプルスクリプトなど,並列機を初めて利用する際の参考になるスクリプト群を, 各並列機の以下ディレクトリに格納しています.
• /work/Samples• 適宜,ご自分の作業領域にコピーしてからご利用ください.• ・例:サンプルディレクトリを/work/<ユーザ名>以下にコピーする
• %cp -r /work/Samples/xxxxxxxxx /work/<user name>/
JAIST -- Japan Advanced Institute of Science and Technology 66
並列機(クラスタ)のリソース管理 並列計算機を共有リソースとして不特定多数のユーザで利用するため、ジョブスケジューラーを利用
• ユーザが個々の計算,実験に必要な実行ファイル,データ等をまとめてバッチジョブとして登録しておくことで,計算リソースが空き次第自動的に実行される
• ジョブスケジューラの管理下にある並列計算機は、ログインノード(フロントエンドノード)と計算ノードに分かれて構成される
• ユーザはログインノードで計算用の実行ファイルやデータを準備し,ジョブスケジューラに投入します.
Iqbal, S. et. al. Planning considerations for job scheduling in hpc clusters. Dell Power Solutions Magazine, 133-136 (Feb. 2005).
JAIST -- Japan Advanced Institute of Science and Technology 67
インタラクティブとバッチ JAISTのMPC環境
• xc40, lmpcc, pcc, PBS Professionalをジョブスケジューラとして利用計算ノードには直接ログインできない計算ノードに空きが出るまでジョブの実行を待機基本的にバッチ処理となる
なぜバッチなのか?• バッチの利点,欠点○計算資源に無駄が出ない.○予約して帰れば,夜間休日も自動的に実行× 実行の様子が見えない.
• インタラクティブ(TSS)の利点,欠点○実行の様子が分かる○編集して実行の手順が簡単×× 複数ジョブがCPUを奪い合う.特にメモリを奪い合うと悲惨
JAIST -- Japan Advanced Institute of Science and Technology 68
TSS v.s. Batch TSS Batch
• Step1
SystemMemory32GB
User A20GB
User B16GB
4GB 溢れる → DISKとの交換が頻発
SystemMemory32GB
User A20GB
SystemMemory32GB
User B16GB
Step2
JAIST -- Japan Advanced Institute of Science and Technology 69
ジョブスケジューラへのバッチジョブ投入
バッチジョブの投入方法1. ジョブスクリプト作成
計算ジョブの実行に必要な実行ファイル,データ,設定ファイル等をまとめ,定型のジョブスクリプトに記述する
2. ジョブ投入作成したジョブスクリプトをジョブスケジューラに投入する.投入する個数に制限はない.入力データの異なる計算ジョブを多数投入しておくこともできる.
3. ジョブ実行計算ジョブは,投入されたシステムで実行に必要なリソース(CPU, Memory,Node等)が確保され次第, 自動的に実行される
JAIST -- Japan Advanced Institute of Science and Technology 70
ジョブスケジューラのルールジョブ実行ルール
スケジューラに投入されたジョブは,基本的に以下のルールに添って実行されます.• 基本的に,少ないリソースで実行できるキューの優先度がより高く設定されている
• 高優先度のキューに投入されたジョブから順次実行される• 同じキューの中では,先に投入されたジョブから順次実行される
• (リソース不足等で)一定時間実行されなかったジョブは,最優先として実行される.この場合,最優先ジョブを実行させるリソースを確保するために,その他のジョブが一時的に開始されなくなることがある
※ラーメン屋の席待ちと同じ.
JAIST -- Japan Advanced Institute of Science and Technology 71
ジョブスケジューラ管理下でインタラクティブに実行する方法
以下のコマンドにてジョブスケジューラを利用し,計算ノードを対話的に操作することができます.
• qsub –I • さらに詳細に指定したいとき
qsub –I –l select=1:ncpus=8 –q SMALL-l リソースの指定 -q <キュー名>
• リソースに空きがない場合は、リクエストがキューに入るため、応答が帰ってこない
qstat –a にてリソースの使用状況を確認• ユーザに割り当てられたノードには、別途 ssh にて接続可能• インタラクティブ操作を終了する場合, exit
スクリプトの作成・デバッグなど,バッチファイルを介さず直接実行ファイルを動作させたい場合や,バッチジョブでは利用困難なGUIを使う場合に役立ちます.
JAIST -- Japan Advanced Institute of Science and Technology 72
バッチジョブでのインタラクティブ実行プログラムのコンパイルと実行
vpcc:tutorial1[194]%qsub -I -q TINYqsub: waiting for job 2163522.vpcc-con to startqsub: job 2163522.vpcc-con ready
vpcc-043:inoguchi[206]%pwd/home/inoguchivpcc-043:inoguchi[207]%cd /work/inoguchi/tutorial1/directory: /work/inoguchi/tutorial1vpcc-043:tutorial1[208]%ls -ltotal 4-rw------- 1 inoguchi is 65 Jun 13 16:34 hello.c
vpcc-043:tutorial1[209]%cat hello.c#include <stdio.h>
void main(){printf("Hello World.¥n");
}vpcc-043:tutorial1[210]%icc hello.caltix-uv:tutorial1[211]%ls -ltotal 32-rwx--x--x 1 inoguchi is 26480 Jun 13 16:50 a.out-rw------- 1 inoguchi is 65 Jun 13 16:34 hello.caltix-uv:tutorial1[212]%./a.outHello World.altix-uv:tutorial1[213]%
JAIST -- Japan Advanced Institute of Science and Technology 73
スクリプトによるジョブの投入 大量のパラメータを変化させたジョブを投入したいとき
• 一つは、直接コマンドを実行させる方法パソコンなら、別のマシンにそれぞれ投入しないといけないので大変&をつけてバックグランド処理としてメモリ、CPUリソースが許す限り投入可能以下によりログアウト後も継続するジョブとなる% nohup ./a.out &
• もうひとつは、スクリプトをあらかじめ作っておき、そのスクリプトを実行させる方法
シェルスクリプト(bash, tcsh)やスクリプト言語(perl, python, ruby)を使う方法リソースを大量に使う場合
– インタラクティブバッチを– ジョブスケジューラ向けのバッチスクリプトで記述
JAIST -- Japan Advanced Institute of Science and Technology 74
バッチスクリプトの例#!/bin/csh ← 普段利用しているシェルを指定#PBS -q SINGLE ← 投入先のキューの指定#PBS –oe ← 標準出力,標準エラー出力を
一ファイルに出力#PBS -l select=1 ← 必要なリソースの要求#PBS -N my-job ← 投入するジョブ名の指定
cd ${PBS_O_WORKDIR} ← 作業ディレクトリに移動setenv OMP_NUM_THREADS 10
./a.out param1
./a.out param2…….
./a.out param6
JAIST -- Japan Advanced Institute of Science and Technology 75
バッチスクリプトの例 (ループ)#!/bin/csh ← 普段利用しているシェルを指定#PBS -q SINGLE ← 投入先のキューの指定#PBS –oe ← 標準出力,標準エラー出力を
一ファイルに出力#PBS -l select=1 ← 必要なリソースの要求#PBS -N my-job ← 投入するジョブ名の指定
cd ${PBS_O_WORKDIR} ← 作業ディレクトリに移動setenv OMP_NUM_THREADS 10
for i in 1 2 3 4 5 6 7 8 9 10; do./a.out test$i
done
JAIST -- Japan Advanced Institute of Science and Technology 76
バッチスクリプトの作成 センターWebにサンプルがあるので,それをコピー.
センターWebの解説に従って,自分で作成. マシンによっては自動作成ツールがある.
vpcc:inoguchi[257]% perl /work/Samples/mkjob.plHow many MPI processes do you want to run in your job? (1 - 512): 1How many OpenMP threads do you want to run per processes?(not per job!) : 1Default memory size for your job is 16 GB.If you needs more memory, please input the memory size you want. : 32
Job Script was created as PBS_run.shvpcc:inoguchi[258]% cat PBS_run.sh#!/bin/csh#### Job Script for VPCC, JAIST## created by mkjob.pl##PBS -N Test_Job#PBS -joe -lselect=1#PBS -q SINGLE
cd ${PBS_O_WORKDIR}
./a.out > result
JAIST -- Japan Advanced Institute of Science and Technology 77
UNIX の利用CLI で陥りやすい罠
何も入力できなくなったC-q (Ctrlを押しながら”q”)してみましょう
逆) C-s すると入力ができなくなる
プログラムを動かしたら反応がなくなったC-c (Ctrlを押しながら”c”)してみましょう
プログラムの強制終了です
プログラムを動かしたら反応がなくなった (2)C-z (Ctrlを押しながら”z”)してみましょう
動いているプログラムがサスペンドします
fg コマンドで復帰.
JAIST -- Japan Advanced Institute of Science and Technology 78
並列機向けプログラミング ノード内スレッド並列
• OpenMP• 各種コンパイラの自動並列化
intelコンパイラの –parallel オプションによる
ノード間プロセス並列• MPI
アクセラレータ向けのディレクティブ• OpenACC• CUDA
詳しくは、それぞれの講習会にて
JAIST -- Japan Advanced Institute of Science and Technology 79
JAISTの主要開発ツール Intel/PGI Compiler
• C,Fortranコンパイラ• XC40, lmpcc, pccで利用
MATLAB / Simulink• 数値解析ソフトウェア• 行列計算、関数とデータの可視化、アルゴリズム開発、グラフィカルインターフェイス
• PC版有• 大規模計算はLMPCCで!
Materials Studio• 材料開発統合シミュレーションソフトウェア
• PCクラスタ pccで利用 Gaussian09
• 計算化学用ソフトウェア• lmpcc, pccで利用
ChemDraw• 化学理論に基づく化学構造式を描画するツール
• Windows, Mac版 Origin Pro
• データ分析・グラフ作成• Windows版
Mathematica• 数式処理システム
SPSS• 統計解析ソフトウェア
JAIST -- Japan Advanced Institute of Science and Technology 80
ソフトウェア,ツールの利用 MPCマシンには商用・非商用のツール,ソフトウェアを各自ダウンロード・コンパイルして利用できます.
• 別途権限が必要な領域へのインストールを希望する際には情報センターに要相談
いくつかのソフトウェアのコンパイル方法の参考事例
• MPCグループWebサイト 以下の科学計算用ソフトウェアがそれぞれの機器にインストールされています.
• Materials Studio • Gaussian09 • Matlab
JAIST -- Japan Advanced Institute of Science and Technology 81
まとめ
You should do:• Decide and change your E-mail address• Acquire the Digital Certificate (from web)• Decide and change your password• Submit application to use network (wired/wireless)• Check that an anti-virus software has been installed on
your PC Please see the ISC homepage
Enjoy your digital life ;p)
継続的にMPCマシンを利用する方はmpcメーリングリストに登録ください:http://www.jaist.ac.jp/mpc/ から「MPCグループへの登録」へ
JAIST -- Japan Advanced Institute of Science and Technology 82
6/18 (木) 13:30- PC Cluster/初級並列機講習会6/19 (金) 13:30- Large Memory PC Cluster(Superdome)/
並列化プログラミング初級者講習会6/30 (火) 13:30- Cray XC40 初級者講習会7/01 (水) 13:30- Cray XC40 Urika-XC 講習会
2020春季講習会スケジュール
秋季講習会も10月、11月に開催予定