| 
  
   サイズ: 8093 
  
  コメント:  
 | 
  
   サイズ: 14846 
  
  コメント:  
 | 
| 削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 | 
| 行 3: | 行 3: | 
| '''2014年8月1日よりテスト運用を開始しました.''' | '''2014年8月1日より正式運用を開始しました.''' | 
| 行 9: | 行 9: | 
| Tera''''''Term や putty などの SSH クライアントを利用して,wdev.edu.tut.ac.jp にログインして下さい. ユーザ名とパスワードは,情報メディア基盤センターを利用するユーザ名とパスワードが使えます.  | 
Tera''''''Term や putty などの SSH クライアントを利用して,開発サーバにログインして下さい. 開発サーバのホスト名は、学内利用者か学外利用者かによって異なります。 開発サーバはコンパイルや開発を行うためのサーバです. 開発サーバで大規模な計算処理を実行しないでください. 計算処理は [[../ClusterSystemUsage#A.2BMLgw5zDWW5.2BITGW5bNU-|Torque]] を介して、ジョブとしてクラスタ上で実行してください. また、開発サーバは,実際には2台のサーバを用意して負荷分散しています. === 学内利用者の場合 === 開発サーバのホスト名は wdev.edu.tut.ac.jp になります。 ユーザ名とパスワードは,情報メディア基盤センターから発行されたアカウントを入力して下さい。  | 
| 行 16: | 行 27: | 
| wdev.edu.tut.ac.jp はコンパイルや開発を行うためのサーバです. wdev.edu.tut.ac.jp で大規模な計算処理を実行しないでください. 実際の計算処理については,下記の PBS を利用して,クラスタ上で実行してください. バッチ処理できない計算処理を実行する場合は,[[../InteractiveSimulationServer|小規模シミュレーション用サーバ]]を使ってください. また,wdev.edu.tut.ac.jp は,実際には2台のサーバを用意して負荷分散しています.  | 
=== 学外利用者の場合 === 開発サーバのホスト名は lark.imc.tut.ac.jp になります。 [[https://hpcportal.imc.tut.ac.jp|アカウント登録システム]]で発行されたアカウント(par+数字7桁)を使ってください。 学外利用者は公開鍵認証によってユーザを認証します。 [[https://hpcportal.imc.tut.ac.jp/profile|プロファイル変更]]で、自分の公開鍵を登録してください。 公開鍵の作成方法は[[../SSHClient|SSHクライアントの使い方]]を参照して下さい。 {{{ $ ssh lark.imc.tut.ac.jp }}}  | 
| 行 27: | 行 43: | 
| ||wSrchq||30ノード||1時間||20||100GB|| || ||wLrchq||30ノード||336時間||20||100GB|| ||  | 
||wEduq||4ノード||1時間||20||50GB||全ユーザが利用可能|| ||wSrchq||30ノード||1時間||20||100GB||研究利用登録ユーザのみ利用可能|| ||wLrchq||30ノード||336時間||20||100GB||研究利用登録ユーザのみ利用可能|| * wEduqは授業・学習用のキューです。長時間のジョブ実行や大量のジョブ投入など研究目的での本格的な利用はご遠慮ください。 * 授業時間中などはwEduqのために一部の計算ノードを専用に割り当てることがあります。この場合、数台の計算ノードがwEduqに占有され、それらのノードでwSrchqおよびwLrchqのジョブが実行されなくなります(利用可能ノード数が26になります)。 * スケジューリングできるジョブは全体で16384件です。ジョブ数(コマンド qstat -B の結果 Tot の値)が16384を超えないよう、節度ある利用をお願いします。 * 研究利用登録については[[http://imc.tut.ac.jp/research/form|こちら]]をご覧下さい。  | 
| 行 39: | 行 61: | 
| * wsnd17, wsnd31を利用したジョブ実行はできません. | 
|
| 行 41: | 行 65: | 
| ||ホーム領域||{{{/home/数字/ユーザ名/}}}||一般の端末と同じホーム領域が利用できます.一般の端末からは {{{Z:\}}} として見えます.|| ||ワーク領域||{{{/gpfs/work/ユーザ名/}}}|| ||  | 
||ホーム領域||{{{/home/数字/ユーザ名/}}}||教育用Windows端末と同じホーム領域が利用できます.教育用Windows端末からは {{{Z:\}}} として表示されます。|| ||ワーク領域||{{{/gpfs/work/ユーザ名/}}}|| 教育用Windows端末からは {{{V:\}}} として表示されます。 ||  | 
| 行 46: | 行 70: | 
{{{/work/ユーザ名/}}} というディレクトリ名は,各システムで最適なワーク領域を自動的に選ぶためのディレクトリ名として設計されています. 広域連携教育研究用クラスタシステムのワーク領域は GPFS で設計されているのに対して,[[../ClusterSystem|次世代シミュレーションクラスタシステム]]のワーク領域は Lustre で設計されています. そのため,[[../ClusterSystem|次世代シミュレーションクラスタシステム]]で {{{/work/ユーザ名/}}} にファイルを置いても,広域連携教育研究用クラスタシステム側では見えません. 広域連携教育研究用クラスタシステム側で,[[../ClusterSystem|次世代シミュレーションクラスタシステム]]で使っているワーク領域を参照したい場合は,{{{/lustre/work/ユーザ名/}}} というディレクトリ名で参照してください. ただし,途中で NFS を経由していますのでアクセス速度はかなり遅くなります.  | 
|
| 行 88: | 行 105: | 
| ||OpenMX (Serial版)||3.7||相対論的量子力学に基づくボトムアップ型の階層的第一原理量子シミュレーター(Serial版)||/common/openmx-3.7-serial/|| ||OpenMX (Parallel版)||3.7||相対論的量子力学に基づくボトムアップ型の階層的第一原理量子シミュレーター(Parallel版)||/common/openmx-3.7-parallel/||  | 
||OpenMX (Serial版)||3.7||相対論的量子力学に基づくボトムアップ型の階層的第一原理量子シミュレーター(Serial版)||/common/openmx-3.7/|| ||OpenMX (Parallel版)||3.7||相対論的量子力学に基づくボトムアップ型の階層的第一原理量子シミュレーター(Parallel版)||/common/openmx-3.7/||  | 
| 行 96: | 行 113: | 
| ||MPQC||3.0-alpha||Massively Parallel Quantum Chemistry Program||/common/mpqc-3.0.0-a-2014.03.20/|| | ||MPQC||3.0-alpha||Massively Parallel Quantum Chemistry Program||/common/mpqc-3.0.0a-2014.03.20/|| | 
| 行 107: | 行 124: | 
| * ANSYS, ABAQUS, Patran, DEFORM-3D, GAUSSIAN, CHEMKIN-PRO, MATLABの利用には登録種別Aへの利用登録が必要です. | * ANSYS, ABAQUS, Patran, DEFORM-3D, COMSOL, GAUSSIAN, CHEMKIN-PRO, MATLABの利用には登録種別Aへの利用登録が必要です. | 
| 行 109: | 行 126: | 
== ソフトウェアの利用方法 == ソフトウェアの利用方法については[[ClusterSystemUsage|クラスタシステムの利用方法]]をご覧ください。 == Xeon Phiの利用方法 == Xeon Phiの実行モデルとして,ネイティブ実行とオフロード実行の2つがあります.ネイティブ実行はXeon Phiを1つの計算ホストとして利用します.MPIプログラムを改変することなく利用できます.オフロード実行ではソースコードの特定の処理をXeon Phiにオフロードして実行します.OpenACCによりGPGPUを使うように,Xeon Phiを利用できます. === ネイティブ実行の方法 === ==== サンプルプログラムソース ==== sample_phi.c {{{ #include <stdio.h> #include <mpi.h> int main(int argc, char **argv) { int myid, nprocs; char hname[128]=""; MPI_Init(&argc,&argv); MPI_Comm_size(MPI_COMM_WORLD,&nprocs); MPI_Comm_rank(MPI_COMM_WORLD,&myid); gethostname(hname,sizeof(hname)); if (myid==0) printf ("NUMBER OF PROCESSES: %3d\n", nprocs); printf("HELLO WORLD! (HOST NAME: %10s, MYID: %3d)\n", hname, myid); MPI_Finalize(); return 0; } }}} * MPI用のサンプルプログラムソース(sample_c_mpi.c)と内容は同じです.ファイル名のみ変更しました. ==== コンパイル方法 ==== 実行ファイルは,Xeon CPU用とXeon Phiコプロセッサ用,それぞれ作成する必要があります.コンパイラはintelコンパイラを利用してください. '''Xeon CPU用の実行ファイルの作成:''' % mpiicc sample_phi.c -o sample_phi '''Xeon Phi用の実行ファイルの作成:''' % mpiicc -mmic sample_phi.c -o sample_phi.mic '''注意点''' Xeon Phi用の実行ファイル名には「.mic」を付与してください. 実行ファイル名は,「.mic」を除き,CPU用,Phi用で一致させてください. ==== ジョブ投入用サンプルスクリプト ==== phi_native.sh {{{ ### sample #!/bin/sh #PBS -q wSrchq #PBS -l nodes=3:ppn=2:Phi MIC0_PROCS=3 MIC1_PROCS=1 source /common/torque/MIC/mkmachinefile.sh cd $PBS_O_WORKDIR mpirun -machinefile ${MACHINEFILE} -n ${PBS_NP} ./sample_phi }}} '''#PBS -q について''' キューは「wSrchq」,「wLrchq」,どちらでも利用できます. '''#PBS -l について''' 「#PBS -l」における「:Phi」は必ずつけるようにしてください.Xeon Phi搭載演算ノードを選択して利用するための設定です. '''MIC0_PROCS, MIC1_PROCS について''' 本システムは1演算ノードに2基のXeon Phiが搭載されています.「MIC0_PROCS=」「MIC1_PROCS=」は演算ノードに搭載された2基のXeon Phiそれぞれについて,起動プロセス数を指定するために利用します.上記のスクリプトファイルでは「nodes=3」により3台の演算ノードが利用され,各演算ノードの1つのXeon Phiは3つのプロセスを起動し,もう一つのXeon Phiは1つのプロセスを起動することになります.なお,Xeon Phiは1基あたり60コア/240スレッドです.「MIC0_PROCS=」「MIC1_PROCS=」で指定する値は240以下としてください. '''並列数について''' 上記のスクリプトファイルでは,合計18のプロセスが起動され並列に実行されます.「nodes=3」によりwsnd00, wsnd02, wsnd03が選択されたとします.また,演算ノードに搭載される2基のXeon Phiを区別するため,Xeon Phi0,Xeon Phi1と呼ぶことにします.この場合,wsnd00で2プロセス,wsnd00のXeon Phi0で3プロセス,wsnd00のXeon Phi1で1プロセス,wsnd02で2プロセス,wsnd02のXeon Phi0で3プロセス,wsnd02のXeon Phi1で1プロセス,wsnd03で2プロセス,wsnd03のXeon Phi0で3プロセス,wsnd03のXeon Phi1で1プロセスが起動され,合計18プロセスとなります. '''その他''' ジョブ実行キュー,nodes=,ppn=,MIC0_PROCS=,MIC0_PROCS=の各値,実行ファイル名(上記スクリプトファイルではsample_phi)は,必要に応じて適切に変更してください. === オフロード実行方法 === ==== サンプルプログラムソース ==== tbo_sort.c 場所: /common/intel-2013SP1/composer_xe_2013_sp1.0.080/Samples/en_US/C++/mic_samples/LEO_tutorial/tbo_sort.c ==== コンパイル方法 ==== コンパイルを行う際は「-openmp」オプションを指定してください.コンパイラはintelコンパイラを利用してください. % icc -openmp tbo_sort.c -o tbo_sort ==== ジョブ投入用サンプルスクリプト ==== phi_offload.sh {{{ ### sample #!/bin/sh #PBS -q wSrchq #PBS -l nodes=1:ppn=20:Phi cd $PBS_O_WORKDIR ./tbo_sort }}} '''#PBS -q について''' キューは「wSrchq」,「wLrchq」,どちらでも利用できます. '''#PBS -l について''' 「#PBS -l nodes=1:ppn=20:Phi」を変更する必要はありません.1台のXeon Phi搭載演算ノードを占有して利用することを意味しています. '''その他''' ジョブ実行キュー,実行ファイル名(上記スクリプトファイルではtbo_sort)は,必要に応じて適切に変更してください. === 制限事項 === ● mpirunの-machinefileに指定するXeon PhiはIPアドレスにする必要があります.通常,-machinefileの設定値はmkmachinefile.shで自動生成されます. ● MPI通信はtcpのみ利用可能です.mkmachinefile.shにおいてtcpを利用するように設定しています. ● 2015年10月時点,ネイティブ実行可能なノードはwsnd[00-09,14,15]です.ホストを明示的に指定しない限りジョブスケジューラが自動的に実行可能なノードを選択してくれます.  | 
広域連携教育研究用クラスタシステム
2014年8月1日より正式運用を開始しました.
目次
ログイン方法
TeraTerm や putty などの SSH クライアントを利用して,開発サーバにログインして下さい. 開発サーバのホスト名は、学内利用者か学外利用者かによって異なります。
開発サーバはコンパイルや開発を行うためのサーバです. 開発サーバで大規模な計算処理を実行しないでください. 計算処理は Torque を介して、ジョブとしてクラスタ上で実行してください.
また、開発サーバは,実際には2台のサーバを用意して負荷分散しています.
学内利用者の場合
開発サーバのホスト名は wdev.edu.tut.ac.jp になります。 ユーザ名とパスワードは,情報メディア基盤センターから発行されたアカウントを入力して下さい。
$ ssh wdev.edu.tut.ac.jp
学外利用者の場合
開発サーバのホスト名は lark.imc.tut.ac.jp になります。 アカウント登録システムで発行されたアカウント(par+数字7桁)を使ってください。 学外利用者は公開鍵認証によってユーザを認証します。 プロファイル変更で、自分の公開鍵を登録してください。 公開鍵の作成方法はSSHクライアントの使い方を参照して下さい。
$ ssh lark.imc.tut.ac.jp
キュー構成
以下は暫定構成です.
キュー名  | 
  利用可能ノード数  | 
  経過時間制限/ジョブ  | 
  プロセス数制限/ノード  | 
  メモリ容量制限/ノード  | 
  備考  | 
wEduq  | 
  4ノード  | 
  1時間  | 
  20  | 
  50GB  | 
  全ユーザが利用可能  | 
wSrchq  | 
  30ノード  | 
  1時間  | 
  20  | 
  100GB  | 
  研究利用登録ユーザのみ利用可能  | 
wLrchq  | 
  30ノード  | 
  336時間  | 
  20  | 
  100GB  | 
  研究利用登録ユーザのみ利用可能  | 
- wEduqは授業・学習用のキューです。長時間のジョブ実行や大量のジョブ投入など研究目的での本格的な利用はご遠慮ください。
 - 授業時間中などはwEduqのために一部の計算ノードを専用に割り当てることがあります。この場合、数台の計算ノードがwEduqに占有され、それらのノードでwSrchqおよびwLrchqのジョブが実行されなくなります(利用可能ノード数が26になります)。
 - スケジューリングできるジョブは全体で16384件です。ジョブ数(コマンド qstat -B の結果 Tot の値)が16384を超えないよう、節度ある利用をお願いします。
 研究利用登録についてはこちらをご覧下さい。
システム構成
ハードウェア構成
分類  | 
  ホスト名  | 
  機種  | 
  CPU  | 
  主記憶容量  | 
  理論演算性能  | 
  アクセラレータ  | 
  OS  | 
開発処理サーバ  | 
  wdev  | 
  HA8000-tc/HT210  | 
  Xeon E5-2680 v2 2.8GHz 10コア×2  | 
  128GB  | 
  448GFLOPS  | 
  Xeon Phi  | 
  RHEL6.4  | 
演算ノード (Xeon Phi搭載)  | 
  wsnd00〜wsnd15  | 
  HA8000-tc/HT210  | 
  Xeon E5-2680 v2 2.8GHz 10コア×2  | 
  128GB  | 
  448GFLOPS  | 
  Xeon Phi  | 
  RHEL6.4  | 
演算ノード  | 
  wsnd16〜wsnd31  | 
  HA8000-tc/HT210  | 
  Xeon E5-2680 v2 2.8GHz 10コア×2  | 
  128GB  | 
  448GFLOPS  | 
  
  | 
  RHEL6.4  | 
* wsnd17, wsnd31を利用したジョブ実行はできません.
ファイルシステム構成
ホーム領域  | 
  /home/数字/ユーザ名/  | 
  教育用Windows端末と同じホーム領域が利用できます.教育用Windows端末からは Z:\ として表示されます。  | 
ワーク領域  | 
  /gpfs/work/ユーザ名/  | 
  教育用Windows端末からは V:\ として表示されます。  | 
ソフトウェア領域  | 
  /common/  | 
  
  | 
ワーク領域は,/work/ユーザ名/ というディレクトリ名でも参照することができます.
コンパイラ
コンパイラ  | 
  バージョン  | 
  インストールディレクトリ  | 
Intel  | 
  14.0.0 Build 20130728  | 
  /common/intel-2013SP1/  | 
PGI  | 
  14.3-0  | 
  /common/pgi-14.3/  | 
GNU  | 
  4.4.7  | 
  /usr/bin/  | 
メッセージ通信ライブラリ(MPI)
ライブラリ  | 
  バージョン  | 
  インストールディレクトリ  | 
Intel MPI  | 
  14.0.0 Build 20130728  | 
  /common/intel-2013SP1/  | 
Open MPI  | 
  1.6.5  | 
  /common/openmpi-1.6.5/  | 
MPICH 3  | 
  3.1  | 
  /common/mpich-3.1/  | 
MPICH 1  | 
  1.2.7p1  | 
  /common/mpich-1.2.7p1/  | 
ソフトウェア構成
ソフトウェア名称  | 
  バージョン  | 
  説明  | 
  インストールディレクトリ  | 
構造解析  | 
|||
ANSYS Multiphysics  | 
  14.5  | 
  マルチフィジックス解析ツール  | 
  /common/ansys14.5/  | 
ANSYS CFX  | 
  14.5  | 
  汎用熱流体解析ソフトウェア  | 
  /common/ansys14.5/  | 
ANSYS Fluet  | 
  14.5  | 
  汎用熱流体解析ソフトウェア  | 
  /common/ansys14.5/  | 
ANSYS LS-DYNA  | 
  14.5  | 
  落下・衝突解析ツール  | 
  /common/ansys14.5/  | 
ANSYS HFSS  | 
  15.0.3  | 
  高周波3次元電磁解解析ソフトウェア  | 
  /common/ansys_hfss-15.0.3/  | 
ABAQUS  | 
  6.12  | 
  汎用非線形有限要素解析プログラム  | 
  /common/abaqus-6.12-3/  | 
Patran  | 
  2013  | 
  CAE環境統合プリ・ポストソフトウェア  | 
  /common/patran-2013/  | 
DEFORM-3D  | 
  10.2  | 
  有限要素法を用いた3次元塑性加工シミュレーションソフト  | 
  /common/deform-3d-10.2/  | 
COMSOL  | 
  4.4  | 
  有限要素法を用いた汎用物理シミュレーションソフト  | 
  /common/comsol44/  | 
計算物質科学  | 
|||
PHASE (Serial版)  | 
  2014.01  | 
  第一原理擬ポテンシャルバンド計算ソフトウェア(Serial版)  | 
  /common/phase0-2014.01-serial/  | 
PHASE (Parallel版)  | 
  2014.01  | 
  第一原理擬ポテンシャルバンド計算ソフトウェア(Parallel版)  | 
  /common/phase0-2014.01-parallel/  | 
PHASE-Viewer  | 
  3.2.0  | 
  GUI 統合環境ソフトウェア  | 
  /common/phase-viewer-v320/  | 
UVSOR (Serial版)  | 
  3.42  | 
  第一原理擬ポテンシャル誘電応答解析ソフトウェア(Serial版)  | 
  /common/uvsor-v342-serial/  | 
UVSOR (Parallel版)  | 
  3.42  | 
  第一原理擬ポテンシャル誘電応答解析ソフトウェア(Parallel版)  | 
  /common/uvsor-v342-parallel/  | 
OpenMX (Serial版)  | 
  3.7  | 
  相対論的量子力学に基づくボトムアップ型の階層的第一原理量子シミュレーター(Serial版)  | 
  /common/openmx-3.7/  | 
OpenMX (Parallel版)  | 
  3.7  | 
  相対論的量子力学に基づくボトムアップ型の階層的第一原理量子シミュレーター(Parallel版)  | 
  /common/openmx-3.7/  | 
計算化学  | 
|||
Gaussian  | 
  09 Rev.C.01  | 
  Electronic structure program  | 
  /common/gaussian09-C.01/  | 
NWChem (Serial版)  | 
  6.3.2  | 
  A comprehensive and scalable open-source solution for large scale molecular simulations(Serial版)  | 
  /common/nwchem-6.3.2-serial/  | 
NWChem (Parallel版)  | 
  6.3.2  | 
  A comprehensive and scalable open-source solution for large scale molecular simulations(Parallel版)  | 
  /common/nwchem-6.3.2-parallel/  | 
GAMESS (Serial版)  | 
  2013.R1  | 
  A general ab initio quantum chemistry package(Serial版)  | 
  /common/gamess-2013.r1-serial/  | 
GAMESS (Parallel版)  | 
  2013.R1  | 
  A general ab initio quantum chemistry package(Parallel版)  | 
  /common/gamess-2013.r1-parallel/  | 
MPQC  | 
  3.0-alpha  | 
  Massively Parallel Quantum Chemistry Program  | 
  /common/mpqc-3.0.0a-2014.03.20/  | 
Amber (Serial版)  | 
  12  | 
  Molecular Dynamics Package(Serial版)  | 
  /common/amber12-serial/  | 
Amber (Parallel版)  | 
  12  | 
  Molecular Dynamics Package(Parallel版)  | 
  /common/amber12-parallel/  | 
AmberTools (Serial版)  | 
  12  | 
  Set of several independently developed packages that work well by themselves, and with Amber itself(Serial版)  | 
  /common/amber12-serial/AmberTools/  | 
AmberTools (Parallel版)  | 
  12  | 
  Set of several independently developed packages that work well by themselves, and with Amber itself(Parallel版)  | 
  /common/amber12-parallel/AmberTools/  | 
CONFLEX (Serial版)  | 
  7  | 
  汎用分子力学計算ソフトウエア(Serial版)  | 
  /common/conflex7/  | 
CONFLEX (Parallel版)  | 
  7  | 
  汎用分子力学計算ソフトウエア(Parallel版)  | 
  /common/conflex7/  | 
CHEMKIN-PRO  | 
  15112  | 
  詳細化学反応解析支援ソフトウエア  | 
  /common/chemkin-15112/  | 
技術処理  | 
|||
MATLAB  | 
  R2013a  | 
  数値計算言語  | 
  /common/matlab-R2013a/  | 
- ANSYS, ABAQUS, Patran, DEFORM-3D, COMSOL, GAUSSIAN, CHEMKIN-PRO, MATLABの利用には登録種別Aへの利用登録が必要です.
 登録種別Aの申請方法は http://imc.tut.ac.jp/research/form を参照してください.
ソフトウェアの利用方法
ソフトウェアの利用方法についてはクラスタシステムの利用方法をご覧ください。
Xeon Phiの利用方法
Xeon Phiの実行モデルとして,ネイティブ実行とオフロード実行の2つがあります.ネイティブ実行はXeon Phiを1つの計算ホストとして利用します.MPIプログラムを改変することなく利用できます.オフロード実行ではソースコードの特定の処理をXeon Phiにオフロードして実行します.OpenACCによりGPGPUを使うように,Xeon Phiを利用できます.
ネイティブ実行の方法
サンプルプログラムソース
sample_phi.c
#include <stdio.h>
#include <mpi.h>
int main(int argc, char **argv)
{
    int myid, nprocs;
    char hname[128]="";
    MPI_Init(&argc,&argv);
    MPI_Comm_size(MPI_COMM_WORLD,&nprocs);
    MPI_Comm_rank(MPI_COMM_WORLD,&myid);
    gethostname(hname,sizeof(hname));
    if (myid==0)
        printf ("NUMBER OF PROCESSES: %3d\n", nprocs);
    printf("HELLO WORLD! (HOST NAME: %10s, MYID: %3d)\n", hname, myid);
    MPI_Finalize();
    return 0;
}* MPI用のサンプルプログラムソース(sample_c_mpi.c)と内容は同じです.ファイル名のみ変更しました.
コンパイル方法
実行ファイルは,Xeon CPU用とXeon Phiコプロセッサ用,それぞれ作成する必要があります.コンパイラはintelコンパイラを利用してください.
Xeon CPU用の実行ファイルの作成:
% mpiicc sample_phi.c -o sample_phi
Xeon Phi用の実行ファイルの作成:
% mpiicc -mmic sample_phi.c -o sample_phi.mic
注意点
Xeon Phi用の実行ファイル名には「.mic」を付与してください.
実行ファイル名は,「.mic」を除き,CPU用,Phi用で一致させてください.
ジョブ投入用サンプルスクリプト
phi_native.sh
### sample
#!/bin/sh
#PBS -q wSrchq
#PBS -l nodes=3:ppn=2:Phi
MIC0_PROCS=3
MIC1_PROCS=1
source /common/torque/MIC/mkmachinefile.sh
cd $PBS_O_WORKDIR
mpirun -machinefile ${MACHINEFILE} -n ${PBS_NP} ./sample_phi#PBS -q について
キューは「wSrchq」,「wLrchq」,どちらでも利用できます.
#PBS -l について
「#PBS -l」における「:Phi」は必ずつけるようにしてください.Xeon Phi搭載演算ノードを選択して利用するための設定です.
MIC0_PROCS, MIC1_PROCS について
本システムは1演算ノードに2基のXeon Phiが搭載されています.「MIC0_PROCS=」「MIC1_PROCS=」は演算ノードに搭載された2基のXeon Phiそれぞれについて,起動プロセス数を指定するために利用します.上記のスクリプトファイルでは「nodes=3」により3台の演算ノードが利用され,各演算ノードの1つのXeon Phiは3つのプロセスを起動し,もう一つのXeon Phiは1つのプロセスを起動することになります.なお,Xeon Phiは1基あたり60コア/240スレッドです.「MIC0_PROCS=」「MIC1_PROCS=」で指定する値は240以下としてください.
並列数について
上記のスクリプトファイルでは,合計18のプロセスが起動され並列に実行されます.「nodes=3」によりwsnd00, wsnd02, wsnd03が選択されたとします.また,演算ノードに搭載される2基のXeon Phiを区別するため,Xeon Phi0,Xeon Phi1と呼ぶことにします.この場合,wsnd00で2プロセス,wsnd00のXeon Phi0で3プロセス,wsnd00のXeon Phi1で1プロセス,wsnd02で2プロセス,wsnd02のXeon Phi0で3プロセス,wsnd02のXeon Phi1で1プロセス,wsnd03で2プロセス,wsnd03のXeon Phi0で3プロセス,wsnd03のXeon Phi1で1プロセスが起動され,合計18プロセスとなります.
その他
ジョブ実行キュー,nodes=,ppn=,MIC0_PROCS=,MIC0_PROCS=の各値,実行ファイル名(上記スクリプトファイルではsample_phi)は,必要に応じて適切に変更してください.
オフロード実行方法
サンプルプログラムソース
tbo_sort.c
場所: /common/intel-2013SP1/composer_xe_2013_sp1.0.080/Samples/en_US/C++/mic_samples/LEO_tutorial/tbo_sort.c
コンパイル方法
コンパイルを行う際は「-openmp」オプションを指定してください.コンパイラはintelコンパイラを利用してください.
% icc -openmp tbo_sort.c -o tbo_sort
ジョブ投入用サンプルスクリプト
phi_offload.sh
### sample #!/bin/sh #PBS -q wSrchq #PBS -l nodes=1:ppn=20:Phi cd $PBS_O_WORKDIR ./tbo_sort
#PBS -q について
キューは「wSrchq」,「wLrchq」,どちらでも利用できます.
#PBS -l について
「#PBS -l nodes=1:ppn=20:Phi」を変更する必要はありません.1台のXeon Phi搭載演算ノードを占有して利用することを意味しています.
その他
ジョブ実行キュー,実行ファイル名(上記スクリプトファイルではtbo_sort)は,必要に応じて適切に変更してください.
制限事項
● mpirunの-machinefileに指定するXeon PhiはIPアドレスにする必要があります.通常,-machinefileの設定値はmkmachinefile.shで自動生成されます.
● MPI通信はtcpのみ利用可能です.mkmachinefile.shにおいてtcpを利用するように設定しています.
● 2015年10月時点,ネイティブ実行可能なノードはwsnd[00-09,14,15]です.ホストを明示的に指定しない限りジョブスケジューラが自動的に実行可能なノードを選択してくれます.