኱つᶍ⛉Ꮫィ⟬ࢩࢫࢸ࣒㛵㐃᱌ෆ㸺኱つᶍ⛉Ꮫィ⟬ࢩࢫࢸ࣒㛵㐃ᴗົࡣࠊࢧ࢖ࣂ࣮ࢧ࢖࢚ࣥࢫࢭࣥࢱ࣮ᮏ㤋ෆࡢ᝟ሗ㒊᝟ሗᇶ┙ㄢࡀᢸᙜࡋ࡚࠸ࡲࡍࠋ㸼KWWSZZZVVFFWRKRNXDFMS㝵㟁ヰ␒ྕ䠄ෆ⥺䠅 
HPDLOಀ䞉ᐊྡ฼⏝┦ㄯᐊ

୺䛺䝃䞊䝡䝇ෆᐜ䝃䞊䝡䝇᫬ 㛫ᖹ᪥ィ⟬ᶵ฼⏝඲⯡䛻㛵䛩䜛┦ㄯ୍㝵  䡚
኱ุ䝥䝸䞁䝍䚸฼⏝⪅➃ᮎ➼䛾 䡚฼⏝ 

ྛ䝉䞁䝍䞊ᗈሗ䛾㜀ぴ䡚

Ṕ௦䛾኱ᆺィ⟬ᶵ➼䛾ᒎ♧䠖䡚䠖  
VRGDQ#FFWRKRNXDFMS┦ㄯဨ୙ᅾ᫬

฼⏝⪅ㄯヰᐊᒎ♧ᐊ ศᩓ䡶䢙䢇䢛䡩䡬䡼༤≀㤋 ྍど໬ᶵჾᐊ

 ୕ḟඖྍど໬䝅䝇䝔䝮䛾฼⏝䡚

⥲ົಀ  
VRP#FFWRKRNXDFMS⥲ົ䛻㛵䛩䜛䛣䛸䡚

఍ィಀ  
NDLNHL#FFWRKRNXDFMS఍ィ䛻㛵䛩䜛䛣䛸䚸㈇ᢸ㔠䛾ㄳồ䛻㛵䛩䜛䛣䛸䡚୕ ඹྠ◊✲ᨭ᥼ಀ   
UVVHF#FFWRKRNXDFMS㝵䠄䠅ඹྠ฼⏝ᨭ᥼ಀ
  ཷ㻌 ௜ XNHWXNH#FFWRKRNXDFMSඹྠ◊✲䚸ィ⟬ᶵ䝅䝇䝔䝮䛻㛵䛩䜛䛣䛸

䡚

฼⏝ᡭ⥆䛝䚸฼⏝┦ㄯ䚸ㅮ⩦఍䚸䝷䜲䝤䝷䝸䚸䜰䝥䝸䜿䞊䝅䝵䞁䛻㛵䛩䜛䛣䛸䡚

  
QHWVHF#FFWRKRNXDFMS䝛䝑䝖䝽䞊䜽䛻㛵䛩䜛䛣䛸䡚

ᅄ◊✲㛤Ⓨ㒊
㝵  ஬㝵 ➃ᮎᶵᐊ

 

3& ➃ᮎᶵ䠄; ➃ᮎ䠅䝛䝑䝖䝽䞊䜽ಀ㸦 㸧ෆࡣᮾ໭኱Ꮫෆࡢࡳࡢෆ⥺㟁ヰ␒ྕ࡛ࡍࠋ㟷ⴥᒣ࣭ᕝෆᆅ༊௨እ࠿ࡽࡣ㢌࡟  ࢆຍ࠼ࡲࡍࠋ
ᮏㄅ䛾ྡ๓䛂㻿㻱㻺㻭㻯䛃䛾⏤᮶㻌᫛࿴  ᖺ䛻ᮾ໭ᆅ༊䛾᭱ึ䛾㟁Ꮚィ⟬ᶵ䛸䛧䛶䚸ᮾ໭኱Ꮫ㟁Ẽ㏻ಙ◊✲ᡤ䛻䛚䛔䛶᏶ᡂ䛥䜜䛯䝟䝷䝯䝖䝻䞁ᘧィ⟬ᶵ䛾ྡ๓䛷 6(1$& 6(1GDL$XWRPDWLF&RPSXWHU 䛛䜙䛸䛳䛶࿨ྡ䛥䜜䛯䚹㻌

— 1 —

SENAC Vol. 48, No. 2（2015. 4）［大規模科学計算システム］

スーパーコンピュータ SX-ACE の利用法	
 情報部情報基盤課	
  共同利用支援係	
  共同研究支援係	
 サイバーサイエンスセンター	  スーパーコンピューティング研究部	
 1 章	
  はじめに	 Ƽ Þɟʉɢʌȳɝʌɰʌɗʉɲʀʌɢ ǧǬǄǖǘǚ ȲƑđɆ ǉǇǈǌ  ǉ ÙȕɁƟtȟȬȑȺȡȌÞİȭȳȋǧǬǄǖǘǚ
ɛɝɧɼȭȲɵʇɕʃɻʉɕ=đɒɋɪȮȟȬȋɵʇɕʃɼȲ¨ȕɁɗʉɰɋʅȋ{ŚĸȲȑËȮ=đŻ²ƚȱȫȑȬȜńȟȺȡȌƼn システムの特徴n ハードウェアƼ ÞɟʉɢʌȲ ǧǬǄǖǘǚ ɛɝɧɼɆeƼ ǈ ȱħȟȺȡȌǧǬǄǖǘǚʎÍÞƬõʍşʏȳȋBɛɝɧɼ ǧǬǄǐ ȮYȠȘɶɔɩʅ:hɝʌɰʌɗʉɲʀʌɢɆŊ­ȟȬȑȺȡȌb.ȟȧ ǧǬǄǖǘǚ Ȳɛɝɧɼȳ/ ǉǃǌǍǇ ノードでé¨ȝɄȋǈ ノードあたりĎŸØsĄĺ£Ŗ ǉǎǍǜǛǠǣǤǧȋØsɶɔɩʅ£Ŗ ǉǌǍǜǛǠǣǤǧ Ȳĕ;Ȳɺʅɤɗɉƿǋ ɗɉǀベクトルプロセッサを ǈƼ 基搭載し、システム全体ではĿ ǎǇǎǨǛǠǣǤǧƼ ȮȰɂȺȡȌ ũ§ȳ ǈ ノードあたɂ ǍǋǜǗ Ɇ¾ƅȟȋǉǌǍǜǗǆȀ という高いメモリバƼ ンド幅でプロセッサと接続されることでȋƻȑĄĺ£ŖȮɽɾʄ£ŖȲØƔIɆ{čȟȬȑȺȡȌƼƼ

ƼƼ

Ƽ

Ƽ

 tyt=ÕòÖô¼ v ÑÓÙçt

マルチコアベクトルプロセッサ	
 1CPU（4 コア）あたり 276	 GFLOPS の理論最大演算性能	
 1 ノードあたり	
 64GB の共有メモリ	 データ転送性能（メモリバンド幅）1CPU あたり 256	 GB/s	
 n ベクトル計算機
Ƽ ɶɔɩʅŨĺíȮȳȋɶɔɩʅĄĺɆŚȒđȲɮʌɪɌɍɉɆ¶ȫɗʉɲʀʌɢȭȡȌɶɔɩʅĄĺȳȋʅʌɵȭŐɂƈȟ6ĎȝɄɃɀȒȰƗ:ɨʌɢȲĄĺȱȟȬµȟȬĄĺɆ{ŚȡɃȧȽȋƻƎȱĄĺȡɃțȮȖȭȗȺȡȌƼƼ ɶɔɩʅŨĺíȳĩx®śđȲÅ'ŨĺȱƔȟȬȔɂȋsƙȲɨʌɢɆŐɂƈȟ6ĎȡɃɀȒȰsţìŨĺȱ
[ȑȬȑɃȮŧɅɄȬȑȺȡȌÞɟʉɢʌȭȳȋýŦàȿõźŦàȋƬĥĕŦàɆȳȠȽȮȡɃsţìɛɻʀʆʌɛʂʉȱȜ=đȑȧȨȑȬȑȺȡȌƼ

— 2 —

SENAC Vol. 48, No. 2（2015. 4）n ソフトウェアƽ Ǫǣǟǭ ȲĄ³ȠȨ ǨǪǥǛǧǅǪǭ ɑɸʇʍɨɋʊɖɜɞɨɽɇŋ­ȠȌɷɕɪʆ6ďȌ:6ďȲ ȠȨsŤì
ɶʈɖʄɽȳ{śȗUŗȮȢȍȻȨȌǨǭǅǗǙǛ ȲØƕIȞɅȨĪx®ŜũĻʄɌɵʄʅ ǗǨǡ ȿȘŌȘȝ=ĒȮȘȻȢȍƽ

プログラミング言語ƽ ɶʈɖʄɼʊɖŨųȴ ǜǽȀȂȀǯǼ ȯ ǙǇǙǃǃɇĒ¥ȠȭȒȻȢȍȦɅȧɅŘFɷɕɪʆIíŗȌŘF:IíŗɇÚȠȭȒȻȢȳȮȌÌwȳɶʈɖʄɽɇ%ðȢɄȜȯȱșɷɕɪʆIȌ:IȢɄȜȯȗȮȘȻȢȍǤǾǳǼǢǥ ɀǢǥǟ ȲɁɄ:Iɶʈɖʄɽȿ=ĒUŗȮȢȍƽ
並列化プログラミングƽ :IȳËúȯȠȭŝƽǉ ȳ ǋ İƺȗ=ĒȮȘȻȢȍƽƽ ŘF:IȴȌNɘɊȮFȢɄƍî6ďɶʈɖʄɽɇȌɘʊɱɌʄȗ:IUŗȱĺ©ɇŘFĝȲ<ÉȠȭ:IȠȻȢȍɶʈɖʄɽɇÂȾȭ×ȘğȢŢȴȱșȌȕ¶ȪȳɶʈɖʄɽɇȦȳȻȻ=ĒȢɄȜȯȗȮȘȻȢȍƽƽ ǤǾǳǼǢǥ ȴȌŘF:IȯYȡșƍî6ďɶʈɖʄɽɇ:IȠȻȢȍ:Iȳ<ÉȴŘFȮȴȱșʂʍɛȗśȒȻȢȍɢʍɞ ȳ:IȠȨȒĺ©Ȳ:I·ĨśɇƋEȠȻȢȍƽƽ Ǣǥǟ ȴȌɾɦɠʍɝ¼ĒʄɌɵʄʅȲɁɃɶʈɠɦɚơƎ$ɇśȒȻȢȍɩʍɣȳ8CȌ6ďËúĹȳ:6ďªƲɇÐĨĝȲŪƊȠȨ Ǣǥǟ ɶʈɖʄɽɇ¨ȢɄŢȗȑɃȻȢȍƽƽ ɮʍɫ3ȮȴŘF:IȑɄȒȴ ǤǾǳǼǢǥ ȲɁɄ:6ďɇȌšÅȳɮʍɫɇ=ĒȢɄmXȴ Ǣǥǟ ȲɁɄ
:6ďɇĒȒȻȢȍȠȨȗȫȭȌŘF:Iɀ ǤǾǳǼǢǥ ȴ ǌ :ȻȮȳɮʍɫ3:6ďȗȮȘȻȢȍȦɅȳ:ÅȮ{śȢɄmXȴȌšÅȳɮʍɫɇŢȯȢɄȳȮ Ǣǥǟ ȲɁɄ:6ďɇśȒȻȢȍȻȨȌsŤì
ȱɾɿʅɇŢȯȢɄɶʈɖʄɽȿȌǢǥǟ ɇ=ĒȠȭšÅȳɮʍɫȮ{śȢɄŢȗȑɃȻȢȍƽƽ ÞɠʊɣʍȮȴØs ǉǄǈǊǌ ɮʍɫǉɇ=ĒȠȨ ǌǄǈǑǎ :Ȯȳ{śȗUŗȮȢȍƽƽ ŘF:Iȯ ǤǾǳǼǢǥ ȲɁɄɮʍɫ3:6ďªƲȴ ǋ ĶȮȌǢǥǟ ȲɁɄ:6ďªƲȴ ǌ ĶȮȌɶʈɖʄɽȳ{śËúȴ Ǎ ĶȮŅȠȻȢȍƽ_tyt¼Us®L)®5®èéîit

:Iȳİƺƽ

ƍî6ďɶʈɖʄɽȳ:Iƽ

ŘF:Iƽ

ȦȳȻȻȮUŗƽ

ǤǾǳǼǢǥƽ

·ĨśɇƋŪȢɄȜȯȮUŗƽ

ǢǥǟƽǢǥǟ ĒɶʈɖʄɽȲpÖȢɄƽ

:Iȳ·Ĩƽ
自動	
 ǀɘʊɱɌʄǁƽ手動	
 ǀʂʍɛǁƽ
MPI ライブラリを用いてプログラミング	 ǀʂʍɛǁƽ

ƽǉƽǍǉǋ ɮʍɫȳ=ĒȴȌǊǈǉǍ MɇyȠȭȒȻȢȍƽØs:Åƽ
4 並列	
 
ɮʍɫ3ƽ
4 並列	
 
ɮʍɫ3ƽ

Øsɾɿʅƚƽ

4,096 並列	
 1,024 ノードƽ	 	
 60GB	
 ×ノード数	 	 	
 60GB	 	 	
 60GB	 

スーパーコンピュータ SX-ACE の利用法

— 3 —

2 章	
  システムの構成	 Ƽ ÞɟʉɢʌȭȳȋshŨĺíȮȟȬ ǧǬǄǖǘǚ ɛɝɧɼ ǉǃǌǍǇ ɭʌɪȮ:ɗʉɲʀʌɢɛɝɧɼʎǠǬƼ ǋǇǍǦǲǄǉʏǍǏ ɭʌɪȲ ǉ ȫȲɛɝɧɼɆəʌɱɝȟȬȑȺȡʎeƼǉʏȌƼƼ :ɗʉɲʀʌɢȳɝʌɰʌɗʉɲʀʌɢȲɳʇʉɩɎʉɪəʌɯȲCȾ²ȪȬȑȺȡȌƼƼƼ tztÑÓÙç>. tƼ

3 章	  プログラミング	  〜逐次処理、共有メモリ並列処理	
 〜	
 Ƽ ÞĵȭȳȋNȲɗɉȭ{ŚȡɃƌî6ĎȮȋŗF:IȔɀȶ ǣǽǲǻǡǤ ȱɀɃ1Úɽɾʄ:6ĎȱȫȑȬ=đªƱɆńȟȺȡȌƼƼ ǡǤǞ ȱɀɃ:IɵʇɕʃɻʉɕªƱȱȫȑȬȳȋǋ ĵȭńȟȺȡȖȋɗʉɰɋʅɗɺʉɪȱƓȑȖȐɃq
ȳȋYȠªƱȭȡȲȭțȲĵȮXɅȣȬȜťȘȨȝȑȌƼ

n フロントエンドサーバ（並列コンピュータ）へのログインƼ ǧǬǄǖǘǚ đȲɵʇɕʃɻʉɕȳȋ:ɗʉɲʀʌɢȭ/ȬȲçɆŚȓɃɀȒȱȟȬȑȺȡȌɡʌɝɳɈɋʅ¨ȋɗʉɰɋʅȋ{ŚȰȯƐȲçȖUŖȭȡȌǧǬǄǖǘǚ ɛɝɧɼȲɰɳɏʌɺʉɝɆĄĺȱ¡ȝȣɃȧȽȱȋɳʇʉɩɎʉɪəʌɯȮȲ ǉ òé¨ȮȟȬȑȺȡʎeƼǊʏȌƼƼ
t{tãðòÚÉòÛÐôà¹IVÐôà t

— 4 —

SENAC Vol. 48, No. 2（2015. 4）n ログインƼ çɆŚȒȧȽ:ɗʉɲʀʌɢȱʇɕɋʉȟȺȡȌʄɾʌɩ¹ŋȳȋȀȀǵ ɗɺʉɪȺȧȳ ǧǧǝ  ʄɾʌɩ¹ŋɡɳɩǉɆȜ=đȘȨȝȑȌƼ
Ƽ :ɗʉɲʀʌɢȲ ǣǧ ȳ ǠǶǻȂȅ ȭȡȌ0ƟƝÔVËȱɀɃűŬȲȻ=đȭȗȺȡǊȌɉɑɌʉɩÛȲmXȳȋ1Y=đÁ½"ȱ=đēŷȟ=đŕėVȮ;ÜɰɝʈʌɪɆęŚȟȬȾɁȑȺȡȌƼƼ :ɗʉɲʀʌɢȷȲ;bʇɕɋʉÓȱȳ0ƟƝȮīƝȲɷɉɆ¨ȡɃšȖȐɂȺȡȌƝɷɉȲ¨ËúȱȫȑȬȳÞŰ ǈǇǌ ɷʌɜȲȎǧǧǝ ɉɔɟɝűŬƝĐ¨əʌɯȲ=đËúȏɆȜRćȘȨȝȑȌƼƼ ȰȔȋZœȲ=đŕėVȭȲɛɝɧɼ=đȳĨïȟȺȡȌɰɝʈʌɪȋīƝȋɰɝɳʆʌɞȲȑbȟȳȋðɉɔɟɝȲʄɝɔʎðʇɕɋʉȋɔʃɋɉʉɩȲȰɂȡȺȟȋÔVIȝɄȧƍ$ȲÕƭȋəʌɯȷȲÃ¿ĸʏȖƮȱƻȘȋspPƦȭȡȌ=đŕĚƜɆŚȒțȮȱɀɃƠŌ¶ŽĸȳęĐȟȺȣɇȲȭȋ=đȝɄɃËȳȥɄȦɄȭ=đēŷɆȔƸȑȑȧȟȺȡȌƼ

並列コンピュータホスト名
front.cc.tohoku.ac.jpîÓÚtyt¨¨ ÏæòÛ»ÀÁ4Ytlocalhost$ ssh -i ~/.ssh/id_rsa 利用者番号@front.cc.tohoku.ac.jp
Enter passphrase for key '/home/localname/.ssh/id_rsa':パスフレーズを入力（初回接続時のメッセージ） : yes を入力
front1$ （コマンド待ち状態）

ƼƼƼ ÔVƝȳŠÅȲĶÝȿȮ1ÚȟȬȳȑșȺȣɇȌȺȧȋɽʌʅȱÔVƝɆÿȟȧɂ ǩǧǗ ɽɾʄȱɗɲʌȟȧɂȡɃȮðɉɔɟɝȲʄɝɔȮȰɂȺȡȌ:ɗʉɲʀʌɢȱʇɕɋʉȡɃĶÝɆƊEȡɃmXȳȋȥȲĶÝ
ȭÊţȱƝɷɉɆ¨ȟȋǮȂȁǵǼǿǶȇǲǱǭǸǲȆȀ ȱƊEĚƜȟȬȘȨȝȑȌƼ

ログイン端末の追加方法
Ƽ ʇɕɋʉȡɃĶÝɆƊEȡɃmXȳȋƊEȡɃĶÝȭƝɷɉȲ¨ɆŚȑȺȡȌȢɰɝɳʆʌɞȲŪyɆŚȪȬƝɆ¨ȟȬȝȑȌ¨ȟȧ0ƟƝɆÌȱ:ɗʉɲʀʌɢȱʇɕɋʉ7ßɃĶÝȱƃƋȟȺȡȌ0ƟƝȭȡȲȭƃƋËúȳɽʌʅÞÇȱũƅȟȬȾéȑȺȣɇȌƼ ƼƼ ¨ȟȧ0ƟƝȲ3Ɇ=đŕȲɸʌɼɨɊʆɔɩʄȲɳɈɋʅʎȈǆǅȀȀǵǆǮȂȁǵǼǿǶȇǲǱǭǸǲȆȀʏȱƊũȟȺȡȌ¹ŋ+Ȗ ǠǶǻȂȅȋǣǧƼǬ ȲmXȲƝȲ¨ËúɆʄɝɩƼǉ ȱħȟȺȡȌƼîÓÚtztlk¹T%k¼.7Ft【利用する端末で鍵ペアを作成】
localhost $ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/localname/.ssh/id_rsa):（ファイル名を指定）
Enter passphrase (empty for no passphrase):（必ずパスフレーズを設定）
Enter same passphrase again:（同じパスフレーズを入力）
指定した場所（/home/localname/.ssh）に鍵ペア（暗号鍵：id_rsa   公開鍵：id_rsa.pub）が生成される【作成した公開鍵を既に並列コンピュータにログイン出来る端末に転送】【作成した公開鍵を並列コンピュータに転送】
localhost $ scp /home/localname/.ssh/id_rsa.pub 利用者番号@front.cc.tohoku.ac.jp:~ǉ
ǊƼǫǶǻǱǼȄȀ ȭȐɄȴȋǨǲǿǮǨǲǿǺ ĸȲɳʄʌɡɳɩȖ=đȭȗȺȡȌƼƼɰɝʈʌɪűŬËȳ ǉǇǈǌ  ǋ Ù ǈǊ ÍȭïȟȺȟȧȌƼスーパーコンピュータ SX-ACE の利用法

— 5 —（パスフレーズを入力）【公開鍵を追記登録】
front1 $ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
front1 $ exitƼƼ ȈǆǅȀȀǵǆǮȂȁǵǼǿǶȇǲǱǭǸǲȆȀƼ ɆAƥȡɃȮȋ/ȬȲÔVƝȕɁȲʇɕɋʉȖ7ßȰȘȰɂȺȡȌɟʉɢʌȭȳɟɓʀʄɧɊɋʉɛɨʉɩȱȡɃō¢ ȮȟȬȋ/ʁʌɚȲȈǆǅȀȀǵǆǮȂȁǵǼǿǶȇǲǱǭǸǲȆȀƼɆAƥȡɃmXȖȐɂȺȡȌƼn パスワードの変更
Ƽ ɰɝʈʌɪȲpÖȳƼǽǮȀȀȄǱƼɗɺʉɪȭŚȑȺȡȌɰɝʈʌɪȲpÖËúɆʄɝɩƼǊ ȱħȟȺȡȌƼƼ ɗɺʉɪɆ{ŚȡɃȮȋ:ɗʉɲʀʌɢȋUŤIəʌɯȋɵʄʉɢəʌɯȋȔɀȶɳɈɋʅƃƋəʌɯȲʇɕɋʉɰɝʈʌɪȖpÖȝɄȺȡȌ.DȟȧɰɝʈʌɪȳŜħȝɄȺȣɇȌƼîÓÚt{táÓñôÛ¼ ;7Ft
front1 $ passwd
ユーザー 利用者番号 のパスワードを変更。
Enter login(LDAP) password:   （現在のパスワードを入力）
新しいパスワード:   （新しいパスワードを入力）
新しいパスワードを再入力してください: （新しいパスワードを入力）
LDAP password information changed for 利用者番号
passwd: 全ての認証トークンが正しく更新できました。

n ログインシェルの確認と変更Ƽ ʇɕɋʉɛɍʅȲĤűȮpÖȳƼ ǳǰǵȀǵƼ ɗɺʉɪȭŚȑȺȡȌʇɕɋʉɛɍʅȲĤűËúȮpÖËúɆʄɝɩƼ ǋ ȱħȟȺȡȌƼƼ ʇɕɋʉɛɍʅȲpÖȖ ǧǬǄǖǘǚ Ȯ ǠǬƼ ǋǇǍǦǲǄǉ ȱSÒȝɄɃȺȭ ǈǌ 8ĮȕȕɂȺȡȌȺȧȋǧǬǄǖǘǚ ȭ=đUŖȰɛɍʅqɆʇɕɋʉɛɍʅȱŪyȟȧmXȋʄɔɎɝɩȖðȱ{ŚȝɄȰȘȰɂȺȡȌƼîÓÚt|tðÎÆòÑÈï¼Rb7F¹;7Ft
front1 $ fchsh （ログインシェルの確認）
Enter Password: （パスワードを入力）
loginShell: /bin/tcsh   （現在のログインシェルが表示される）
front1 $ fchsh /bin/bash （ログインシェルを/bin/bash に変更）
Enter Password: （パスワードを入力）
Changed loginShell to /bin/bash   （ログインシェルが変更された）n ホームディレクトリƼ ɸʌɼɨɊʆɔɩʄȳȋɵʇɕʃɼɳɈɋʅĸɆőȘŗ8đȲɨɊɝɔƳjȭȡȌɨɊʆɔɩʄZȳȋǆȂǵǼǺǲǆ=đŕėVȭȡȌ=đŕėV¨ÓȲƙ>Ƥȳ ǈǨǗ ȭȡȌɳɈɋʅƙȲƊEēŷȱɀɂɨɊɝɔƳjɆoȿȡțȮȾUŖȭȡȌɸʌɼɨɊʆɔɩʄȳɝʌɰʌɗʉɲʀʌɢɛɝɧɼȮ:ɗʉɲʀʌɢɛɝɧɼȭ1ÚȟȬȑȺȡȌƼ

ホームディレクトリ/uhome/利用者番号

— 6 —

SENAC Vol. 48, No. 2（2015. 4）n プログラムの作成とコンパイルn ソースファイルの作成
Ƽ :ɗʉɲʀʌɢȭɡʌɝɳɈɋʅɆ¨ȡɃȧȽȲɎɨɊɢȳȋǲǺǮǰȀ Ⱥȧȳ ȃǶ ȖŘĜȭȡȌƼ
Ƽ ģĲ}ĸȲəʌɯȋɰɡɗʉȕɁƃƋȡɃmXȳȋǧǧǝ  ȲɳɈɋʅƃƋɡɳɩǋȭ:ɗʉɲʀʌɢȲɸʌɼɨɊʆɔɩʄȱƃƋȟȬȘȨȝȑȌȥȲƨȋɡʌɝʎɧɓɝɩʏɳɈɋʅȳ ǖǧǘǞǞ ɾʌɪȭƃƋȟȺȡȌƼƼ ǫǶǻǱǼȄȀ ďnȭ¨ȟȧɡʌɝɗʌɪȲÂŚɗʌɪɆ ǠǶǻȂȅ đȱȡɃȧȽȱȳ ǱǼȀǉȂǻǶȅ ɗɺʉɪɆ=đȟȺȡȌȺȧȋ:ɗʉɲʀʌɢȲÇvɗʌɪȳ ǩǨǛǄǏ ȱŪyȝɄȬȑȺȡȲȭȋɡʌɝɗʌɪ3ȭÍÞŲɆ=đȡɃƨȳÇvɗʌɪɆXɅȣȬȘȨȝȑȌ:ɗʉɲʀʌɢȭȳÇvɗʌɪȲp¼ȱ ǻǸǳ ɗɺʉɪȖ=đȭȗȺȡʎʄɝɩƼǌʏȌƼîÓÚt}t¤¨zª£¬ ÏæòÛ¹ £  ÏæòÛ¼P tfront1 $ dos2unix source.f90
front1 $ nkf -w --overwrite source.f90  （改行コードを Linux に合わせる）（文字コードを UTF-8 に変換）n コンパイラƼ ǧǬǄǖǘǚ đȱØƔIȝɄȧɗʉɰɋʃ ǛǼǿȁǿǮǻ Ȕɀȶ ǘǆǘǂǂɆđ¥ȟȬȑȺȡȌŧŲȮȾ:ɗʉɲʀʌɢ
ȭɗʉɰɋʅȮʄʉɔɆŚȑȺȡȌƼl ¤§©§£ ÏòáÆí¼?t
FORTRAN90/SX（日本電気製）	
 ISO/IEC	 1539-1:1997	
 準拠	
 自動ベクトル化、自動並列化、OpenMP 対応	
 l wuuÏòáÆí¼?tC++/SX（日本電気製）	
 ISO/IEC	
 9899:1999	
 C	
 準拠	
 
ISO/IEC	
 14882:2003	
 C++	
 準拠	
 
自動ベクトル化、自動並列化、OpenMP 対応	
 n コンパイルを行うƼ ƍȲɗʉɰɋʅȮYêȱȋȥɄȦɄȲŧŲđɗɺʉɪȭɗʉɰɋʅȟȺȡȌțȲưĝȭȳNɗɉȭ{ŚȡɃƌî6ĎȮȋŗF:IȺȧȳ ǣǽǲǻǡǤ ȱɀɃ:6ĎȲɗʉɰɋʅªƱȱȫȑȬŦųȟȺȡȌƼ

Fortran プログラムのコンパイルƼ ȀȅǳǐǇ ɗɺʉɪȭɗʉɰɋʅȟȺȡȌ=đȟȧȑíŖȖȐɄȴƔȰɐɵɛʂʉȮȋɡʌɝɳɈɋʅZɆ·yȟȺȡȌƼƼ ɡʌɝɳɈɋʅȲ´uȳȋŗĒʎɳʄʌɳɏʌɺɥɩʏȰɁǅǳǐǇ ȕǅǛǐǇȋfyʎʖɑʃɼĝȕɁũƉʏȰɁǅǳ ȕǅǛ ɆșȺȡʎŜƼǊʏȌƼƼ :Iɗʉɰɋʅȳȋțțȭ:ÅɆ¥ŹȡɃšȳȐɂȺȣɇȌ{ŚȡɃÓąȭÛȡɃ:ÅɆďnp
Åȭ·yȟȺȡȌɭʌɪ3:ÅȳŗF:ȲmXȳďnpÅ ǛǭǦǧǪǨǖǧǟ ȭ·yȟȋǣǽǲǻǡǤ :ȲmXȳďnpÅ ǣǡǤǭǢǩǡǭǨǝǦǚǖǙǧ ȭ·yȟȺȡȌůŃȳ ǌ ĵȭųÐȟȺȡȌƼǋƼǫǶǻǱǼȄȀ ȭȐɄȴȋǫǶǻǧǘǤ ĸȲɳʄʌɡɳɩȖȐɂȺȡȌƼ

— 7 —

スーパーコンピュータ SX-ACE の利用法l ÏòáÆï¯hB

N°t

front1 $ sxf90 オプション ソースファイル名l ÏòáÆï¯\°t
front1 $ sxf90 –Pauto オプション ソースファイル名•	 ǣǽǲǻǡǤ ɵʇɕʃɼȰɁȋǄǤǮȂȁǼ ȲĹ©ɆǄǤǼǽǲǻǺǽ ȱȟȺȡȌƼƼƼ ŜƼǉ ȳȋ ȰɐɵɛʂʉȭȡȌůŃȳȋȀȅǺǮǻƼȀȅǳǐǇ ɗɺʉɪȭȜťȘȨȝȑȌƼ
_ tztºËåÑìòt

ɐɵɛʂʉƼ
ǄǤǮȂȁǼƼ
ǄǤǼǽǲǻǺǽƼ
ǄǦǌƼǄǳȁǿǮǰǲƼ
ǄǲǘƼíŖƼŗF:IíŖɆ=đȡɃȌƼǣǽǲǻǡǤ  íŖɆ=đȡɃȌƼɶɔɩʅIʑ:IċùɆŜħȟȧŏƪʄɝɩɆ7DȡɃȌƼļÑ£ŖŦàíŖɆ=đȡɃȌƼƗ:šłRćÓȋÿvȲ'ȖĻd3ȭȐɃȕæãȡɃƼʎɯɌʉɞɤɍɥɔʏȌƼ_ t{t2'!¹ãÊôæØÚt´uƼǅǳǐǇƼƼǅǛǐǇƼ
ǅǳƼƼǅǛƼ

ɳɏʌɺɥɩƼ
ŗĒƼ
fyƼ

C/C++プログラムのコンパイルƼ Ȁȅǰǰ ɗɺʉɪȭ ǘ ɵʇɕʃɼɆȋȀȅǰǂǂɗɺʉɪȭ ǘǂǂɵʇɕʃɼɆɗʉɰɋʅȟȺȡȌ=đȟȧȑíŖȖȐɄȴƔȰɐɵɛʂʉȮȋɡʌɝɳɈɋʅZɆ·yȟȺȡȌƼƼ :Iɗʉɰɋʅȳȋțțȭ:ÅɆ¥ŹȡɃšȳȐɂȺȣɇȌ{ŚȡɃÓąȭÛȡɃ:ÅɆďnp
Åȭ·yȟȺȡȌɭʌɪ3:ÅȳŗF:ȲmXȳďnpÅ ǛǭǦǧǪǨǖǧǟ ȭ·yȟȋǣǽǲǻǡǤ :ȲmXȳďnpÅ ǣǡǤǭǢǩǡǭǨǝǦǚǖǙǧ ȭ·yȟȺȡȌůŃȳ ǌ ĵȭųÐȟȺȡȌƼl ÏòáÆï¯hB

N°t

front1 $ sxcc   オプション   ソースファイル名
front1 $ sxc++   オプション   ソースファイル名l ÏòáÆï¯\°t
front1 $ sxcc –Pauto オプション   ソースファイル名
front1 $ sxc++ –Pauto オプション   ソースファイル名•	 ǣǽǲǻǡǤ ɵʇɕʃɼȰɁȋǄǤǮȂȁǼ ȲĹ©ɆǄǤǼǽǲǻǺǽ ȱȟȺȡȌƼ

— 8 —

SENAC Vol. 48, No. 2（2015. 4）

Ƽ ŜƼǋ ȳȋȰɐɵɛʂʉȭȡȌůŃȳȋȀȅǺǮǻƼȀȅǰǰ ɗɺʉɪȋȺȧȳ ȀȅǺǮǻƼȀȅǰǂǂɗɺʉɪȭȜĤűȘȨȝȑȌƼ
_ t|tºËåÑìòt

ɐɵɛʂʉƼ
ǄǤǮȂȁǼƼ
ǄǤǼǽǲǻǺǽƼ
ǄȀǶȇǲǭȁǍǋƼ
ǄǦǳǺȁǹǶȀȁƼ
ǄǳȁǿǮǰǲƼ

íŖƼŗF:IíŖɆ=đȡɃȌƼǣǽǲǻǡǤ  íŖɆ=đȡɃȌƼǋǜ ɯɋɩȲƗ:ȋéƏɆ=đȡɃȌƼɶɔɩʅIʑ:IċùɆŜħȟȧŏƪʄɝɩɆ7DȡɃȌƼļÑ£ŖŦàíŖɆ=đȡɃȌƼ_ t}t2'!¹ãÊôæØÚt

´uƼ
ǅǰƼ
ǅǰǽǽƼ

ŧŲƼ
ǘƼ
ǘǂǂƼ

Ƽ
Ƽ ƌî6ĎȋŗF:IȺȧȳ ǣǽǲǻǡǤ ȱɀɂ:IȝɄȧɵʇɕʃɼȳȋǈ ɭʌɪȲȻ=đȭȗȺȡȌŠÅɭ
ʌɪɆ=đȡɃmXȳ ǡǤǞ ȱɀɃ:IȖšȭȡȌǡǤǞ ȱȫȑȬȳîĵɆȜRćȘȨȝȑȌƼ

4 章	
 プログラミング	
  〜	
 MPI 並列処理	
 〜	
 Ƽ ÞĵȭȳȋǡǤǞ ȱɀɃ:IɵʇɕʃɻʉɕªƱȱȫȑȬńȟȺȡȌkÞĜȰªƱȳBĵȮYȠȭȡȲȭȋ
ɗʉɰɋʅɗɺʉɪȲĘȰɃąȱȫȑȬńȟȺȡȌƼn コンパイルを行うƼ ǡǤǞ ɵʇɕʃɼȳȋǡǤǞ đɗɺʉɪ ȀȅǺǽǶǳǐǇȋȀȅǺǽǶǰǂǂȋȀȅǺǽǶǰǰ ɗɺʉɪȭɗʉɰɋʅȟȺȡȌƼ

MPI 並列 Fortran プログラムのコンパイルƼ ǡǤǞ :Ȳ ǛǼǿȁǿǮǻ ɗʌɪȳ ȀȅǺǽǶǳǐǇ ɗɺʉɪȭɗʉɰɋʅȟȺȡȌ=đȟȧȑíŖȖȐɄȴɐɵɛʂʉȮȋɡʌɝɳɈɋʅZɆ·yȟȺȡȌƼƼ
front1 $ sxmpif90 オプション   ソースファイル名•	 ɐɵɛʂʉȳȋȀȅǳǐǇ ɗɺʉɪȮ1ƍȭȡȌȀȅǺǮǻƼȀȅǳǐǇ ɗɺʉɪȭȜťȘȨȝȑȌƼ

MPI 並列 C/C++プログラムのコンパイルƼ ǡǤǞ :Ȳ ǘ ɗʌɪȳ ȀȅǺǽǶǰǰ ɗɺʉɪȭȋǡǤǞ :Ȳ ǘǂǂɗʌɪȳ ȀȅǺǽǶǰǂǂɗɺʉɪȭɗʉɰɋʅȟȺȡȌ=đȟȧȑíŖȖȐɄȴƔȰɐɵɛʂʉȮȋɡʌɝɳɈɋʅZɆ·yȟȺȡȌƼƼ
front1 $ sxmpicc オプション   ソースファイル名
front1 $ sxmpic++ オプション   ソースファイル名•	 ɐɵɛʂʉȳȋȀȅǰǰ ɗɺʉɪȋȀȅǰǂǂɗɺʉɪȮ1ƍȭȡȌůŃȳ ȀȅǺǮǻƼȀȅǰǰ ɗɺʉɪȋȀȅǺǮǻƼȀȅǰǂǂɗɺʉɪȭȜĤűȘȨȝȑȌƼ

n ハイブリッド並列Ƽ ǡǤǞ ȮŗF:ȋȺȧȳ ǡǤǞ Ȯ ǣǽǲǻǡǤ ɆņȻXɅȣȧɮɋɴʄɥɪ:Ȯ]ȴɄɃ:IªúȖȐɂȺȡʎeƼǋʏȌɭʌɪƠȳ ǡǤǞ :Iȟȋɭʌɪ3ȳŗF:Iȿ ǣǽǲǻǡǤ ȱɀɃ:IȡɃɆȮɂȺȡȌƼƼ ȓȴȋǌǈǉ ɭʌɪɆȪȧɮɋɴʄɥɪ:ɆŔȓȧmXȋǌǈǉ ɵʇɟɝȭ{ŚȡɃ ǡǤǞ ɵʇɕʃɼɆ¨ȟȺȡȌȝɁȱȋŗF:IɐɵɛʂʉǄǤǮȂȁǼ ɆȫșɗʉɰɋʅȡɃȮȋǡǤǞ ȮŗF:Ȳɮɋɴʄɥɪ:đɐɴɜɍɔɩȖ¨ȝɄȺȡȌɭʌɪƠȳ ǡǤǞ Ȳ ǌǈǉ :ȋɭʌɪ3ȳŗF:IȲ ǋ :ȲȋŨ ǉǃǇǋǏ :ȭ{ŚȭȗȺȡȌ{ŚËúȱȫȑȬȲůŃȳîĵȭųÐȟȺȡȌƼ

— 9 —

スーパーコンピュータ SX-ACE の利用法

ƽt|t ãíØÚ  ¹ßÆäîØÛ tƽ
front1 $ sxmpif90 –Pauto オプション ソースファイル名•	 ɮʍɫ3ȗ ǤǾǳǼǢǥ :ȱɂȌǅǥǽǾǳǼǻǾ ɑɶɜʃʊɇȒȻȢȍƽ

5 章	
  バッチリクエスト	 n バッチリクエストの概要ƽ ɴʈʊɪɏʊɫɚʍɰȮɘʊɱɌʆçɇśȫȭ¨ȠȨɶʈɖʄɽȳ{śȴȌɰɦɥʅɕɏɞɪȯ]ȵɅɄËúȮũĻíȲ{śɇ!ƶȠȻȢȍÞɠʊɣʍȮȴɰɦɥʅɕɏɞɪȳ6ďȲ ǣǦǨȋɇ¸ĒȠȭȒȻȢȍȮȴǣǦǨȋȲɁɄɰɦɥʅɕɏɞɪȲȬȒȭŴÐȠȻȢȍƽƽ tȾȲ ǣǦǨȋȲɶʈɖʄɽȳ{śɇ!ƶȢɄȨȾȌ{śȳªŌȘɇ×ȒȨɰɦɥʅɕɏɞɪɴɉɌʆɇ¨ȠȻȢȍȜȳɴɉɌʆɇ ǣǦǨȋȲ¯.ȢɄȜȯȮȌɶʈɖʄɽȳ{śȗUŗȲȱɃȻȢʏeƽ Ǎʐȍ=ĒŖȴ{śȢɄũĻíȯɮʍɫÅɇ·yȠȭ¯.ȠȻȢȍƽƽ ƲĘȗbȫȭșɄȯ ǣǦǨȋȴŘFĝȲʅɕɏɞɪɇ{śȠȻȢȍʅɕɏɞɪȴɰɦɕɴɋʆɞɗɝʁʍʆíŗȮ{śƲȗ>ȞɅȭȒȻȢȍ=ĒŖȗ{śÓơɇ{śÓơ>ƥȳŤy'Ȳ·yȢɄȯȌ=ĒɮʍɫÅȗȱȒmXɮʍɫȳĴȘČùȲɁȫȭȴ{śƠtÓơȗÎșȱɄȜȯȗȑɃȻȢȍƽƽ ʅɕɏɞɪ¯.ȴȌʅɕɏɞɪȳČ¦ȳĥŲȌȻȨ¯.āȼȳʅɕɏɞɪɇɔʀʊɠʆȢɄȜȯȿUŗȮȢȍɶʈɖʄɽȳ{śȗņ ȢɄȯʅɕɏɞɪȴ ǣǦǨȋȳ¤lȖɂþȔȌëĄ7DɴɉɌʆȯëĄɏʄʍ7DɴɉɌʆȗ7DȞɅȻȢȍƽƽ

— 10 —

SENAC Vol. 48, No. 2（2015. 4）Ƽt}tàØ×îÍÉÓÚ¼GÂt

n バッチリクエストファイルの作成
Ƽ ɵʇɕʃɼȲ{ŚªŋȗɆȋƍȲɛɍʅɝɔʄɵɩȮYȠȭũƉȟȺȡȌǰȀǵ ɝɔʄɵɩȮ Ȁǵ ɝɔʄɵɩȋȯȩɁȭȾũƉȭȗȺȡʎƣȋŦųȳ ǰȀǵ ɝɔʄɵɩȭũƉȟȺȡʏȌƔȰɳɈɋʅZɆș¨ȟȺȡȌƣȭȳɯɥɤʄɔɎɝɩɳɈɋʅZɆ ǿȂǻǅǰȀǵ ȮȟȺȡȌƼƼ kÞĜȱšȮȰɃȲȳȋ{ŚȡɃɺɛʉȮɭʌɪÅȲ·yȋɸʌɼɨɊʆɔɩʄȕɁçɨɊʆɔɩʄȷĭFȋɵʇɕʃɼȲ{ŚȋȭȡȌȱďnpÅȲ·yȋɳɈɋʅȲÀɗɺʉɪĸȖȐɄȴƔ9ȰĹ©ȱªŋȗɆũƉȟȺȡȌƼƼ ǧǬǄǖǘǚ ȭ{ŚȡɃmXȲ=đ¦ȮƲɐɵɛʂʉɆŜƼ Ǎ ȱħȟȺȡȌƍȲ=đȲmXȋǄǾ Ȳȱ Ȁȅ
Ɇ·yȟȋǄǯ Ȳȱ=đɭʌɪÅɆ·yȟȺȡȌƼƼ {ŚÓƠȲŪyȳȋǄǹƼ ǲǹǮǽȀȁǶǺǭǿǲǾǓǵǵǑǺǺǑȀȀ ȭŪyȟȺȡȌƍ=đȲmXȋ{ŚÓƠ>ƤȲţy'ȭʄɔɎɝɩȳŗFĜȱŅ ȟȺȡȌ{ŚÓƠȖţy'ɆƁȓɃʄɔɎɝɩȳȋȢ{ŚÓƠɆ·yȟȬȘȨȝȑȌ{ŚÓƠȳØs'ȺȭŪyȖUŖȭȡȌȥȲȲɐɵɛʂʉȳŜƼǎ ɆȜRćȘȨȝȑȌƼ
_ t~tv ¼P(-¹v¦ ²À½v ËåÑìòt

利用形態	
 

利用ノード数5	 1〜256	 通常	
 257〜1,024	
 無料	
 実行時間制限	 メモリサイズ制限	  -q	
 オプション	  -b	
 オプション	 （経過時間）	
 規定値：	
 2 週間	
 最大値：	
 1 ヶ月	
 60GB×ノード数	
 sx	
 利用ノード数	 規定値：	
 1 ヶ月	
 最大値：	
 1 ヶ月	
 

1	
 

1 時間	
 

1〜16	
 

2 時間	
 

17〜32	
 24 時間	
 デバッグ用	
 

60GB	
 

sx	
 

f	
 

60GB×ノード数	
 debug	
 利用ノード数	 _tt¦¨ª ÏæòÛ¼ºËåÑìòt

ɐɵɛʂʉƼ
ǄǾʎƲʏƼǄǯʎƲʏƼǌíŖƼŨĺíZ Ȁȅ Ⱥȧȳ ǱǲǯȂǴ Ɇ·yȟȺȡȌƼ=đɭʌɪÅȺȧȳ ǳ Ɇ·yȟȺȡȌƼƼǌǈǊ ɭʌɪȲ=đȳȋǉǇǈǌ MɆyȟȬȑȺȡȌƼスーパーコンピュータ SX-ACE の利用法

ǄǖƼ
ǄǢƼ
ǄǼƼ

ǄǲƼ

ǄǷǼƼ
ǄǹƼǲǹǮǽȀȁǶǺǭǿǲǾǓǵǵǑǺǺǑȀȀƼ
ǄǺƼǯƼ
ǄǺƼǲƼ
ǄǡƼɽʌʅɉɪʆɝƼ— 11 —

Ŵƚ,ȲɵʇɜɍɔɩɗʌɪɆ·yȟȺȡȌ·yȖĆșɄȴɨɳɏʅɩȲɵʇɜɍɔɩɗʌɪȱŴƚȝɄȺȡȌƼʄɔɎɝɩZɆ·yȟȺȡȌ·yȖȰșɄȴȋʄɔɎɝɩɳɈɋʅZȖʄ
ɔɎɝɩZȱȰɂȺȡȌƼ
ëă7DȲɳɈɋʅZɆ·yȟȺȡȌ·yȖȰșɄȴȋʄɔɎɝɩ¯.ÓȲɨɊʆɔɩʄȱȎʄɔɎɝɩZǅǼ ʄɔɎɝɩ ǞǙ ȲėVȏȲɳɈɋʅ
Zȭ7DȝɄȺȡȌƼëăɎʃʌ7DȲɳɈɋʅZɆ·yȟȺȡȌ·yȖȰșɄȴȋʄɔɎɝɩ¯.ÓȲɨɊʆɔɩʄȱȎʄɔɎɝɩZǅǲ ʄɔɎɝɩ ǞǙ ȲėVȏȲɳɈɋʅZȭ7DȝɄȺȡȌƼëăɎʃʌ7DɆëă7DȮYȠɳɈɋʅȷ7DȟȺȡȌƼØsŇƒÓƠɆ·yȟȺȡȌŪyÓƠȳȋÓʗ8ʗĪɆƼǵǵǑǺǺǑȀȀ Ȳȭ·yȟȺȡȌƼʄɔɎɝɩȲ6ĎȖƟtȟȧȮȗȱɽʌʅȖƋɁɄȺȡȌƼʄɔɎɝɩȲ6ĎȖŅ ȟȧȮȗȱɽʌʅȖƋɁɄȺȡȌƼɽʌʅȲƋ$,Ɇ·yȟȺȡȌ·yȖȰșɄȴȋƼ
Ȏ=đŕėVǕǳǿǼǻȁǅǰǰǅȁǼǵǼǸȂǅǮǰǅǷǽȏzȱƋɁɄȺȡȌƼl hBåðÎíç®\w¥£ ¼tƼ ʄɝɩƼ Ǎ ȳƌîɵʇɕʃɼɆ{ŚȡɃmXȲɯɥɤʄɔɎɝɩɳɈɋʅȲɨɊʆɔɩʄȲ ǮǅǼȂȁ Ɇ{ŚȡɃªŋȗɆũƉȟȬȑȺȡȌƼȭȡȌɸʌɼɨɊʆɔɩʄĞ ȄǼǿǸîÓÚt~tàØ×îÍÉÓÚãÄÆï t# test job.1#PBS -q sx -b 1      cd work./a.out

コメント行#実行マシンとノード数を指定#実行ディレクトリへ移動#実行形式ファイルを指定•	 ʒŚĝʗƽƼƣȳɗɽʉɩȭȡȌFȱȳƯȟȺȣɇȌƼ•	 ʓŚĝʗǧǬǄǖǘǚ Ȳ ǈ ɭʌɪɆȒ·yȭȡȌƼ•	 ʔŚĝʗǰǱƼȄǼǿǸƼȭçɨɊʆɔɩʄʎ{ŚɳɈɋʅȲȐɃɨɊʆɔɩʄʏȷĭFȟȺȡȌĠĖȡɃȮɸʌɼɨɊ
ʆɔɩʄɆ·yȟȧțȮȱȰɂȺȡȌƼ•	 ʕŚĝʗǮǅǼȂȁƼȳɗʉɰɋʅȟȬ¨ȟȧ{ŚɳɈɋʅZȭȡȌȐɁȕȠȽɗʉɰɋʅȟ¨ȟȬȔȗȺȡȌŗF:ȿ ǣǽǲǻǡǤ ȱɀɃ:6ĎȾȋYȠȭ·yȟȺȡȌƼ

参考１：作業ディレクトリの指定
Ƽ ǢǥǧȊđȲďnpÅȲȵȮȫȱ ǤǗǧǭǣǭǫǣǦǟǙǞǦƼ pÅȖȐɂȺȡȌțȲpÅȱȳȋǾȀȂǯ ɗɺʉɪɆ{ŚȟȧÓąȲɑʆʉɩɨɊʆɔɩʄȖŪyȝɄȺȡȌƼƼ ȫȺɂȋȄǼǿǸ ɨɊʆɔɩʄȭțȲʄɔɎɝɩɆ¯.ȡɃʎǾȀȂǯ Ɇ{ŚȡɃʏȮȋƾǤǗǧǭǣǭǫǣǦǟǙǞǦ ȱȳɑʆʉɩɨɊ
ʆɔɩʄȲ ȄǼǿǸ ȖŪyȝɄƼ ǰǱƼ ȄǼǿǸ ȮYȠțȮȱȰɂȺȡȌǤǗǧǭǣǭǫǣǦǟǙǞǦƼ pÅɆŪyȡɃțȮȭȋɨɊʆɔɩʄ
Ȳ2ZɆũƉȡɃšȖȰȘȰɂȺȡȌƼîÓÚttO5  t# test job.2#PBS -q sx -b 1      cd ＄PBS_O_WORKDIR./a.out                  

Ƽ
Ƽ

コメント行
#実行マシンとノード数を指定#実行ディレクトリを環境変数で指定#実行形式ファイルを指定

— 12 —

SENAC Vol. 48, No. 2（2015. 4）

参考 2：qsub コマンドオプションの埋め込みƼ ŜƼǎ ȱ ǾȀȂǯ ɗɺʉɪȲ ȰɐɵɛʂʉɆħȟȺȡȌǄǾ ȮǄǯ ɐɵɛʂʉȳƲ·yȭȡȌƼƼ ǾȀȂǯ ɗɺʉɪȲɐɵɛʂʉȳɯɥɤʄɔɎɝɩɳɈɋʅȱiȽƆȻȺȡʎʄɝɩƼ ǏʏȌŪyËúȳȋØ;ȲɗɺʉɪɀɂBȲŚȱȋƽǤǗǧ ȮȑȒÇv:Ɇ,ƴȱ·yȟȺȡȌƽǤǗǧ ȲȱĳěɆÇv.Ʉȋ·yȟȧȑɐɵɛʂʉɆŋșȺȡȌŚȱŠÅȲɐɵɛʂʉ·yȾUŖȭȡȌƼƼ ʄɝɩƼ Ǐ Ȳ ȳȋǉ Śĝȭ{ŚŨĺíȱ ǧǬǄǖǘǚ Ɇ·yƿǄǾƼ ȀȅǀȮȋ=đɭʌɪÅ ǈ Ɇ·yʎǄǯƼ ǈʏȟȋǊ ŚĝȭëăɎʃʌ7DɆëă7DɳɈɋʅȱȵȮȺȮȽȱȟƿǄǷǼǀȋǋ ŚĝȭʄɔɎɝɩZɆ ȁǲȀȁǇǋ ȱ·yƿǄǢƼ ȁǲȀȁǇǋǀȟȋ
ǌ ŚĝȭØsŇƒÓƠɆ ǈ ÓƠʎǄǹƼǲǹǮǽȀȁǶǺǭǿǲǾǓǇǈǑǇǇǑǇǇʏȱȋȥɄȦɄ·yȟȬȑȺȡȌƼƼ iȽƆȻɐɵɛʂʉȮɗɺʉɪ:ȱYȠɐɵɛʂʉɆ·yȟȧmXȳȋɗɺʉɪ:ȲËȖ*,ȝɄȺȡȌƼîÓÚttËåÑìò¼  ¿ g ¾t
# test job.4#PBS –q sx -b 1
#PBS -jo#PBS –N test04#PBS -l elapstim_req=01:00:00
cd $PBS_O_WORKDIR./a.out#標準エラー出力を標準出力と同じファイルへ出力#リクエスト名を test04 にする#最大経過時間を 1 時間に設定l  ¼tƼ ǡǤǞ ɵʇɕʃɼȲmXȳ ǺǽǶǿȂǻ ɗɺʉɪȱɐɵɛʂʉȮ{ŚɳɈɋʅZɆ·yȟȺȡȌǺǽǶǿȂǻ ɗɺʉɪȲɐɵɛʂʉȱƼǄǻǽƼȮƼǄǻǻ Ȳ·yȖšȭȡȌǄǻǽƼɐɵɛʂʉȱȳŎ ǡǤǞ ɵʇɟɝÅȋǄǻǻ ȱȳ=đȡɃɭʌɪÅɆ·yȟȺȡȌǄǯ ȭ·yȡɃ'ȮȋǄǻǻ ȭ·yȡɃ'ȳȢYÅȱ·yȟȺȡȌǧǬǄǖǘǚ ȳ ǈ ɭʌɪȱ ǋ ɗɉɆ¾ƅȟȬȑȺȡȲȭȋǄǻǽ ȱȳƼǄǯ Ȳ ǋ &ȲÅȺȭ·yȭȗȺȡȌƼƼ ȰȔȋɯɥɤʄɔɎɝɩɳɈɋʅ ȭ·yȟȧďnpÅȳȋǡǤǞǚǬǤǣǦǨ ȲȐȮȱɣɴʅɔɐʌɧʌɛʂʉ ȱũƉȟȋ/ȬȲɭʌɪȱŪyɆSÒȝȣɃšȖȐɂȺȡȌƼƼ ǡǤǞ :ɵʇɕʃɼɆ Ǌǉ ɭʌɪɆ=đȟȬ{ŚȡɃ ɆʄɝɩƼǐ ȱħȟȺȡȌƼƼ
mpirun オプション   ./実行形式ファイル名_ tt¢¥§ª£ ÏæòÛ¼ËåÑìòõ*qötɐɵɛʂʉƼÅƼǄǻǽƼŎ ǡǤǞ ɵʇɟɝÅƼǄǻǻƼđɭʌɪÅʎǄǯ ȮYÅɆ·yʏƼîÓÚtt $]õ{z ÞôÛPöt# test job.3#PBS –q sx -b 32
cd $PBS_O_WORKDIR
mpirun –np 128 –nn 32 ./a.out  #SX-ACE の 32 ノードを利用する#128MPI プロセスで実行するl ßÆäîØÛ¼tƼ ǡǤǞ ȮŗF:ǆǣǽǲǻǡǤ :ȝɄȧɮɋɴʄɥɪ:ȲɵʇɕʃɼɆ{ŚȡɃmXȋɭʌɪ3Ȳ:ÅɆďn
pÅȭ·yȡɃšȖȐɂȺȡȌǧǬǄǖǘǚ ȭȳŗF:ÅȮ ǣǽǲǻǡǤ :ÅɆ·yȡɃďnpÅȖĘȰɂȺȡȲȭȜû¥ȘȨȝȑʎŜƼǐʏȌƼƼ ǡǤǞ ȮŗF:ȲɵʇɕʃɼɆɮɋɴʄɥɪ:ȭ{ŚȡɃ ɆȋʄɝɩƼǈǇ ȱħȟȺȡȌƼ

— 13 —

スーパーコンピュータ SX-ACE の利用法

_ ttÞôÛ

5Ã3#¶ÁO5t

:Ëúƽ
ĐnpÅƽ
ǜǽȀȂȀǯǼ ɶʈɖʄɽȳmXƽ ǜǮǧǨǫǩǗǨǠƽ
ŘF:ʏǅǥǯȃȂǽʐƽǙǇǙǃǃɶʈɖʄɽȳmXƽ ǙǮǧǨǫǩǗǨǠƽ
ǤǾǳǼǢǥ :ʏǅǥǽǾǳǼǻǾʐƽǤǢǥǮǣǪǢǮǩǞǧǛǗǚǨƽ
îÓÚtyxtßÆäîØÛ$]õ{z ÞôÛP®\ öt# test job.4#PBS –q sx -b 32
cd $PBS_O_WORKDIR
setenv F_RSVTASK 4
setenv MPIEXPORT “F_RSVTASK”
mpirun –np 32 –nn 32 ./a.out  l @H#SX-ACE の 32 ノードを利用する#ノード内は自動並列で 4 並列実行
#全てのノードに環境変数を設定#32MPI プロセス x4 並列＝128 並列で Fortran プログラムを実行するãÄÆï¼3#t

ƽ ǉ ȬȳɮʍɫȮȳ{śȮȴȌëĄ.7DɴɉɌʆɇʅɤɌʇɕɜʃʊŪVʏǓǄƽ ǕʐȮ·yȢɄȜȯȗȮȘȻȢȗȌǢǥǟ ɶʈɖʄɽȳ{śȮȴȜɅɂȳʅɤɌʇɕɜʃʊŪVȴ=ĒȮȘȻȤɈȍƽƽ ȜȳmXȌëĄ.DɴɉɌʆȳ·yȴĐnpÅ ǜǮǜǜǈǍ ȮśȒȻȢʏʅɞɪƽ ǉǉʐȍëĄ7DȕɁȷëĄɏʄʍ7DȴȌǢǥǟ :Å8šÅ7DȞɅȻȢȍȜȳȯȘ ǻǾǷȁǳǾǆȁǶ ɇ=ĒȢɄȯȌYɴɉɌʆȲɶʈɠɞóȳ7D
ȗ.Ƀÿȡȫȭ7DȞɅȱȒɁȓȲȌǢǥǟ ɶʈɠɞȝȯȲɴɉɌʆɇ8Țȭ7DȢɄȜȯȗȮȘȻȢʏʅɞɪƽ ǉǊʐȍɜɎʆɞɕʅɶɪƽ ǇȃȁȀǇǺǷǰǇǻǾǷǇǻǾǷȁǳǾǆȁǶƽ ɇ{śɴɉɌʆƽ ǯǆǽȃȂƽ ȳBȲŪƊȠȌĐnpÅ ǢǥǟǨǛǥǨǛǡǛǙǩ Ȳǉʚǌ ȳ'ɇ·yȢɄȜȯȮȌŝƽǉǈ ȳFɇƖ±ȠȻȢȍƽîÓÚtyyt@H# test job.5#PBS –q sx -b 32
setenv F_FF05 infile
setenv MPIEXPORT “F_FF05”
cd $PBS_O_WORKDIR
mpirun –np 32 –nn 32 ./a.outîÓÚtyzt@HãÄÆï¼3# t#標準入力は装置番号 05#全てのノードに環境変数を設定

®@HÉíôãÄÆïÃåðÕÓC» t# test job.6#PBS -q sx -b 32
setenv MPISEPSELECT 4#出力形式を 4 に設定
setenv MPIEXPORT “MPISEPSELECT” #全てのノードに環境変数を設定
cd $PBS_O_WORKDIR
mpirun -np 32 -nn 32 /usr/lib/mpi/mpisep.sh ./a.out_tyxt ¼&5¹ tǢǥǟǨǛǥǨǛǡǛǙǩ ȳÅƽFƽǉƽW Ǣǥǟ ɶʈɠɞȳëĄ7Dȳȼɇ ȁȂǲǽȃȂǆȃȃȃǒȀȀȀ ȸåŁƽǊƽW Ǣǥǟ ɶʈɠɞȳëĄɏʄʍȳȼɇ ȁȂǲǳȀȀǆȃȃȃǒȀȀȀ ȸåŁʏŤy'ʐƽ
W Ǣǥǟ ɶʈɠɞȳëĄ7DȯëĄɏʄʍɇWȎȁȂǲǽȃȂǆȃȃȃǒȀȀȀ ȕɁȷǋƽȁȂǲǳȀȀǆȃȃȃǒȀȀȀ ȸåŁƽW Ǣǥǟ ɶʈɠɞȳëĄ7DȯëĄɏʄʍɇYɴɉɌʆ ȁȂǲǽȃȂǆȃȃȃǒȀȀȀ
ǌƽ
ȸåŁƽ
•	
 {śÓȌȁȂǲǽȃȂǆǂɀ ȁȂǲǳȀȀǆǂȳYZɴɉɌʆȗwgȢɄmXȴȌ×ȘȮȱșƋE7DȠȻȢȍƽ

— 14 —

SENAC Vol. 48, No. 2（2015. 4）l  P$]+[,tƽ ǢǥǟǥǧǤǝǟǣǜ ĐnpÅȳūyȲɁɃȌǢǥǟ ɶʈɠɞóȳɶʈɖʄɽ£ŗ¤lǀǥǧǤǝǟǣǜǤǁȳŝĨɇpÖȢɄȜȯȗȮȘȻȢȍǚǛǩǗǟǡ ȴ ǢǷǼǇǢǯȆǇǗȄǳ ȲȻȯȾȨȿȳȌǗǡǡǮǚǛǩǗǟǡ ȴ/ȭȳɶʈɠɞȲȬȒȭȌȦɅȧɅ£ŗ¤lɇŝĨȠȻȢȍ£ŗ¤lȴɶʈɖʄɽ{śņ ȌëĄɏʄʍ7DɴɉɌʆȲ7DȞɅȻȢȍƽ_tyyt ¼&5¹tǢǥǟǥǧǤǝǟǣǜ ȳÅƽFƽǚǛǩǗǟǡƽ
£ŗ¤lɇƫŀȮ7DȠȻȢȍƽ£ŗ¤lɇ´Ȯ7DȠȻȢȍƽǗǡǡǮǚǛǩǗǟǡƽ
/ʄʊɕȳ¤lɇ7DȠȻȢȍƽn バッチリクエストの投入ƽ ɶʈɖʄɽȳ{śȴȌ¨ȠȨɰɦɥʅɕɏɞɪɴɉɌʆɇ ǣǦǨȋȲ¯.ȢɄȜȯȮśȒȻȢȍƽ
front1 $ qsub オプション   バッチリクエストファイル名ƽƽ ʅɕɏɞɪȗðȲ¯.ȞɅɄȯȌɜɞɨɽȖɂȳɾɦɠʍɝȗƉɃȻȢʏʅɞɪƽ ǉǋʐȍǉǊǋǌǆǸǽǰǉ ȗʅɕɏɞɪ ǟǚȮȌʅɕɏɞɪȳČùĥŲɀɔʀʊɠʆĹȌʅɕɏɞɪȳÀȳƩȲ·yȗŢȲȱɃȻȢȍƽîÓÚty{t¦¨ª ÏæòÛ$]:¼èØÕôÒ tfront1$ qsub run.csh
Request 1234.job1 submitted to queue : sx32.

n バッチリクエストの状態確認l §¦¨©© ÏæòÛtƽ ȀǳǿȁȂǯȂ ɘɻʊɫȴȌ¯.ȞɅȨʅɕɏɞɪȳČ¦ɇŝĨȠȻȢʏƽʅɞɪƽ ǉǌʐȍČ¦ȴ ǨǩǗǩǛ ƱĞȲŝĨȞɅȻȢʏŝƽ ǉǋʐȍʅɕɏɞɪȴɰɦɥɚʍɰʏǸǽǰǉ ȻȨȴ ǸǽǰǊʐóȲ7D
ȞɅȻȢȍƽƽ ʅɢʍɞȲĴȘȗȱȚɅȵ{śȪČ¦ȲȱɃȌƲĘȗbȫȭșɄȯŘFĝȲ{śČ¦Ȳ.ɃȻȢȍɜɞɨɽ3
ȲŘ8ȳʅɕɏɞɪȗwgȠȱȒmXȴȌȏǣǽƽȀǳǿȃǳȁȂǆȐȯŝĨȞɅȻȢʏʅɞɪƽǉǍʐȍƽîÓÚty|t§¦¨©© ÏæòÛtfront1$ reqstat
statistics sampled at 2015/02/20 19:18:01 in job1.
REQUEST ID
USER
GROUP
QUEUE
NODE ELAPS
STATE
TIMES
REQUEST NAME--------------- -------- -------- -------- ---- --------- ----------- ----------------- --------------1733.job1
利用者番号 users
sx64
64
1:00:00 running
15/02/20 12:00:00 test01
1735.job1
利用者番号 users
sx64
64
1:00:00 queued
15/02/20 18:55:00 test03
statistics sampled at 2015/02/20 19:18:01 in job2.
REQUEST ID
USER
GROUP
QUEUE
NODE ELAPS
STATE
TIMES
REQUEST NAME--------------- -------- -------- -------- ---- --------- ----------- ----------------- --------------1734.job2
利用者番号 users
sx64
64
0:00:00 wait
15/02/20 13:55:00 test02ƽƽスーパーコンピュータ SX-ACE の利用法

— 15 —_tyzt§¦¨©© ÏæòÛ¼º_SpQtưĝZƼǦǲǾȂǲȀȁǞǙƼ
ǩǧǚǦƼǜǦǣǩǤƼ
ǥǩǚǩǚƼ
ǢǣǙǚƼǚǠǖǤǧƼ
ǧǨǖǨǚƼ
ǨǞǡǚǧƼ
ǦǚǥǩǚǧǨƼǢǖǡǚƼ

3ƼʄɔɎɝɩ ǞǙƼ=đŕėVƼ
=đŕȲ©ɕʅʌɵƼɓʀʌZƼ=đɭʌɪÅƼ
ŇƒÓƠ>ƤƼ
ʄɔɎɝɩȲɝɧʌɢɝƼɝɧʌɢɝȖpIȟȧÍÓƼ
ǄǢƼȭ·yȟȧʄɔɎɝɩZȾȟȘȳɯɥɤʄɔɎɝɩɳɈɋʅZƼ_ ty{t pQ¼º_S¹îÍÉÓÚM-tŜħƼʄɔɎɝɩċ¦ƼȄǮǶȁƼ{ŚɭʌɪȲ÷yȩƼǾȂǲȂǲǱƼ {ŚɭʌɪȖ÷Ⱥɂȋ{ŚƱȩƼǿȂǻǻǶǻǴƼ {Ś ƼîÓÚty}t/µ·îÍÉÓÚ³º±tfront1 $ reqstat
No request.

l ¨¨©© ÏæòÛtƼ ȀȀȁǮȁ ɗɺʉɪȳ¯.ȝɄȧʄɔɎɝɩȲ{ŚƟtyÓ?ɆŜħȟȺȡʎʄɝɩƼ ǈǍʏȌȧȨȟȋǉǌǌ ɭʌɪȲ=đȲmXȲȻŜħȝɄȺȡȌ=đɭʌɪÅȖ ȰȑmXɯɥɔɳɊʅɝɖɜʀʌʅíŖȱɀɂȋy{ŚƟtÓ?ȖÎȺɃțȮȖȐɂȺȡȌǄǹƼ ǲǹǮǽȀȁǶǺǭǿǲǾƼ ɐɵɛʂʉȭ·yȟȧÓƠȖĢȑȹȯȋȩʄɔɎɝɩȲƧƠȱʄɔɎɝɩȲ{ŚȖCɂȬɁɄɃUŖ£ȖsȗȘȰɂȺȡȲȭȋšK8Ȱ{ŚÓƠɆ·yȡɃțȮɆȔHȽȑȧȟȺȡȌƼîÓÚty~t¨¨©© ÏæòÛtfront1 $ sstat
RequestID
ReqName UserName QueuePri STT PlannedStartTime--------------- -------- -------- -------- ----------------- --- ------------------2512.job1
test03
利用者番号 sx32
0.5002/ 0.5002 ASG 2015-02-20 08:28:20
2513.job1
test04
利用者番号 sx32
0.5002/ 0.5002 ASG 2015-02-20 09:28:20_ty|t¨¨©© ÏæòÛ¼_SpQ tưĝZƼǦǲǾȂǲȀȁǞǙƼ

3ƼʄɔɎɝɩ ǞǙƼǄǢƼȭ·yȟȧʄɔɎɝɩZƼǦǲǾǢǮǺǲƼ
·yȖȰșɄȴȋʄɔɎɝɩɳɈɋʅZȖʄɔɎɝɩZȱȰɂȺȡȌƼǩȀǲǿǢǮǺǲƼ
=đŕėVƼ
ǥǩǚǩǚƼ
ɓʀʌZƼ
ǤǿǶƼ
*,Ƽ
ǧǨǨƼ
ʄɔɎɝɩȲɝɧʌɢɝƼǤǹǮǻǻǲǱǧȁǮǿȁǨǶǺǲƼ y{ŚƟtÓ?Ƽ

— 16 —

SENAC Vol. 48, No. 2（2015. 4）n バッチリクエストのキャンセルƼ ¯.ȟȧʄɔɎɝɩȲAƥȋȺȧȳ{Ś ȲʄɔɎɝɩɆ(ïȡɃmXȳȋǾǱǲǹ ɗɺʉɪȱʄɔɎɝɩ ǞǙ Ɇ·yȟȺȡʎʄɝɩƼ ǈǎʏȌʄɔɎɝɩ¯.ÓȋȺȧȳ ǿǲǾȀȁǮȁ ɗɺʉɪȭŜħȝɄɃʄɔɎɝɩ ǞǙ ɆɯɥɤəʌɯZȺȭ·yȟȬȘȨȝȑȌƼ
îÓÚtyt¦¡ ÏæòÛtfront1 $ qdel 1234.job1
Request 1234.job1 was deleted.

Ƽ

6 章	  スーパーコンピュータ用ライブラリ	 n 科学技術計算ライブラリ ASL
Ƽ ǖǧǠƿǖǱȃǮǻǰǲǱƼ ǧǰǶǲǻȁǶǳǶǰƼ ǠǶǯǿǮǿȆǀȳȋĩx®śŨĺȲĻȰ8ƘȲÅ'ɛɻʀʆʌɛʂʉɵʇɕʃɼȲ¨ɆDȱÁ½ȡɃ ǛǣǦǨǦǖǢ ĉÅxʃɋɴʃʄȭȡȌǖǧǠ ɆđȑɃțȮȱɀȪȬȋƫŦȰÅ'ŨĺɉʅɘʄɞɼȲůŃȱĈɅȝɄɃțȮĆȘƻȰĩx®śŨĺɵʇɕʃɼɆ¨ȡɃțȮȖȭȗȺȡȌȺȧȋǖǧǠƼ ǘ ŧŲɋʉɢɳɍʌɝʎǖǱȃǮǻǰǲǱƼǧǰǶǲǻȁǶǳǶǰƼǠǶǯǿǮǿȆƼǘƼǞǢǨǲǿǳǮǰǲʏȳȋǘǆǘǂǂɵʇɕʃɼȕɁ ǛǣǦǨǦǖǢ ĉ ǖǧǠ ɆÑȱ=đȭȗɃɀȒȱ¨ȝɄȧɋʉɢɳɍʌɝʃɋɴʃʄȭȡȌƼƼ ǖǧǠ ȳîȲɀȒȰÅ'Ũĺ8Ƙȱ ȟȬȑȺȡȌƼƼƼʘkÞíŖʙƼåŀɾʌɪȲp¼ȋkÞŚ:ĄĺȋØ úȋfÚ'ʋfÚɶɔɩʅȋƐĴ ǈ îËĮƿĞ¹úǀȋƐĴ ǈîËĮƿSúǀȋĬƐĴîËĮƿSúǀȋƮĬƐĴîËĮƿSúǀȋɳʌʄɎp¼ȮȥȲđʑÓľ:8àȋ8ËĮȮȥȲ đȋÅ'8ȋÅ'ı8ȋǊ î+nĕšłúđȲÅ'ı8úȋƇʋŞƠȋɝɵʃɋʉơÅȋĊñơÅȋ ÅȋɡʌɩʋƱșȋËĮȲäȋè'_ƶʋØƔIƼʘŉŨíŖʙƼ
ĤČ8ȋkĦŉŨƙȋºyȮæyȋ8Ä8àʋ{ƺŨĔȋɭʉɰʃɽɩʄɥɔæyȋrpƙŦàȋɳʌʄɎp¼ȮȥȲ đʑÓľ:8àȋƇʋb8àȋ ÅȋɡʌɩʋƱșƼ
ʘ1Úɽɾʄ:6ĎíŖʙƼkÞŚ:ĄĺȋƐĴ ǈ îËĮƿĞ¹úǀȋfÚ'ʋfÚɶɔɩʅȋɳʌʄɎp¼ȮȥȲ đʑÓľ:8àȋÅȋɡʌɩʛƱșƼʘ8Äɽɾʄ:6ĎíŖʙƼî+ŠłɳʌʄɎp¼ȋî+ŠłɳʌʄɎp¼Ƽ

n Fortran プログラムから利用する場合
Ƽ ǛǼǿȁǿǮǻ ɵʇɕʃɼȕɁ ǖǧǠ ʃɋɴʃʄɆ=đȡɃmXȋʄɝɩƼ ǈǏ ȲɀȒȱɗʉɰɋʅȮʄʉɔɆŚȑȺȡȌɗʉɰɋʅɐɵɛʂʉȮʄʉɔɐɵɛʂʉȲ·yËúȱȫȑȬȳƼ
ŜƼǈǌ ɆȜRćȘȨȝȑȌƼ
îÓÚtyt ¼îòÍ7Fõ¤§©§£öt
シングル版・共有メモリ並列版
front1 $ sxf90	
 <コンパイルオプション> source.f90 <リンクオプション>
   分散メモリ並列版
front1 $ sxmpif90	
 <コンパイルオプション> source.f90 <リンクオプション>

Ƽ— 17 —

スーパーコンピュータ SX-ACE の利用法

_ ty}t ¹ÏòáÆïËåÑìò½îòÍËåÑìò¼3#7F õ¤§©§£ötɗʉɰɋʅƼ
ʄʉɔƼɐɵɛʂʉƼ
ɐɵɛʂʉƼ
Ǌǉ ɱɥɩÆÅhƼ ɛʉɕʅĉƼƼǄǹǮȀǹƼ
1Úɽɾʄ:ĉƼ ǄǤǺȂǹȁǶƼ
ǄǹǮȀǹǍǋƼ
kÞíŖƼǍǋ ɱɥɩÆÅhƼƼ ɛʉɕʅĉƼƼǄǹǮȀǹƼ
1Úɽɾʄ:ĉƼ ǄǤǺȂǹȁǶƼ
ǄǹǮȀǹǍǋƼ
Ǌǉ ɱɥɩÆÅhƼƼǄǹǮȀǹȀȁǮȁƼŉŨíŖƼǍǋ ɱɥɩÆÅhƼƼǄǹǮȀǹȀȁǮȁǍǋƼǱȄ ĉƼǄǤǺȂǹȁǶƼ
ǄǹǮȀǹǺǽǶƼǄǹǮȀǹƼ
8Äɽɾʄ:6ĎíŖƼǲȄ ĉƼǄǤǺȂǹȁǶƼǄǲȄƼ
ǄǹǮȀǹǺǽǶǲȄƼǄǹǮȀǹǲȄƼ
ǛǼǿȁǿǮǻǐǇƼɋʉɢɳɍʌɝƼƼǄǹǮȀǹǳǐǇƼǄǹǮȀǹƼ•	 ŗF:IɆ=đȡɃmXȳǄǤǮȂȁǼȋǣǽǲǻǡǤ Ɇ=đȡɃmXȳǄǤǼǽǲǻǺǽ ɆɗʉɰɋʅɐɵɛʂʉȱȟȺȡȌƼíŖƼîÓÚtyt\¼ ¤§©§£ åðÎíç¸ ~| âØÚ65<èéîK  ÃîòÍ¶Átfront1 $ sxf90 -Pauto source.f90 -lasl64n C/C++プログラムから利用する場合
Ƽ ǘǆǘǂǂɵʇɕʃɼȕɁ ǖǧǠ ʃɋɴʃʄɆ=đȡɃmXȋȲɀȒȱɗʉɰɋʅȮʄʉɔɆŚȑȺȡȌƼŜƼ ǈǌ ȲɐɵɛʂʉȱEȓȋɗʉɰɋʅɐɵɛʂʉȱȎǄǳǐǇǹǶǯȏȔɀȶȎǄȀǶȇǲǭȁǊǉ ȺȧȳǄȀǶȇǲǭȁǍǋȏɆƊEȟȋʄʉɔɐɵɛʂʉȱ Ǌǉ ɱɥɩÆÅhȺȧȳ ǱȄ ĉɆđȡɃmXȳƼ ȎǄǹǮȀǹǰǶǻȁȏɆȋǍǋ ɱɥɩÆÅhȺȧȳ ǲȄ ĉɆđȡɃmXȳƼ ȎǄǹǮȀǹǰǶǻȁǍǋȏɆƊEȟȬ·yȟȬȘȨȝȑȌƼ
îÓÚtzxt ¼îòÍ7Fõwuuöt
シングル版・共有メモリ並列版
front1 $ sxcc <コンパイルオプション> source.c <リンクオプション>	
 front1 $ sxc++ <コンパイルオプション> source.cpp <リンクオプション>	
 	
 分散メモリ並列版
front1 $ sxmpic <コンパイルオプション> source.c <リンクオプション>
front1 $ sxmpic++ <コンパイルオプション> source.cpp <リンクオプション>	
 îÓÚtzyt åðÎíç¸ {z âØÚ65<èéîK  ÃîòÍ¶Átfront1 $ sxcc -f90lib -size_t32 -Pmulti source.c -laslcint -laslƼn 数学ライブラリ集 MathKeisanƼ ǡǮȁǵǟǲǶȀǮǻƼ ǳǼǿƼ ǧǬ ȳ Ǣǚǘ ȲɮɋɰɳɏʌɺʉɝʋɗʉɲʀʌɢđȱƻȱØƔIȝɄȧÅxʃɋɴʃʄƪȭȡȌǡǮȁǵǟǲǶȀǮǻ ȱ\ȺɄɃʃɋɴʃʄȳȲȮȔɂȭȡȌǡǮȁǵǟǲǶȀǮǻ ȲȑȘȫȕȲəɴʅʌɤʉȱȫȑȬȳȋ
YíŖȲȾȲȖƼ ǖǧǠ ȱȾ\ȺɄȬȑȺȡȌYíŖȭȐɄȴ ǧǬǄǖǘǚ đȱØƔIȝɄȧ ǖǧǠ Ȳ=đɆȔřȽȟȺȡȌƼ

— 18 —

SENAC Vol. 48, No. 2（2015. 4）n Fortran プログラムから利用する場合
Ƽ ǛǼǿȁǿǮǻ ɵʇɕʃɼȕɁ ǡǮȁǵǟǲǶȀǮǻ ʃɋɴʃʄɆ=đȡɃmXȋʄɝɩƼ ǉǉ ȲɀȒȱɗʉɰɋʅȮʄʉɔɆŚȑȺȡȌǄǱȄ ɐɵɛʂʉƿÌy'ǀɆđȟȬʄʉɔȡɃmXȱȳȋŜƼ ǈǍ ȲɀȒȱ·yȟȺȡȌǄǲȄ ɐɵɛʂʉɆđȟȬʄʉɔȡɃmXȱȳȋŜƼ ǈǎ ȲɀȒȱ·yȟȺȡȌŜȱħȝɄȧƱėȱʄʉɔȡɃȕȋȺȧȳʄʉɔÓȱǄǵƼ
ǹǶǯǭǰȆǰǹǶǰ ɐɵɛʂʉɆ·yȡɃšȖȐɂȺȡȌƼîÓÚtzzt©¨£ íÆäíî¼ îòÍ7 F õ¤§©§£öt
シングル版・共有メモリ並列版
front1 $ sxf90 <コンパイルオプション> source.f90 <リンクオプション>  （dw 版）
front1 $ sxf90 -ew <コンパイルオプション> source.f90 <リンクオプション>   （ew 版）
分散メモリ並列版
front1 $ sxmpif90 <コンパイルオプション> source.f90 <リンクオプション>  （dw 版）
front1 $ sxmpif90 -ew <コンパイルオプション> source.f90 <リンクオプション>   （ew 版）_ty~t©¨£ íÆäíî¹îòÍËåÑìò¼ 3 # 7 F õv«õ`#öÃP¶ÁötǡǮȁǵǟǲǶȀǮǻ ʃɋɴʃʄƼǗǠǖǧƼǠǖǤǖǘǟƼ
ǧǰǮǠǖǤǖǘǟƼ
ǗǠǖǘǧƼ
ǤǖǦǗǠǖǧƼ
ǘǗǠǖǧƼ
ǧǗǠǖǧƼ
ǛǛǨƼǤǖǦǛǛǨƼ
ǖǦǤǖǘǟƼ
ǤǖǦǤǖǘǟƼ

ʄʉɔɐɵɛʂʉƼǄǹǯǹǮȀƼ
ǄǹǹǮǽǮǰǸƼǄǹǯǹǮȀƼ
ǄǹȀǰǮǹǮǽǮǰǸƼǄǹǯǹǮǰȀǛǐǇǶǻǶȁƼǄǹǯǹǮǰȀƼǄǹǯǹǮǰȀǛǐǇǶǻǶȁƼǄǹǹǮǽǮǰǸƼǄǹǯǹǮȀƼǄǹǺǽǶƼ
ǄǹǯǹǮǰȀǛǐǇǶǻǶȁƼǄǹǯǹǮǰȀƼǄǹǯǹǮǰȀǛǐǇǶǻǶȁƼǄǹǺǽǶƼ
ǄǹǽǮǿǯǹǮȀƼǄǤǼǽǲǻǺǽƼ
ǄǹǰǯǹǮȀƼǄǹǯǹǮȀƼ
ǄǹȀǯǹǮȀƼ
ǄǹǳǳȁƼ
ǄǹǽǮǿǳǳȁƼǄǤǼǽǲǻǺǽƼ
ǄǹǮǿǽǮǰǸƼǄǹǹǮǽǮǰǸƼǄǹǯǹǮȀƼ
ǄǹǽǮǿǽǮǰǸƼǄǹǮǿǽǮǰǸƼǄǹǹǮǽǮǰǸƼǄǹǯǹǮȀƼǄǹǺǽǶƼ

_tyt©¨£ íÆäíî¹îòÍËåÑìò¼ 3 # 7 F õv« ÃP¶ÁötǡǮȁǵǟǲǶȀǮǻ ʃɋɴʃʄƼǗǠǖǧƼǠǖǤǖǘǟƼ
ǧǰǮǠǖǤǖǘǟƼ
ǗǠǖǘǧƼ
ǤǖǦǗǠǖǧƼ
ǘǗǠǖǧƼ
ǧǗǠǖǧƼ
ǛǛǨƼǤǖǦǛǛǨƼ
ǖǦǤǖǘǟƼ
ǤǖǦǤǖǘǟƼ

ʄʉɔɐɵɛʂʉƼǄǹǯǹǮȀǭǍǋƼ
ǄǹǹǮǽǮǰǸǭǍǋƼǄǹǯǹǮȀǭǍǋƼ
ǄǹȀǰǮǹǮǽǮǰǸǭǍǋƼ ǄǹǯǹǮǰȀǛǐǇǶǻǶȁǭǍǋƼ ǄǹǯǹǮǰȀǭǍǋƼ ǄǹǯǹǮǰȀǛǐǇǶǻǶȁǭǍǋƼ ǄǹǹǮǽǮǰǸǭǍǋƼ ǄǹǯǹǮȀǭǍǋƼǄǹǺǽǶȄƼ
ǄǹǯǹǮǰȀǛǐǇǶǻǶȁǭǍǋƼǄǹǯǹǮǰȀǭǍǋƼǄǹǯǹǮǰȀǛǐǇǶǻǶȁǭǍǋƼǄǹǺǽǶȄƼ
ǄǹǽǮǿǯǹǮȀǭǍǋƼǄǤǼǽǲǻǺǽƼ
əɹʌɩȰȟƼ
ǄǹȀǯǹǮȀǭǍǋƼ
ǄǹǳǳȁǭǍǋƼ
ǄǹǽǮǿǳǳȁǭǍǋƼǄǤǼǽǲǻǺǽƼ
ǄǹǮǿǽǮǰǸǭǍǋƼǄǹǹǮǽǮǰǸǭǍǋƼǄǹǯǹǮȀǭǍǋƼ
ǄǹǽǮǿǽǮǰǸǭǍǋƼǄǹǮǿǽǮǰǸǭǍǋƼǄǹǹǮǽǮǰǸǭǍǋƼǄǹǯǹǮȀǭǍǋƼǄǹǺǽǶȄƼn C/C++プログラムから利用する場合
Ƽ ǘǆǘǂǂ ɗ ʉ ɰ ɋ ʃ Ɇ  Ȫ Ȭ ǘǗǠǖǧ ȋ Ƽ ǗǠǖǘǧ  q Ȳ ʃ ɋ ɴ ʃ ʄ Ɇ ʄ ʉ ɔ ȡ Ƀ m X ȳ ȋ ɗ ɺ ʉ ɪ ʃ ɋ ʉ ȭǡǮȁǵǟǲǶȀǮǻ ʃɋɴʃʄɆ·yȟȧȲȱȋǄǳǐǇǹǶǯ ɐɵɛʂʉɆșȬȘȨȝȑȌțȲÓȋǄǱȄ Ȳ ǡǮȁǵǟǲǶȀǮǻ ʃɋɴʃʄɆʄʉɔȡɃmXȳǄǳǐǇǹǶǯƼ ǱȄ ɐɵɛʂʉɆȫșȋǄǲȄ Ȳ ǡǮȁǵǟǲǶȀǮǻ ʃɋɴʃʄɆʄʉɔȡɃmXȳǄǳǐǇǹǶǯƼǲȄ ɐɵɛʂʉɆșȬȘȨȝȑȌƼ

スーパーコンピュータ SX-ACE の利用法

— 19 —

7 章	
 プログラムについての補足	 n 使用メモリサイズ
Ƽ {ŚȱšȰɽɾʄəɋɞɆBȱĤűȡɃțȮȖȭȗȺȡȌȧȨȟ ǮǹǹǼǰǮȁǲ ĸȭFĜȱĤ#ȡɃɽɾʄəɋɞ
ȳ\ȺɄȺȣɇȌƼ

逐次プログラムの場合îÓÚtz{t èéîÐÆÔ¼RbõhBåðÎíçöt
front1 $ sxsize 実行形式ファイル名

Ƽ

並列化プログラムの場合（自動並列または OpenMP による並列化）îÓÚtz|tèéîÐÆÔ¼RbõåðÎíçöt
front1 $ sxsize –fl 並列数 実行形式ファイル名

îÓÚtz}t¨¬¨­ ÏæòÛ_S  tfront1$ sxsize a.out.s   （逐次プログラム）
956688(.txt) + 1274432(.data) + 542080(.bss) + 84434(.comment) + 4856(.ELNI) +4908(.whoami) = 2867398（逐次プログラム a.ous.s を実行すると、2,867,398 byte = 約 2.8MB 使用します）
front1$ sxsize –fl 4 a.out.p   （並列プログラム）
1267584(.text) + 1287920(.data) + 457568(.bss) + 111678(.comment) + 5088(.whoami) +1080528(logical task region) * 4 = 7451950（並列化プログラム a.out.p を 4 並列実行すると、7,451,950 byte = 約 7.2MB 使用します）n スタックサイズの指定
Ƽ  : I ɐ ɵ ɛ ʂ ʉ ʎ ǄǤǮȂȁǼǆǄǤǼǽǲǻǺǽ ʏ ɐ ɵ ɛ ʂ ʉ Ɇ  ș Ȭ ɗ ʉ ɰ ɋ ʅ ȟ ȧ ɵ ʇ ɕ ʃ ɼ Ɇ { Ś ȟ ȧ ƨ ȱ ȋǧǲǴǺǲǻȁǮȁǶǼǻƼ ǳǮȂǹȁ ȭ{ŚȖɎʃʌŅ ȡɃțȮȖȐɂȺȡȌɗʉɰɋʃȖºyȡɃɝɢɥɔəɋɞȲƂȖQcȮȰɃțȮȖȐɂȺȡȲȭȋʄʉɔÓȱɐɵɛʂʉȭƔ9ȰɝɢɥɔƳjɆĤ#ȟȬȘȨȝȑȌʄɝɩƼ ǉǍ Ȳ ȭȳǉǜǗ ȲɝɢɥɔƳjɆĤ#ȟȺȡȌƼîÓÚtz~tÓÖØÍÐÆÔÃ z »3 # ¶Átfront1 $ sxf90 -Pauto source.f90 -Wl,-Z 2G

ƼƼ ɗʉɰɋʃȳʄʉɔÓȱȲɀȒȱɝɢɥɔəɋɞɆŢıȾɂȺȡȌƼl NPðôÛéÒëôï¼õvª©¤wv¤¥£¢¥ötɝɢɥɔəɋɞȲXŨ'ȱ ǊǌǟǗ ɆEȓȧ'Ƽl NP¸º±ðôÛéÒëôï¼t

Ŀ ǐǍǡǗƼ

— 20 —

SENAC Vol. 48, No. 2（2015. 4）n バイナリファイルの扱い [Fortran]Ƽ ɨʌɢɳɈɋʅɆ.DȡɃȰȯȲəʌɯȭ¨ȟȧɯɋɫʄɳɈɋʅɆ¬ȒmXȋû¥ȖšȭȡȌǧǬǄǖǘǚ
ɛɝɧɼȳ ǗǶǴǄǚǻǱǶǮǻ êȭȡȲȭȋǠǶȁȁǹǲǄǚǻǱǶǮǻ êǍȲɯɋɫʄɳɈɋʅɆ¬ȒȱȳȋǚǻǱǶǮǻ ɆXɅȣɃšȖȐɂȺȡȌp¼ȳďnpÅ ǛǭǩǛǡǨǚǢǙǞǖǢ ɆđȑȋǗǶǴǄǚǻǱǶǮǻ ȱp¼ȟȧȑ ǠǶȁȁǹǲǄǚǻǱǶǮǻ ɳɈɋʅȲŝőėVɆ·yȟȺȡȌƼîÓÚtztO5  tsetenv F_UFMTENDIAN u[,u]…

•	 Ȃ ȳ ǠǶȁȁǹǲǄǚǻǱǶǮǻ ɳɈɋʅȲŝőėVȭȡȌŠÅȐɃmXȳȋ”ǃ”ʎɑʉɺʏȭJ9ȪȬŒ:ȟȺȡȌƼîÓÚtztàØ×îÍÉÓÚãÄÆï t# test job.7#PBS -q sx -b 32
setenv F_UFMTENDIAN 30,40#装置番号 30,40 を Big-Endian に変換する
setenv MPIEXPORT “F_UFMTENDIAN”
cd $PBS_O_WORKDIR./a.out
mpirun –np 32 –nn 32 ./a.outn バウンズチェック [Fortran]Ƽ Ɨ:ȲÿvȱȫȑȬȋ|ŧȟȬȑɃĻdqɆRćȟȬȑȰȑȕæãȟȺȡȌƼƼ ɵʇɕʃɼȲ{Ś ȱȋƔ9Ȱ'Ɇ6ĎȟȬȑɃȳȢȰȲȱɎʃʌėV ǉǌǇƿɐʌɯʌɳʇʌǀȿ ǉǌǉƿɠʇC
ɂǀȋǉǌǊƿĄĺ qǀĸȖęĐȡɃȋȺȧȳ{ŚɎʃʌȳęĐȟȰȑȖ{ŚȡɃóȱFȿĄĺňâȖĘȰɃȮȑȒmXȋƗ:ȲÿvæãɆȟȬȻȬȘȨȝȑȌƗ:ȭRćȝɄȬȑɃÿvȖūȝɄɃĻdȱȐɃȕȯȒȕɆŵȸȋĻdqȭȐɄȴƗ:ȲsȗȝȋÿvȲ'ɆŜħȟȺȡȌƼƼ ɤɍɥɔËúȳȋǄǲǘ ɐɵɛʂʉɆșɗʉɰɋʅʎƼʄɝɩƼ ǉǐʏȟȬȕɁ{ŚȟȺȡȌĻdqÿvȖŢȫȕɃȮȋëăɎʃʌ7DɳɈɋʅȱɎʃʌɽɥɟʌɜɆ7DȟȺȡʎʄɝɩƼǊǇʏȌƼîÓÚtztàÇòÔ×ÈØÍ¼ËåÑìòt
front1 $ sxf90 –eC ソースファイル名•	 Ǆǲǘ ɐɵɛʂʉɆ·yȡɃȮȋØƔIȿɶɔɩʅIȔɀȶ:IȳȝɄȺȣɇȲȭȋƍȲ{Śȱôȸ{ŚÓƠȖƮȱƞȘȰɂȺȡȌÿvæãɆŚȒÓȲȻȋțȲɐɵɛʂʉɆđȑȬȘȨȝȑȌƼ
îÓÚt{xtÉíôèØÕôÒt*240 Subscript error array=b size=10 subscript=11 eln=756 PROG=main ELN=756(400021981)
配列 b はサイズ 10 の宣言であるが、添字 11 を使っているためエラーが発生している。
エラー発生箇所は、main ルーチン 756 行目。

Ƽ
Ƽ
Ƽ

Ǎ

ƼÞɟʉɢʌȲ:ɗʉɲʀʌɢȭȳȋǛǼǿȁǿǮǻ ɵʇɕʃɼȭȳďnpÅȭ ǗǶǴǄǚǻǱǶǮǻ ȱŪyȝɄȬȑȺȡȌƼ

— 21 —

スーパーコンピュータ SX-ACE の利用法

8 章	  マニュアル	
 n コンパイラマニュアルl ÙÌÓÚKæÝëÅït
ɧɓɝɩĉȲɺɬʀɉʅȳȲʄɝɩƼǊǈ ȲɗɺʉɪȭRćȭȗȺȡȌƼ
îÓÚt{ytÏòáÆíæÝëÅï¼J7FõÙÌÓÚKöt
front1 $ sxman sxf90
front1 $ sxman sxcc
front1 $ sxman sxc++（Fortran コンパイラ）（C コンパイラ）（C++コンパイラ）l   KæÝëÅïtƼ ǤǙǛ ĉȲɺɬʀɉʅɆƢťȡɃȱȳ:ɗʉɲʀʌɢȲ ǧǧǝ ¹ŋÓȱ ǬƼ ǳǼǿȄǮǿǱǶǻǴ ɆŚȒšȖȐɂȺȡȌʄɝɩƼǊǉ ȲɗɺʉɪɆ{ŚȡɃȮ ǛǶǿǲǳǼȅ ɴʃɌɚȖƀFȟȋǤǙǛ ɺɬʀɉʅȖƢťȭȗȺȡȌƼ
îÓÚt{ztÏòáÆíæÝëÅï¼J7Fõ  Köt
front1 $ mansxlangj
front1 $ mansxlange（日本語版）（英語版）

Ƽn ライブラリマニュアルn ASLƼ ʄɝɩƼǊǊ ȲɨɊʆɔɩʄȱ ǤǙǛ ĉɺɬʀɉʅȖȐɂȺȡȌƼ
îÓÚt{{t ¼   K æÝëÅït
/usr/ap/ASL-man-super/PDF/ASL/usr/ap/ASL-man-super/PDF/ASL_e/usr/ap/ASL-man-super/PDF/CINT/usr/ap/ASL-man-super/PDF/CINT_e（ASL マニュアル日本語版）（ASL マニュアル英語版）（ASL C 言語インタフェースマニュアル日本語版）（ASL C 言語インタフェースマニュアル英語版）

ƼƼ ÍÞŲɺɬʀɉʅȱȳŜƼǈǏ ȱħȟȧȾȲȖȐɂȺȡȌƼƼƼ_ tyt æÝëÅïõ8=cKöt

ɳɈɋʅZƼ

ɢɋɩʅƼǈǺǮǶǻǅǽǱǳƼ

kÞíŖŏƼķ ǈ 85ƼǉǺǮǶǻǅǽǱǳƼ

kÞíŖŏƼķ ǉ 85ƼǊǺǮǶǻǅǽǱǳƼ

kÞíŖŏƼķ Ǌ 85ƼǋǺǮǶǻǅǽǱǳƼ

kÞíŖŏƼķ ǋ 85Ƽ

3Ƽ
åŀɾʌɪȲp¼ǃkÞŚ:ĄĺǃØ úǃ
fÚ'ʋfÚɶɔɩʅƼƐĴʒîËĮʎĞ¹úʏƼƐĴʒîËĮʎSúʏǃĬƐĴîËĮƿSúǀǃƮĬƐĴîËĮƿSúǀƼɳʌʄɎp¼ȮȥȲ đʑÓľ:8àƼ

— 22 —

SENAC Vol. 48, No. 2（2015. 4）ǌǺǮǶǻǅǽǱǳƼ

kÞíŖŏƼķ ǌ 85ƼǍǺǮǶǻǅǽǱǳƼ

kÞíŖŏƼķ Ǎ 85ƼǎǺǮǶǻǅǽǱǳƼ

ŉŨíŖƼǖǧǠǧǨǖǨ =đȲªƼǏǺǮǶǻǅǽǱǳƼ

1Úɽɾʄ:6ĎíŖŏƼ

ǐǺǮǶǻǅǽǱǳƼ

8Äɽɾʄ:6ĎíŖŏƼ

8ËĮȮȥȲ đǃÅ'8ǃÅ'ı8ǃǊ
î+nĕšłúđȲÅ'ı8úƇʋŞƠǃɝɵʃɋʉơÅƼ
ĊñơÅǃ ÅǃɡʌɩʋƱșǃËĮȲäǃè'_ƶʋØƔIƼ
ĤČ8ǃkĦŉŨƙǃºyȮæyǃ8Ä8àʋ{ƺŨĔǃɭʉɰʃɽɩʄɥɔæyǃrpƙŦàǃƇ
ʋb8àƼ
kÞŚ:ĄĺǃƐĴîËĮƿĞ¹úǀǃfÚ
'ʋfÚɶɔɩʅǃƐĴîËĮƿSúǀɳʌʄɎp¼ȮȥȲ đʑÓľ:8àǃ ÅǃɡʌɩʋƱƼŠłɳʌʄɎp¼Ƽ

n MathKeisan ライブラリƼ :ɗʉɲʀʌɢȱ ǧǧǝƼǬƼǛǼǿȄǮǿǱǶǻǴ ¹ŋȟȋƼǛǶǿǲǳǼȅ ɴʃɌɚɆƀFȟȬʄɝɩƼǊǋ ȲɳɈɋʅɆȜRćȘȨȝ
ȑȌƼ
îÓÚt{|t©¨£ íÆäíî¼ æÝëÅï t
  /usr/ap/Mathkeisan-man/SX-ACE/J/index.html/usr/ap/Mathkeisan-man/SX-ACE/E/index.html（日本語版）
（英語版）

Ƽ

9 章	
  利用負担金	
 n 利用負担金についてƼ =đŻ²ƚȳȋĄĺŻ²ŇŽȋɳɈɋʅŻ²ŇŽȋ7DŻ²ŇŽȋUŤIŻ²ŇŽȲ ǋ ȫȖȐɂȺȡʎŜƼǈǐȋŜƼǉǇʏȌɝʌɰʌɗʉɲʀʌɢȮ:ɗʉɲʀʌɢɆ=đȡɃȮȋĄĺŻ²ŇŽȖęĐȟȺȡȌƼƼ 1Ú=đȳ=đȡɃɭʌɪÅȮŇƒÓƠȱɀȪȬŻ²ƷȖ÷yȟȋŨĺžĂɆ=đŕƠȭ1Ú=đȡɃ=đ¦ȭȡȌƼƼ ȺȧȋOÚ=đȳŨĺžĂɆȩÓƠȰȘOÚȟȬ=đȡɃțȮȖȭȗȋēŷȡɃ=đÜƠȱɀȪȬŻ²ƷȖ÷yȡɃ=đ¦ȭȡȌƼƼ ŷö×ȳaMÜʎǊ ʊÙʏȜȮȱȋ=đŕɆTɂȺȮȽȬȑɃÁ«żŕȱęŚȟȺȡȌØÊȲ¤lȳȲǫǲǯ əɋɩɆȜťȘȨȝȑȌƼ
Ƽ
http://www.ss.cc.tohoku.ac.jp/utilize/academic.html （学術利用）
http://www.ss.cc.tohoku.ac.jp/utilize/business.html （民間機関利用）

Ƽ
Ƽ
Ƽ
Ƽ
Ƽ
Ƽ
Ƽ
Ƽ
Ƽ

— 23 —

スーパーコンピュータ SX-ACE の利用法

_ tyt=Pf1jõ
JƼ 8Ƽ

ưƼ ĝƼ

=đƼ
¦Ƽ

ŻƼ ²Ƽ ƷƼ=đɭʌɪÅ ǈƼƼ=đɭʌɪÅ ǈʚǊǉ ȺȭƼ1ÚƼ=đɭʌɪÅ ǊǊʚǉǌǍ ȺȭƼ=đɭʌɪÅ ǉǌǎ ƼɝʌɰʌƼɗʉɲʀʌɢƼ

ĄƼ ĺƼ
Ż²ŇŽƼ

OÚƼ

1ÚƼ
:Ƽ
ɗʉɲʀʌɢƼ
OÚƼ
ɳɈɋʅƼ
Ż²ŇŽƼ
7Ƽ DƼ
Ż²ŇŽƼ
UŤIƼ
í`}=đƼ
Ż²ŇŽƼ

"ó"^Pöt

ƿ{ŚÅȋ{ŚÓƠȲ>ƤÚǀƼƼƼĆÈƿ)ŔʓǀƼŇƒÓƠ ǈ ĪȱȫȗƼ
ǇǅǇǍ 4ƼŇƒÓƠ ǈ ĪȱȫȗƼ
ƿ=đɭʌɪÅǄǊǉǀȉǇǅǇǇǉ 4ǂǇǅǇǍ 4ƼŇƒÓƠ ǈ ĪȱȫȗƼ
ƿ=đɭʌɪÅǄǉǌǍǀȉǇǅǇǇǈǍ 4ǂǇǅǌǇǏ 4Ƽ=đɭʌɪÅ ǊǉƼ=đÜƠ Ǌ ʊÙȱȫȗƼ
=đÜƠ Ǎ ʊÙȱȫȗƼ

ǋǇǇǃǇǇǇ 4Ƽ
ǎǉǇǃǇǇǇ 4Ƽ=đɭʌɪÅ ǍǋƼ=đÜƠ Ǌ ʊÙȱȫȗƼ
=đÜƠ Ǎ ʊÙȱȫȗƼ

ǎǉǇǃǇǇǇ 4Ƽ
ǈǃǊǇǇǃǇǇǇ 4Ƽ=đɭʌɪÅ ǈǉǏƼ=đÜƠ Ǌ ʊÙȱȫȗƼ
=đÜƠ Ǎ ʊÙȱȫȗƼ

ǈǃǊǇǇǃǇǇǇ 4Ƽ
ǉǃǊǋǇǃǇǇǇ 4Ƽ=đɭʌɪÅ ǈʚǍ ȺȭƼ=đɭʌɪÅ ǎʚǈǉ ȺȭƼ=đɭʌɪÅ ǈǊʚǈǏ ȺȭƼ=đɭʌɪÅ ǈǐʚǉǋ ȺȭƼ=đɭʌɪÅ ǈƼƼŇƒÓƠ ǈ ĪȱȫȗƼ
ǇǅǇǋ 4ƼŇƒÓƠ ǈ ĪȱȫȗƼ
ǇǅǇǎ 4ƼŇƒÓƠ ǈ ĪȱȫȗƼ
Ǉǅǈ 4Ƽ
ŇƒÓƠ ǈ ĪȱȫȗƼ
ǇǅǈǊ 4Ƽ=đÜƠ Ǌ ʊÙȱȫȗƼ
ǈǍǇǃǇǇǇ 4ƼʎUŤIɛɝɧɼȲ ǉǇ ÓƠĆÈ=đɆ\ȼʏƼ=đÜƠ Ǎ ʊÙȱȫȗƼ
ǊǉǇǃǇǇǇ 4ƼʎUŤIɛɝɧɼȲ ǋǇ ÓƠĆÈ=đɆ\ȼʏƼǈǨǗ ȺȭĆÈȋƊEƙ ǈǨǗ ȱȫȗƷƼs<ɵʄʉɢȱɀɃɑʃʌɵʄʉɩƼǊǃǇǇǇ 4Ƽɳɏɩ-øđŁ ǈ áȱȫȗƼ
ɔʇɝ ǈ áȱȫȗƼ

ǈ ÓƠȲ=đȱȫȗƼ

ǍǇǇ 4Ƽ
ǈǃǉǇǇ 4ƼǉǃǌǇǇ 4Ƽ_tzxt=Pf1jõDmAnPöt
JƼ 8Ƽ

ưƼ ĝƼ

=đƼ
¦Ƽ

ŻƼ ²Ƽ ƷƼ=đɭʌɪÅ ǈƼƼ=đɭʌɪÅ ǈʚǊǉ ȺȭƼ1ÚƼ=đɭʌɪÅ ǊǊʚǉǌǍ ȺȭƼ=đɭʌɪÅ ǉǌǎ ƼɝʌɰʌƼɗʉɲʀʌɢƼ
ĄƼ ĺƼ
Ż²ŇŽƼ
OÚƼ

:Ƽ
ɗʉɲʀʌɢƼ1ÚƼ

ƿ{ŚÅȋ{ŚÓƠȲ>ƤÚǀƼĆÈƿ)ŔʓǀƼŇƒÓƠ ǈ ĪȱȫȗƼ
ǇǅǈǏ 4ƼŇƒÓƠ ǈ ĪȱȫȗƼ
ƿ=đɭʌɪÅǄǊǉǀȉǇǅǇǇǍ 4ǂǇǅǈǏ 4ƼŇƒÓƠ ǈ ĪȱȫȗƼ
ƿ=đɭʌɪÅǄǉǌǍǀȉǇǅǇǇǋǏ 4ǂǈǅǌǉǋ 4Ƽ=đɭʌɪÅ ǊǉƼ=đÜƠ Ǌ ʊÙȱȫȗƼ
=đÜƠ Ǎ ʊÙȱȫȗƼ

ǈǃǉǇǇǃǇǇǇ 4Ƽ
ǉǃǈǍǇǃǇǇǇ 4Ƽ=đɭʌɪÅ ǍǋƼ=đÜƠ Ǌ ʊÙȱȫȗƼ
=đÜƠ Ǎ ʊÙȱȫȗƼ

ǉǃǈǍǇǃǇǇǇ 4Ƽ
ǊǃǐǇǇǃǇǇǇ 4Ƽ=đɭʌɪÅ ǈǉǏƼ=đÜƠ Ǌ ʊÙȱȫȗƼ
=đÜƠ Ǎ ʊÙȱȫȗƼ

ǊǃǐǇǇǃǇǇǇ 4Ƽ
ǎǃǇǉǇǃǇǇǇ 4Ƽ=đɭʌɪÅ ǈʚǍ ȺȭƼ=đɭʌɪÅ ǎʚǈǉ ȺȭƼ=đɭʌɪÅ ǈǊʚǈǏ ȺȭƼ=đɭʌɪÅ ǈǐʚǉǋ ȺȭƼŇƒÓƠ ǈ ĪȱȫȗƼ
ŇƒÓƠ ǈ ĪȱȫȗƼ
ŇƒÓƠ ǈ ĪȱȫȗƼ
ŇƒÓƠ ǈ ĪȱȫȗƼ

Ǉǅǈǉ 4ƼǇǅǉǈ 4ƼǇǅǊ 4Ƽ
ǇǅǊǐ 4Ƽ

— 24 —

SENAC Vol. 48, No. 2（2015. 4）=đɭʌɪÅ ǈƼ:ƼɗʉɲʀʌɢƼ
ɳɈɋʅƼ
Ż²ŇŽƼ
7Ƽ DƼ
Ż²ŇŽƼ
UŤIƼ
í`}=đƼ
Ż²ŇŽƼOÚƼ=đÜƠ Ǌ ʊÙȱȫȗƼ
ǋǏǇǃǇǇǇ 4ƼʎUŤIɛɝɧɼȲ ǉǇ ÓƠĆÈ=đɆ\ȼʏƼ=đÜƠ Ǎ ʊÙȱȫȗƼ
ǐǍǇǃǇǇǇ 4ƼʎUŤIɛɝɧɼȲ ǋǇ ÓƠĆÈ=đɆ\ȼʏƼƼǈǨǗ ȺȭĆÈȋƊEƙ ǈǨǗ ȱȫȗƷƼǐǃǇǇǇ 4Ƽɳɏɩ-øđŁ ǈ áȱȫȗƼ
ɔʇɝ ǈ áȱȫȗƼ

s<ɵʄʉɢȱɀɃɑʃʌɵʄʉɩƼ
ǈ ÓƠȲ=đȱȫȗƼ

ǈǃǏǇǇ 4ƼǊǃǍǇǇ 4ƼǎǃǌǇǇ 4Ƽ)ŔƼƼ ʒƼ Ż²ƷĺyȲkĦȮȰɃāyÅƙȱĶÅȖ7ȧmXȳȋ9ɂȚɃȌƼƼ ʓƼ Ż²ƷȖĆÈȮȰɃȲȳđȲɜʂɴɔʃɝȭ{ŚȝɄȧȾȲȮȟȋ>ƤÓƠɆƁȓȧmXȱȳ>ŅȡɃȌƼƼ ʔƼ OÚ=đÜƠȳɆƁȓȰȑȾȲȮȟȋÜƠ ȱƩ~ȋɽʉɧɫʉɝçȖęĐȟȧmXȱȔȑȬȾȋ
Q@=đÜƠȲƞȳȟȰȑȌȺȧȋOÚ=đÜƠ ȲɳɈɋʅŻ²ŇŽȳ ǈǇǨǗ ȺȭĆÈȮȡɃȌƼƼ ʕƼ ɳɈɋʅŻ²ŇŽȱȫȑȬȳēŷÍȕɁŮÝȺȭȲÈƚȮȡɃȌƼn 利用負担金の確認方法l åðÒÈÍÚÏôÛ¼Rbõ¥§¤© ÏæòÛöt
Ƽ =đŻ²ƚȳɵʇɜɍɔɩɗʌɪóȱXĺȝɄȺȡȌ=đUŖȰɵʇɜɍɔɩɗʌɪȲĤűȋɨɳɏʅɩȲɵʇɜɍɔɩɗʌɪȲŪyȳ ǽǿǼǷǲǰȁ ɗɺʉɪɆȜ=đȘȨȝȑȌɵʇɜɍɔɩɗʌɪȲZĬpÖȋƊEȰȯȱȫȑȬȳ1
Y=đÁ½"ȺȭȔ_ȑXɅȣȘȨȝȑȌƼ
îÓÚt{}tåðÒÈÍÚÏôÛ¼Rb t
front1 $ project
使用可能なプロジェクトおよびキュー名は次のとおりです
利用者番号：（利用者番号）-----------------------

使用可能なプロジェクト一覧-----------------------

プロジェクト名称: 運営費交付金
プロジェクトコード : un0000
使用可能なキュー名 : sx32 sx64 ・・・
デフォルトのジョブ実行プロジェクトは un0000 です1.デフォルトプロジェクト変更

9.終了

何番の処理を選びますか ？

l åðÒÈÍÚdj,_Sõ¥  £ ÏæòÛ®ª  £ ÏæòÛötƼ ɗɺʉɪɆ{Śȟȧ=đŕȖ=đUŖȰɵʇɜɍɔɩȱȫȑȬȋŻ²Ʒȿŷö¤lɆŜħȟȺȡȌŻ²ƷȳBÍȲLB ǐ ÓȺȭȱŅ ȟȧʄɔɎɝɩȲ=đƷȺȭȖSÒȝɄȬȑȺȡȌƼ
îÓÚt{~tåðÒÈÍÚ´¹¼f1r®eE,¼_St
front1 $ pkakin
2 月 20 日 現在の利用負担金は次のとおりです
プロジェクトコード
un0000

累計負担額
15,404

調整額累計
0

固定費合計
0

支払責任者と経理担当者の所属(学校、学部)が異なる場合はセンターに連絡してください

請求済額
0

今期請求予定額(うち請求持越額)
15,4040

— 25 —

スーパーコンピュータ SX-ACE の利用法

支払費目の指定は各部局の経理担当者(学内の場合)、もしくはセンター会計係(学外の場合)へお伝えください
1.負担金の明細表示

9.終了

何番の処理を選びますか ? 1
出力する年度を入力して下さい ( 1.今年度 2.前年度 ) : 1
開始月を入力してください : 2
終了月を入力してください : 2
出力先を選択してください ( 1.画面 2.ファイル ) : 1======================================================================================================
プロジェクト負担金明細情報
2 月 20 日 現在の利用額および負担額は次のとおりです
支払責任者
支払責任者番号プロジェクト名称
プロジェクトコード::::

東北   太郎
aaaaaa
運営費交付金un0000

合計
演算 SX
演算 LX
ファイル
出力
可視化
利用額
15,143
14,635
508
0
0
0
負担額
15,143
14,635508
000-----------------------------------------------------------------------------------------------------月別利用額
2月15,143-----------------------------------------------------------------------------------------------------利用者別利用額
abc00021
abc001:
6abc02027
abc0214,895

îÓÚt{tPZ´¹¼Pr,¼_S t
front1 $ ukakin
利用者番号=（利用者番号）----------------------- 利 用 額
支払責任者: 東北   太郎支払責任者番号: aaaaaa
プロジェクト名称: 運営費交付金
プロジェクトコード: un0000
月
4
5
6
7
8
9
10
11
12
1
2
3
合計

演算 SX
0
0
0
0
0
0
0
0
170
546
0
0
716

演算 LX
0
0
0
0
0
0
0
0
10
162
0
0
172

-----------------------

ファイル
0
0
0
0
0
0
0
0
0
0
0
0
0

出力
0
0
0
0
0
0
0
0
0
0
0
0
0

可視化
0
0
0
0
0
0
0
0
0
0
0
0
0

合計
0
0
0
0
0
0
0
0
180
708
0
0
888

Ƽ
l ÒêôÜïõP9Xö¼0Wõª¡¨© ÏæòÛ®¥¡¨© ÏæòÛötƼ ɗɺʉɪɆ{Śȟȧ=đŕȲɜɿʌɫʅ¤lȋɵʇɜɍɔɩȜȮȲɜɿʌɫʅ¤lɆ°ĽȟȬ ǘǧǪ ʎɑʉɺ
J9ɂʏȲɳɈɋʅȱ7DȟȺȡȌŜƼǉǈ ȲưĝȖ7DȝɄȺȡȌƼƼƼ

— 26 —

SENAC Vol. 48, No. 2（2015. 4）

îÓÚt{tPZ¼ÒêôÜï,Ã0Wt
front1 $ ulist
出力する年度を入力して下さい ( 1.今年度 2.前年度 ) : 1
開始月を入力してください : 2
終了月を入力してください : 2
出力するファイル名を入力してください ( 省略時：ulist.csv ) :ホスト ID は次のとおりです
20:SX 04:LX 02:front

05:ストレージ

06:プリンタ

08:可視化îÓÚt{tåðÒÈÍÚ¼ÒêôÜï,Ã0W t
front1 $ plist
出力する年度を入力して下さい ( 1.今年度 2.前年度 ) : 1
開始月を入力してください : 2
終了月を入力してください : 2
出力するファイル名を入力してください ( 省略時：plist.csv ) :プロジェクトを選択してください
1.(un0000)

運営費交付金何番のプロジェクトを選びますか ? 1
ホスト ID は次のとおりです
20:SX 04:LX 02:front

05:ストレージ

06:プリンタ

08:可視化_tzytª¡¨© ÏæòÛ¼

pQ t

ŴƚŨÙǃɜɿʌɫʅƐėǃ=đŕėVǃÁ«żŕėVǃɵʇɜɍɔɩɗʌɪǃɸɝɩ ǞǙǃɔʃɝ ǞǙǃɓʀʌZǃ¯.ÍÓǃƟtÍÓǃŅ ÍÓǃŇƒÓƠǃđɭʌɪÅǃʁʌɚ ǘǤǩ ÓƠǃØsɽɾʄəɋɞǃɶɔɩʅÓƠǃƼɶɔɩʅĄĺČǃɭʌɪÓƠʎđƙʏǃ=đƷƼl ÒêôÜï¼oaõª¨ª¢ ÏæòÛ®¥¨ª¢ ÏæòÛöt
ɗɺʉɪɆ{Śȟȧ=đŕȲɜɿʌɫʅ¤lȋɵʇɜɍɔɩȜȮȲɜɿʌɫʅ¤lɆƪŨȟȬŜħȟȺȡȌƼ
îÓÚt|x PZ¼ÒêôÜï,Ãoa t
front1 $ usum
出力する年度を入力して下さい ( 1.今年度
開始月を入力してください : 2
終了月を入力してください : 2

2.前年度 ) : 1-----------------------

利 用 情 報

利用者番号abc001
abc001

ホスト ID
20
02

プロジェクトコード
un0000un0000

ホスト ID は次のとおりです
20:SX 04:LX 02:front----------------------経過時間合計
15:10:00
1867:16:29

05:ストレージ

06:プリンタ

ユーザ CPU 時間合計
45:55:58: : 0

最大メモリサイズ
61,3945,596

08:可視化îÓÚt|y åðÒÈÍÚ¼ÒêôÜï,Ãoa t
front1 $ psum
出力する年度を入力して下さい ( 1.今年度
開始月を入力してください : 2

2.前年度 ) : 1

ノード時間(使用量)合計
18:42:08:43:03

— 27 —

スーパーコンピュータ SX-ACE の利用法

終了月を入力してください : 2
プロジェクトを選択してください
1.(un0000)

運営費交付金何番のプロジェクトを選びますか ? 1----------------------プロジェクトコード
un0000un0000

利 用 情 報ホスト ID020

ホスト ID は次のとおりです
20:SX 04:LX 02:front----------------------ユーザ CPU 時間合計
: : 0
2642:34:25

経過時間合計7545:43:59
13:13:14
05:ストレージ

06:プリンタ

最大メモリサイズ
34,81661,436

ノード時間(使用量)合計
1:25:04
2171:14:38

08:可視化n 利用見込み額の設定
Ƽ ɵʇɜɍɔɩɗʌɪȲŷö,ȖxqȲmXȳȋŷö6ĎȲƖX ǉ Ù ÏƣȋǊ ÙÝȺȭȲ=đƷɆŢƆȻƚƷȮȟȬŪyȟȺȡȌŪyȟȧƚƷȳȋǈ ÙȕɁ ǉ Ù ÏȺȭȲ=đŻ²ƚȱXĺȟȋǉ ÙÝȱŷöȑȧȟ
ȺȡȌŢƆȻƚƷȲŪyȳ ǺǶǸǼǺǶ ɗɺʉɪȭŚȑȺȡȌƼ
îÓÚt|zt¢ ¤¢ ÏæòÛ¼t
front1 $ mikomi
プロジェクトを選択してください
プロジェクトコード : プロジェクト名称   支払責任者番号 : 支払責任者氏名
un0000: 運営費交付金
aaaaaa: 東北   太郎プロジェクトコードを入力してください un0000
2 月 1 日 現在の見込み額は次のとおりです
支払責任者: 東北   太郎支払責任者番号 : aaaaaa
プロジェクト名称 : 運営費交付金
プロジェクトコード: un0000
   見込み額指定者 :見込み額:
今期請求予定額:
合計請求額(見込み額込) :0円
300,000 円
300,000 円

1.見込み額の指定 2.削除 9.終了
何番の処理を選びますか ? 1
見込み額を入力してください (円) ? 200000
登録してよろしいですか (yes/no) ? yes
2 月 1 日 現在の見込み額は次のとおりです
支払責任者: 東北   太郎支払責任者番号 : aaaaaa
プロジェクト名称 : 運営費交付金
プロジェクトコード: un0000
見込み額指定者 : 東北   太郎 (利用者番号 変更日: 2 月 1 日)
見込み額:
今期請求予定額:
合計請求額(見込み額込) :200,000 円
500,000 円
500,000 円

見込み額の指定 2.削除 9.終了
何番の処理を選びますか ?

Ƽ— 28 —

SENAC Vol. 48, No. 2（2015. 4）

10 章	
  運用に関する情報、お問い合わせ	
 n 運用に関するお知らせƼ sţìĩxŨĺɛɝɧɼȲɸʌɼɷʌɜȭ=đËúȿɛɝɧɼȲƑđċùȱȫȑȬȋØÊ¤lɆȔġɁȣȟȺȡȌŨĔ(ƬȱɀɃƑđȲ(ïɝɖɜʀʌʅȰȯȱȫȑȬȾȋțȩɁȭȔġɁȣȟȬȔɂȺȡȌƼ
URL http://www.ss.cc.tohoku.ac.jp/n 利用申請
Ƽ =đēŷȱơȡɃůŃȳȋȲɌɍɴɷʌɜɆȜťȘȨȝȑȌēŷ×Ȳ»7ȋȔ_Xȣȳ1Y=đÁ½"
ȺȭȔƸȑȑȧȟȺȡȌƼ
URL http://www.ss.cc.tohoku.ac.jp/utilize/index.html
メールアドレス
uketuke@cc.tohoku.ac.jp
電話番号
022-795-3406n 利用に関するお問い合わせn システムの利用方法についてのお問合せƼ =đğŶ^Ȗ
メールアドレスȑȧȟȺȡȌȲɽʌʅɉɪʆɝȺȭȔ_XȣȘȨȝȑȌƼ

sodan05@cc.tohoku.ac.jpn 利用負担金についてのお問合せƼ 1Y=đÁ½"ȺȭȔ_ȑXɅȣȘȨȝȑȌƼ
メールアドレス

uketuke@cc.tohoku.ac.jp

電話番号

022-795-3406n 請求書についてのお問合せƼ ŷö×ȲęƋĸȱȫȑȬȳŨ"ȺȭȔ_ȑXɅȣȘȨȝȑȌƼ
メールアドレス

kaikei@cc.tohoku.ac.jp

電話番号

022-795-3405

電話番号

022-795-3407

n その他のお問合せƼ ŎG"ȺȭȔ_ȑXɅȣȘȨȝȑȌƼ
メールアドレス

som@cc.tohoku.ac.jp

おわりに	 Ƽ ÞİȭȳȋǧǬǄǖǘǚ ɛɝɧɼȲɵʇɕʃɻʉɕ=đɒɋɪȮȟȬkÞĜȰªƱɆńȟȺȟȧȌģĲ}Ȳəʌɯ
ȭȳ{čȭȗȰȕȪȧɵʇɕʃɼȿɉɋɨɉɆȋȤȵØÊƛȲɝʌɰʌɗʉɲʀʌɢɛɝɧɼȭȔŭȟȘȨȝȑȌ
ģĲȲDȰɦʌʅȮȟȬȜüđȑȧȨșɄȴȑȭȡȌȜÐȰąȋȜſ_ĸȜȞȑȺȟȧɁȋȔõƄȱɟʉɢʌȺȭȔ_ȑXɅȣȘȨȝȑȌƼ

— 29 —

SENAC Vol. 48, No. 2（2015. 4）［大規模科学計算システム］

並列コンピュータ LX 406Re-2 の利用法
情報部情報基盤課 共同利用支援係 共同研究支援係
サイバーサイエンスセンター スーパーコンピューティング研究部

1 章 はじめに本センターは並列コンピュータ LX 406Re-2 の運用を 2014 年 4 月から開始しています。本稿では、LX
406Re-2 システムでのプログラミング利用ガイドとして、プログラムの作成からコンパイル、実行等の使い方と利用負担金についてご紹介します。

2 章 システム構成
システム構成は、既設のシステムを含め図１のようになっています。

図 1. 大規模科学計算システム構成図
並列コンピュータ LX 406Re-2
並列コンピュータ LX 406Re-2 は 1 ノードに、インテル Xeon プロセッサ E5-2695v2（12 コア）を 2 基と128GB の主記憶装置を搭載し、合計 68 ノードで構成されます。自動並列化・OpenMP・MPI を利用したノード
内の並列処理は 24 並列まで可能で、ノードあたりの最大演算性能は 460.8GFLOPS（倍精度）となります。複数のノードを使用した並列処理は、MPI の利用により最大 576 並列まで実行可能です。ベクトル演算に不向きなプログラムの高速な実行が可能です。また、スーパーコンピュータ SX-ACE のフロントエンドサーバとしての役割も担っています。

3 章 プログラミング ～逐次処理、共有メモリ並列処理 ～本章では、単一のコアで実行する逐次処理と、自動並列化および OpenMP による共有メモリ並列処理について利用手順を紹介します。

— 30 —

SENAC Vol. 48, No. 2（2015. 4）

MPI による並列化プログラミング手順については、4 章で紹介しますが、コンパイルコマンドに違いがある以外は、同じ手順ですのでこの章と合わせてご覧ください。

 ログイン
作業を行うため並列コンピュータにログインします。リモート接続は、ssh コマンドまたは SSH 対応リモート接続ソフト1をご利用ください。
並列コンピュータの OS は Linux です。公開鍵暗号方式による認証のみ利用できます2。アカウント希望の場
合は、共同利用支援係に利用申請し利用者番号と初期パスワードを発行してもらいます。
並列コンピュータへの初回ログイン時には公開鍵と秘密鍵のペアを作成する必要があります。鍵ペアの作成
方法については本誌 105 ページの「SSH アクセス認証鍵生成サーバの利用方法」をご参照ください。
なお、他人名義の利用者番号でのシステム利用は禁止します。パスワード、秘密鍵、パスフレーズの使い回し
は、不正アクセスのリスク（不正ログイン、クライアントのなりすまし、暗号化された通信の暴露、他サーバへの攻撃等）が非常に高く、大変危険です。利用者登録を行うことによる年間維持費等は発生しませんので、利用される方はそれぞれで利用申請をお願いいたします。

並列コンピュータホスト名
front.cc.tohoku.ac.jp

リスト 1. ssh コマンドによる接続例
localhost$ ssh -i ~/.ssh/id_rsa 利用者番号@front.cc.tohoku.ac.jp
Enter passphrase for key '/home/localname/.ssh/id_rsa':パスフレーズを入力（初回接続時のメッセージ） : yes を入力
Front1$ （コマンド待ち状態）

暗号鍵は複数の端末や他人と共有してはいけません。また、メールに暗号鍵を添付したり USB メモリにコピーしたりすると不正アクセスのリスクとなります。並列コンピュータにログインする端末を追加する場合は、その端末で新規に鍵ペアを作成し、authorized_keys に追加登録してください。

 ログイン端末の追加方法
ログインする端末を追加する場合は、追加する端末で鍵ペアの作成を行います。必ずパスフレーズの設定を行って鍵を作成して下さい。作成した公開鍵を並列コンピュータにログイン出来る端末に転送します。公開鍵ですので転送方法はメール本文に記載しても構いません。
作成した公開鍵の内容を利用者のホームディレクトリのファイル（~/.ssh/authorized_keys）に追記します。接続元が Linux、OS X の場合の鍵の作成方法をリスト 2 に示します。

1
2

Windows であれば、TeraTerm 等のフリーソフトが利用できます。
パスワード認証方式は 2015 年 4 月 13 日で廃止しました。

— 31 —

並列コンピュータ LX 406Re-2 の利用法

リスト 2. 公開鍵と秘密鍵の作成方法【利用する端末で鍵ペアを作成】
localhost $ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/localname/.ssh/id_rsa):（ファイル名を指定）
Enter passphrase (empty for no passphrase):（必ずパスフレーズを設定）
Enter same passphrase again:（同じパスフレーズを入力）
指定した場所（/home/localname/.ssh）に鍵ペア（暗号鍵：id_rsa

公開鍵：id_rsa.pub）が生成される【作成した公開鍵を既に並列コンピュータにログイン出来る端末に転送】【作成した公開鍵を並列コンピュータに転送】
localhost $ scp /home/localname/.ssh/id_rsa.pub 利用者番号@front.cc.tohoku.ac.jp:~（パスフレーズを入力）【公開鍵を追記登録】
front1 $ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
front1 $ exit~/.ssh/authorized_keys を削除すると、全ての暗号鍵からのログインが出来なくなります。センターではセキュ
リティインシデントに対する緊急対応として、全ユーザの~/.ssh/authorized_keys を削除する場合があります。

 パスワードの変更
パスワードの変更は passwd コマンドで行います。パスワードの変更方法をリスト 3 に示します。
コマンドを実行すると、フロントエンドサーバ（並列コンピュータ）、可視化サーバ、プリンタサーバ、およびファイ
ル転送サーバのログインパスワードが変更されます。入力したパスワードは表示されません。
リスト 3. パスワードの変更方法
front1 $ passwd
ユーザー 利用者番号 のパスワードを変更。
Enter login(LDAP) password:
新しいパスワード:（現在のパスワードを入力）（新しいパスワードを入力）

新しいパスワードを再入力してください: （新しいパスワードを入力）
LDAP password information changed for 利用者番号
passwd: 全ての認証トークンが正しく更新できました。

 ログインシェルの確認と変更
ログインシェルの確認と変更は fchsh コマンドで行います。ログインシェルの確認方法と変更方法をリスト 4 に示します。

— 32 —

SENAC Vol. 48, No. 2（2015. 4）

ログインシェルの変更が SX-ACE と LX 406Re-2 に反映されるまで 15 分程度かかります。
リスト 4. ログインシェルの確認方法と変更方法
front1 $ fchsh （ログインシェルの確認）
Enter Password: （パスワードを入力）
loginShell: /bin/tcsh（現在のログインシェルが表示される）

front1 $ fchsh /bin/bash （ログインシェルを/bin/bash に変更）
Enter Password: （パスワードを入力）
Changed loginShell to /bin/bash（ログインシェルが変更された） ホームディレクトリ
ホームディレクトリは、プログラムファイル等を置く自分専用のディスク領域です。ディレクトリ名は、/uhome/利用者番号です。利用者番号作成時の容量制限は 1TB です。ファイル容量の追加申請によりディスク領域を増やすことも可能です。ホームディレクトリはスーパーコンピュータシステムと並列コンピュータシステムで共有しています。
/uhome/利用者番号

 プログラミング言語、ライブラリ
プログラミング言語および科学技術計算用ライブラリとして表 1 に示すものが利用できます。

表１. プログラミング言語およびライブラリ
FortranIntel Fortran Composer XE

C/C++Intel C++ Composer XE

MPIIntel MPI ライブラリ

数値演算ライブラリ

NEC NumericFactory, Intel MKL 他

 ファイルエディット
ソースファイルは、並列コンピュータにログインし、emacs エディタまたは vi エディタで作成します。研究室等のパソコンにあるソースファイルを利用するには、front.cc.tohoku.ac.jp の利用者ディレクトリにファイル転送してください。送り元のホストが Windows の場合、転送モードの設定を”ASCII”にすることで適切な改行コードで転送できます。転送手順につきましては、以下の Web ページをご参照ください。
http://www.ss.cc.tohoku.ac.jp/application/setting.html

並列コンピュータ LX 406Re-2 の利用法

— 33 —

 コンパイル
Fortran および C/C++コンパイラの基本的な使用方法です。詳しいオプション等については man コマンド、およびマニュアルをご覧ください。

Fortran プログラムのコンパイル
ifort コマンドでコンパイルします。利用したい機能があれば適当なオプションと、ソースファイル名を指定します。
ソースファイルの拡張子は、自由形式（フリーフォーマット）なら.f90 か.F90、固定形式（７カラム目から記述）な
ら.f か.F を付けます。
 コンパイル【逐次処理】
front1 $ ifort

オプション

ソースファイル名 コンパイル【自動並列化】
front1 $ ifort–Pauto オプション ソースファイル名• OpenMP プログラムなら、-Pauto の箇所を-Popenmp にします。

主なオプション
-parallel-par-report-openmp自動並列化機能を利用する。
自動並列化されたループの行番号を表示する。
OpenMP を利用する。

-openmp-report

OpenMP 指示行により並列化されたループ、領域、セクションの行番号を表示する。

-O0

最適化を無効にする。

-O1

最適化を行うが、コードサイズが増える最適化は行わない。

-O2 または -O

一般的な最適化を行う。（規定値）-O3

高度の最適化（プリフェッチ、スカラリプレスメント、ループ変換等）を行う。

-ip

インライン展開を行う。

-c

コンパイルのみ行う。（リンクはしない）-o

実行可能形式のオブジェクトファイルの名前を指定する。省略時は a.out になる。

-w90

非標準 Fortran 機能に関する警告メッセージを抑止する。

-r8

精度の自動拡張を行う。（倍精度化）-help

オプションの種類と説明を表示する。

— 34 —

SENAC Vol. 48, No. 2（2015. 4）

ソースファイル名
Fortran のソースプログラムファイル名を指定します。複数のファイルを指定するときは、
空白で区切ります。
ソースファイル名には、サフィックス.f90 か.F90（自由形式）、または.f か.F（固定形式）が必要です。

C/C++プログラムのコンパイル
C プログラムを icc コマンドで C++プログラムを、icpc コマンドでコンパイルします。利用したい機能があれば適当なオプションと、ソースファイル名を指定します。
並列化コンパイルは、ここで並列数を意識する必要はありません。実行する時点で希望する並列数を環境変数で指定します。ノード内並列数は自動並列の場合は環境変数 F_RSVTASK で指定し、OpenMP 並列の場
合は環境変数 OMP_NUM_THREADS で指定します。詳細は 5 章で説明します。
 コンパイル【逐次処理】
front1 $ icc

オプション

ソースファイル名

front1 $ icpc

オプション

ソースファイル名 コンパイル【自動並列化】
front1 $ icc –Pauto

オプション

ソースファイル名

front1 $ icpc –Pauto オプション

ソースファイル名• OpenMP プログラムなら、-Pauto の箇所を-Popenmp にします。

主なオプション
-parallel-par-report-openmp自動並列化機能を利用する。
自動並列化されたループの行番号を表示する。
OpenMP を利用する。

-openmp-report

OpenMP 指示行により並列化されたループ、領域、セクションの行番号を表示する。

-O0

最適化を無効にする。

-O1

最適化を行うが、コードサイズが増える最適化は行わない。

-O2 または -O

一般的な最適化を行う。（規定値）-O3

高度の最適化（プリフェッチ、スカラリプレスメント、ループ変換等）を行う。

-ip

インライン展開を行う。

-c

コンパイルのみ行う。（リンクはしない）

-o
-help

実行可能形式のオブジェクトファイルの名前を指定する。省略時は a.out になる。
オプションの種類と説明を表示する。

並列コンピュータ LX 406Re-2 の利用法

— 35 —

ソースファイル名
C/C++のソースプログラムファイル名を指定します。複数のファイルを指定するときは、
空白で区切ります。
ソースファイル名にはサフィックス .c 、C++のソースファイル名にはサフィックス .cc または .C が必要です。

4 章 プログラミング～ MPI 並列処理 ～本章では、MPI による並列化プログラミング手順について紹介します。基本的な手順は前章と同じですので、
コンパイルコマンドの異なる点について紹介します。

 コンパイルを行う
MPI プログラムは、MPI 用コマンド mpiifort、mpiicc、mpiicpc コマンドでコンパイルします。

MPI 並列 Fortran プログラムのコンパイル
MPI 並列の Fortran プログラムは mpiifort コマンドでコンパイルします。利用したい機能があればオプションと、ソースファイル名を指定します。

front1 $ mpiifort

オプション

ソースファイル名• オプションは、ifort コマンドと共通です。man ifort コマンドでご覧ください。

MPI 並列 C/C++プログラムのコンパイル
MPI 並列の C プログラムは mpiicc コマンドで、MPI 並列の C++プログラムは mpiicpc コマンドでコンパイルします。利用したい機能があれば適当なオプションと、ソースファイル名を指定します。

front1 $ mpiicc

オプション

ソースファイル名

front1 $ mpiicpc オプション

ソースファイル名• オプションは、icc コマンド、icpc コマンドと共通です。詳細は man icc コマンド、man icpc コマンドでご確認ください。

5章

バッチリクエスト プログラムの実行
コンパイルして作成された実行形式ファイルを実行するには、以下の２つの処理方法があります。通常はバッ
チ処理を利用します。

— 36 —

SENAC Vol. 48, No. 2（2015. 4）【バッチ処理】
バッチ処理は、実行の手続きをジョブという単位でジョブ管理システムに登録し、一括に処理します。ジョブ管理システムは NQSⅡ(Network Queuing SystemⅡ)を用意しており、ジョブの操作は NQSⅡのコマンドで行います。通常のプログラム（長時間実行するプログラム、並列実行するプログラム等）はバッチ処理で実行します。
【会話型処理】
会話型処理は、コマンドラインでプログラムを実行する形式です。CPU 時間や使用できるメモリサイズに制限がありますので、短時間の演算やデバッグ作業にお使いください。

 バッチ処理プログラムの実行は、NQSⅡのコマンドを用いて操作します。図２は作業の流れを示しています。まず NQSⅡにプログラムの実行を依頼するため、実行の手続きを書いたバッチリクエストを作成します。このバッチリクエスト
を NQSⅡに投入することで、プログラムの実行が可能になります。
バッチリクエストの投入後は、バッチリクエストの状態や、混み具合の確認、また投入済みのバッチリクエストをキャンセルすることも可能です。プログラムの実行が終了するとバッチリクエストは NQSⅡの情報から消え、標準
出力ファイルと標準エラー出力ファイルが出力されます。

図 2. NQSII によるバッチリクエストの流れ【バッチリクエストファイルの作成】
プログラムの実行手続きを、通常のシェルスクリプトと同じ形式で記述します。csh スクリプトと sh スクリプト、どちらでも記述できます（以降、解説は csh スクリプトで記述します）。適当なファイル名を付け作成します。以降ではバッチリクエストファイル名を run.csh とします。
基本的に必要となるのは、実行するマシンとノード数の指定、ホームディレクトリから作業ディレクトリへ移動、プ
ログラムの実行、です。他に環境変数の指定、ファイルの操作コマンド等があれば適切な箇所に手続きを記述します。
並列コンピュータ LX 406Re-2 で実行する場合の利用形態と必須オプションを表 2 に示します。通常の利用の場合、-q の後に lx を指定し、-b の後に利用ノード数または a を指定します。
実行時間の設定は、-l elapstim_req=hh:mm:ss で設定します。通常利用で 1～24 ノードを利用する場合、実行時間制限の規定値でリクエストは自動的に終了します。実行時間が規定値を超えるリクエストは、必ず実行時間を指定してください。実行時間は最大値まで設定が可能です。その他のオプションは表 3 をご参照ください。

— 37 —

並列コンピュータ LX 406Re-2 の利用法

表 2. 並列コンピュータ LX 406Re-2 の利用形態と-q および-b オプション
利用形態

利用ノード数

通常

1～24

ｱﾌﾟﾘｹｰｼｮﾝ

1

実行時間制限（経過時間）
規定値：1 カ月
最大値：1 カ月

メモリサイズ制限-q オプション-b オプション

128GB×ノード数

lx

利用ノード数

128GB

lx

a

なし

表 3. qsub コマンドの主なオプション-q(必須)

計算機名 lx を指定します。

-b(必須)

リクエストを実行するノード数、または a を指定します。

-A

課金先のプロジェクトコードを指定します。指定が無ければデフォルトのプロジェクトコードに課金されます。
リクエスト名を指定します。指定がなければ、リクエストファイル名がリクエスト名になります。
標準出力のファイル名を指定します。指定がなければ、リクエスト投

-N
-o

-e

-jo
-l elaptim_req=hh:mm:ss

入時のディレクトリに「リクエスト名.o リクエスト ID」のファイル名で出力されます。
標準エラー出力のファイル名を指定します。指定がなければ、リクエ
スト投入時のディレクトリに「リクエスト名.e リクエスト ID」のファイル名
で出力されます。
標準エラー出力を標準出力と同じファイルへ出力します。

-m b

最大経過時間を指定します。設定時間は、時：分：秒を hh:mm:ss の形式で指定します。
リクエストの処理が開始したときにメールが送られます。

-m c

リクエストの処理が終了したときにメールが送られます。

-M メールアドレス

メールの送信先を指定します。指定がなければ、「利用者番号@front.cc.tohoku.ac.jp」宛に送られます。

• その他オプションの詳細は、man qsub コマンドでご覧ください。

 逐次プログラム、自動並列/OpenMP 並列の場合
リスト 5 は逐次プログラムを実行する場合のバッチリクエストファイルの一例です。ホームディレクトリ直下 work
ディレクトリの a.out を実行する手続きを記述しています。

リスト 5. バッチリクエストファイル例# test job-a

コメント行

cd work#作業ディレクトリへ移動./a.out#実行形式ファイルを指定

— 38 —

SENAC Vol. 48, No. 2（2015. 4）• 1 行目：#以降はコメントです。動作には影響しません。
• 2 行目：cd work で作業ディレクトリ（実行形式ファイルのあるディレクトリ）へ移動します。省略するとホームディ
レクトリを指定したことになります。
• 3 行目： a.out はコンパイルして作成した実行形式ファイル名です。あらかじめコンパイルし作成しておきます。
自動並列や OpenMP による並列処理も同じ形式で指定します。

 作業ディレクトリの指定
NQSⅡ用の環境変数のひとつに PBS_O_WORKDIR 変数があります。この変数には、qsub コマンドを実行した時点のカレントディレクトリが設定されます（リスト 6）。つまり、work ディレクトリでこのバッチリクエストを投入する(qsub を実行する)と、$PBS_O_WORKDIR にはカレントディレクトリの work が設定され cd work と同じことになります。PBS_O_WORKDIR 変数を設定することで、ディレクトリの具体名を記述する必要がなくなります。

リスト 6. バッチリクエストファイル（環境変数 PBS_O_WORKDIR の指定）
# test job-a1

コメント行

cd $PBS_O_WORKDIR#作業ディレクトリを環境変数で指定./a.out#実行形式ファイルを指定

 実行時のデータファイル指定
Fortran プログラムで入出力ファイルを割り当てる環境変数 FORTn です。n が 1～9 の場合には 0 をつけず
1 桁で指定します（リスト 7）。
正しい指定方法：

setenv FORT2 datafile
リスト 7. バッチリクエストファイル（入出力ファイルの指定例）# test job-b

コメント行

setenv FORT1 datafile#装置番号 1 に、ファイル datafile を割り当てる

cd $PBS_O_WORKDIR#作業ディレクトリを環境変数で指定./a.out < infile > outfile#標準入出力ファイルはリダイレクションでも可能 qsub コマンドオプションの埋め込み
qsub コマンドに毎回オプションを入力することもできますが、手間を省くためバッチリクエストファイルに指定しておくこともできます。
指定方法は、最初のコマンドより前の行に、#PBS という文字列を先頭に指定します。#PBS の後に空白を一文字以上入れ、指定したいオプションを続けます。一行に複数のオプション指定も可能です。
リスト 8 の例は、2 行目で実行計算機に lx を指定(-q lx)、利用ノード数 6 を指定(-b 6)、3 行目で標準エラー
出力を標準出力ファイルにひとまとめにし(-jo)、4 行目でリクエスト名を test04 とする(-N test04)を、それぞれ指定しています。
埋め込みオプションとコマンド列に同じオプションを指定した場合は、コマンド列の方が優先されます。

— 39 —

並列コンピュータ LX 406Re-2 の利用法

リスト 8. run.csh バッチリクエストファイル（オプションの埋め込み）# test job-a2#PBS –q lx –b 6

#実行マシンとノード数を指定#PBS –jo#標準エラー出力を標準出力と同じファイルへ出力#PBS –jo –N test04#リクエスト名を test04 にする

cd $PBS_O_WORKDIR#作業ディレクトリを環境変数で指定./a.out• 【バッチリクエストの投入】プログラムの実行は、作成したバッチリクエストファイルを NQSⅡに投入することで行います。
front1 $ qsub オプション

バッチリクエストファイル名

リクエストが正常に投入されると、システムからのメッセージが返ります（リスト 9）。1234.job1 がリクエスト ID
で、リクエストの状況確認やキャンセル等、リクエストの操作の際に指定が必要になります。

リスト 9. qsub コマンドの実行例
front1$ qsub run.csh
Request 1234.job1 submitted to queue: lx6.

フラット MPI プログラムの実行（MPI のみの並列）
MPI プログラムは、mpirun コマンドを使用して実行します。バッチリクエストファイルに mpirun コマンドとオプ
ションを記述します（リスト 10）。
-ppn オプションに 1 ノードあたりのプロセス数を指定します。-np オプションに合計プロセス数を指定します。
-ppn オプションは-np オプションよりも前で指定する必要があります。
表 4. mpirun コマンドのオプション（必須）

オプション

引数

-ppn

1 ノードあたりのプロセス数-np

合計プロセス数を指定

リスト 10. フラット MPI プログラム用バッチリクエストファイル例（MPI 並列数 144 で実行する場合）# test job-a#PBS –q lx –b 6

#実行マシンとノード数を指定

cd $PBS_O_WORKDIR#作業ディレクトリを環境変数で指定

mpirun –ppn 24 –np 144 ./a.out#MPI プログラムの実行

— 40 —

SENAC Vol. 48, No. 2（2015. 4）

ハイブリッド並列プログラムの実行（MPI と自動並列/OpenMP を組み合わせた並列）
ハイブリッド並列プログラム実行時の並列数は「プログラム並列数＝MPI 並列数×SMP 並列（自動並列/OpenMP）」になります。MPI プログラムの並列数は mpirun コマンドの -ppn オプションと -np オプションで制御し、自動並列/OpenMP 並列数は OMP_NUM_THREADS 環境変数で制御します（リスト 11）。
表 5. ノード内並列数を指定する環境変数

並列方法
自動並列（-Pauto）

環境変数

Fortran プログラムの場合

F_RSVTASK

C/C++プログラムの場合

C_RSVTASKOpenMP 並列（-Popenmp）

OMP_NUM_THREADS

リスト 11. ハイブリッド並列プログラム用バッチリクエストファイル例（MPI 並列数 6、自動並列数/OpenMP 並列数 24 の 144 並列で実行する場合）# test job-a#PBS –q lx –b 6

#埋め込みオプション

setenv OMP_NUM_THREADS 24#自動並列/Open MP での並列数

cd $PBS_O_WORKDIR#作業ディレクトリを環境変数で指定

mpirun –ppn 1 –np 6 ./a.out#MPI プログラムの実行 バッチリクエストの状態確認
 reqstat コマンド
reqstat コマンドは、投入されたリクエストの状態を表示します（リスト 12）。状態は STATE 項目に表示されます（表 7）。リクエストはジョブサーバ（job1 または job2）毎に出力されます。
リソースに空きがなければ実行待ち状態になり、順番が回ってくると自動的に実行状態に入ります。システム内に自分のリクエストが存在しない場合は、「No request.」と表示されます（リスト 13）。

リスト 12. reqstat コマンド例
front1$ reqstat
statistics sampled at 2015/02/20 19:18:01 in job1.
REQUEST ID

USER

GROUP

QUEUE

T NODE ELAPS

STATE

TIMES

REQUEST NAME--------------- -------- -------- -------- - ---- --------- ----------- ----------------- --------------2512.job1

利用者番号 users

lx6

S

6

1:00:00 running

15/02/20 12:00:00 test022513.job1

利用者番号 users

lx6

S

1

1:00:00 queued

15/02/20 18:55:00 test04

— 41 —

並列コンピュータ LX 406Re-2 の利用法

表 6. reqstat コマンドの主な表示項目
項目名

内容

RequestID

リクエスト ID

USER

利用者番号

GROUP

利用者の所属グループ

QUEUE

キュー名

T

リクエストタイプ（通常は S）

NODE

利用ノード数

ELAPS

経過時間制限STATE

リクエストのステータス

TIMES

ステータスが変化した日時

REQUEST NAME

-N で指定したリクエスト名もしくはバッチリクエストファイル名

表 7. STATE 項目の主な表示とリクエスト状態
表示

リクエスト状態

wait

実行ノードの決定待ち

queued

実行ノードが決まり、実行順待ち

running

実行中

リスト 13. 投入したリクエストがない場合
front1 $ reqstat
No request.

 sstat コマンド
sstat コマンドは投入されたリクエストの実行開始予定時刻を表示します（リスト 14）。ただし、マップスケジュー
ル機能が有効な場合のみです。エスカレーション機能により、予定実行開始時刻が他の待ちリクエストより早まる
ことがあります。-l elapstim_req オプションで指定した時間が短いほど、待ちリクエストの隙間にリクエストの実行が割り当てられる可能性が大きくなりますので、必要十分な実行時間を指定することをお勧めいたします。

リスト 14. sstat コマンド例
front1 $ sstat
RequestID

ReqNameUserName QueuePri STT PlannedStartTime--------------- -------- -------- -------- ----------------- --- ------------------2512.job1

test03

利用者番号 lx6

0.5002/0.5002 RUN Already Running...

2513.job1

test04

利用者番号 lx6

0.5002/0.5002 ASG 2015-02-20 19:22:20

— 42 —

SENAC Vol. 48, No. 2（2015. 4）

表 8. sstat コマンドの表示項目
項目名

内容

RequestID

リクエスト ID

ReqName-N で指定したリクエスト名

UserName

利用者番号

QUEUE

キュー名

Pri

優先度

STT

リクエストのステータス

PlannedStartTime

予定実行開始時刻

 バッチリクエストのキャンセル
投入したリクエストの削除、または実行中のリクエストを停止する場合は、qdel コマンドにリクエスト ID を指定します（リスト 15）。リクエスト投入時、または reqstat コマンドで表示されるリクエスト ID をジョブサーバ名まで指定
してください。
リスト 15. qdel コマンド例
front1 $ qdel 1234.job1
Request 1234.job1 was deleted.

 会話型処理
会話型処理は、短時間の演算やデバッグ作業に使用します。一般的な UNIX を利用する手順と同様で、コマンドラインから実行形式ファイル名を入力し実行する形式です（リスト 16）。表 9 は会話型処理の制限値です。
時間制限は CPU 時間の合計ですので、並列実行した場合はそれぞれの CPU 時間の合計値となり、1 時間経
過する前にジョブが終了します。
リスト 16. 会話型処理の例（a.out を実行する）
yourhost$ ssh front.cc.tohoku.ac.jp –l 利用者番号

front にログインする：
front1$ a.out（プログラム実行中）
front1$（実行終了）

表 9. 会話型処理の制限値
利用ノード数 (最大並列数)

時間制限
[時間]

最大メモリ
[GB]

1(6)

1 時間（CPU 時間合計）

8

— 43 —

並列コンピュータ LX 406Re-2 の利用法

6章

ライブラリ

以下のライブラリを使用することができます。

Fortran,C/C++ 用
数値計算ライブラリ集

NEC NumericFactory

数値演算ライブラリ

Intel MKL

画像処理ライブラリ

Intel IPP

マルチスレッドライブラリ

Intel TBB

 数値計算ライブラリ集

NEC NumericFactory【機能概要】
NumericFactory は、NEC が独自に開発している数値計算ライブラリと、数値シミュレーションプログラムで頻繁 に 利 用 さ れ る OSS （ Open Source Software ） に よ り 、 多 彩 な 数 値 計 算 ア ル ゴ リ ズ ム を 提 供 し ま す 。
NumericFactory の使用により、プログラム開発の時間を短縮でき、高品質なプログラムを開発することが出来ます（表 10）。
NumericFactory は、全 12 種類のライブラリで構成されています。ライブラリにより、使用できる言語が異なります（表 11）。また、並列化された機能を含むものと含まないものがあります。OpenMP 並列の機能がないライブラ
リでも、下位で使用する Intel MKL が並列化されている場合、マルチスレッドで動作することがあります。
OpenMP 並列、または、MPI 並列機能がないライブラリでも、OpenMP/MPI プログラムから利用することは可能です。
表 10. NumericFactory の機能概要
ライブラリ名ASLASLSTAT

機能概要
行列積、疎行列用連立 1 次方程式（直接法／反復法）、固有値方程式、FFT、乱数、
特殊関数、近似・補間、スプライン、微分方程式、数値微積分、方程式の根、数理計画法、ソート・順位付け
乱数、基礎統計量、推定・検定、分散分析・実験計画、多変量解析、フーリエ解析、回帰分析

ASLQUAD

四倍精度演算機能（基本演算、連立 1 次方程式、固有値方程式、特殊関数）

SFMT

メルセンヌツイスター擬似乱数生成（整数）dSFMT

メルセンヌツイスター擬似乱数生成（実数）SuperLU

疎行列用連立 1 次方程式（直接法）

MUMPS

疎行列用連立 1 次方程式（直接法）

Lis

疎行列用連立 1 次方程式、疎行列用固有値方程式（反復法）

ARPACK

大規模固有値問題

PARPACK

大規模固有値問題（MPI 版）

XBLAS

精度拡張／精度混合行列積

METIS

行列、グラフ並べ替え、グラフ分割

— 44 —

SENAC Vol. 48, No. 2（2015. 4）

表 11. NumericFactory のライブラリと利用可能言語
ライブラリ名

Fortran から利用

C から利用OpenMP
並列機能

MPI
並列機能

ASL

◯

◯

◯

×

ASLSTAT

◯

◯

×

×

ASLQUAD◯×（C++可）

◯

×

SFMT

×

◯

×

×

dSFMT

×

◯

×

×

SuperLU

×

◯

×

×

MUMPS

◯

◯

×

◯

Lis

◯

◯

◯

◯

ARPACK◯

×××

PARPACK

◯

×

×

◯

XBLAS

◯

◯

×

×

METIS

◯

◯

×

×

【ライブラリのリンク方法】
 逐次版/OpenMP 版プログラムの場合
各ライブラリのリンクには、ifort、icc コマンドを使用します。利用するプログラム言語に応じて、リスト 17、18 のようにリンクしてください。リンクオプションは使用するライブラリと言語に応じて指定します（表 12、表 13）。
さらに今回から、MKL のリンクオプションが，以下のように簡潔に指定することもできるようになりました。
-lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -pthread↓-mkl=sequential
詳細は、man コマンドでご覧ください。
NumericFactory でサポートしているライブラリを使用する場合、ライブラリによってはユーザプログラム側でモ
ジュールファイルやヘッダファイルをインクルードする必要があります（表 14）。
Fortran から ASL または ASLSTAT の 64 ビット整数に対応したライブラリを利用する場合、コンパイル時に必ずオプション"-i8"を付けてコンパイルしてください。このオプションは、integer 型を 64 ビット整数と翻訳する
Intel コンパイラのオプションです。

リスト 17．Fortran の場合（逐次版/OpenMP 版）[front1 ~]$ ifort source.f90 <リンクオプション>

リスト 18．C の場合（逐次版/OpenMP 版）[front1 ~]$ icc source.c <リンクオプション>

— 45 —

並列コンピュータ LX 406Re-2 の利用法

表 12. NumericFactory のリンクオプション （逐次版/OpenMP 版 Fortran プログラムから利用する場合）
ライブラリ名
32bit整数/逐次版
64bit整数/逐次版
ASL
32bit整数/OpenMP版
64bit整数/OpenMP版
32bit整数版
ASLSTAT
64bit整数版
ASLQUAD

32bit整数/逐次版
32bit整数/OpenMP版

Lis

逐次版
OpenMP版

リンクオプション-lasl -mkl=sequential-lasl64 -mkl=sequential-lasl -mkl=parallel-lasl64 -mkl=parallel-laslstat -mkl=sequential-laslstat64 -mkl=sequential-laslquad-laslquad-llis_seq

ARPACK-llis_omp-larpack -mkl=sequential

XBLAS
METIS

-lxblas-lmetis表 13. NumericFactory のリンクオプション （逐次版/OpenMP 版 C プログラムから利用する場合）
ライブラリ名
32bit整数/逐次版
64bit整数/逐次版
ASL
32bit整数/OpenMP版
64bit整数/OpenMP版
32bit整数版
ASLSTAT
64bit整数版
ASLQUAD

32bit整数/逐次版
32bit整数/OpenMP版

dSFMT
SFMT
SuperLU

リンクオプション-laslcint -lasl -mkl=sequential-lifcore -limf-laslcint64 -lasl64 -mkl=sequential-lifcore -limf Iilp64-laslcint -lasl -mkl=parallel-laslcint64 -lasl64 -mkl=parallel-laslstatc -laslstat-mkl=sequential-lifcore -limf-laslstatc64 -laslstat64-mkl=sequential -lifcore -limf -Iilp64-laslquadc++ -laslquad -lifcore -limf-laslquadc++ -laslquad -lifcore -limf-ldsfmt-lsfmt-lsuperlu -mkl=sequential

XBLAS-llis_seq-llis_omp-lxblas

METIS-lmetis

Lis

逐次版
OpenMP版

— 46 —

SENAC Vol. 48, No. 2（2015. 4）

表 14. モジュール/ヘッダファイル（逐次版/OpenMP 版）
ライブラリ名

使用する言語モジュール/ヘッダファイル

Fortran

不要

C

asl.h

Fortran不要

C

aslstat.h

Fortranaslquad.modC++aslquad.h

dSFMT

C

dSFMT.h

SFMT

C

SFMT.hASL
ASLSTATASLQUADslu_sdefs.h (単精度実数版）
SuperLU

slu_ddefs.h (倍精度実数版)

C

slu_cdefs.h (単精度複素数版)
slu_zdefs.h (倍精度複素数版)

Lis
ARPACK
XBLAS
METIS

Fortranlisf.hC

lis.hFortran不要

Fortran不要

C

blas_extended.hCmetis.h MPI 版プログラムの場合
各ライブラリのリンクには、mpiifort、mpiicc コマンドを使用します。利用するプログラム言語に応じて、リスト
19、20 のようにリンクしてください。リンクオプションは使用するライブラリと言語に応じて指定します（表 15、表16）。
NumericFactory でサポートしているライブラリを使用する場合、ライブラリによってはユーザプログラム側でモ
ジュールファイルやヘッダファイルをインクルードする必要があります（表 17）。
Fortran から ASL または ASLSTAT の 64 ビット整数に対応したライブラリ利用する場合、コンパイル時に必ずオプション"-i8"を付けてコンパイルしてください。このオプションは、integer 型を 64 ビット整数と翻訳する
Intel コンパイラのオプションです。

リスト 19．Fortran の場合（MPI 版）[front1 ~]$ mpiifort source.f90<リンクオプション>

リスト 20．C の場合（MPI 版）[front1 ~]$ mpiicc source.c<リンクオプション>

— 47 —

並列コンピュータ LX 406Re-2 の利用法

表 15. NumericFactory のリンクオプション （MPI 版 Fortran プログラムから利用する場合）
ライブラリ名
32bit整数/逐次版
64bit整数/逐次版
ASL
32bit整数/OpenMP版
64bit整数/OpenMP版
32bit整数版
ASLSTAT
64bit整数版
ASLQUAD-lasl64 -mkl=sequential-lasl -mkl=parallel-lasl64 -mkl=parallel-laslstat -mkl=sequential-laslstat64 -mkl=sequential-laslquad

32bit整数/OpenMP版-laslquad

倍精度実数版
MUMPS
単精度複素数版

倍精度複素数版

逐次版
OpenMP版
MPI版
MPI版+OpenMP版

ARPACK
MPI版
PARPACKBLACS版
XBLAS
METIS-lasl -mkl=sequential

32bit整数/逐次版

単精度実数版

Lis

リンクオプション-lsmumps -lmumps_common -lpord -lmetis-lmkl_scalapack_lp64-lmkl_blacs_intelmpi_lp64-mkl=sequential-ldmumps -lmumps_common -lpord -lmetis-lmkl_scalapack_lp64-lmkl_blacs_intelmpi_lp64-mkl=sequential-lcmumps -lmumps_common -lpord -lmetis-lmkl_scalapack_lp64-lmkl_blacs_intelmpi_lp64-mkl=sequential-lzmumps -lmumps_common -lpord -lmetis-lmkl_scalapack_lp64-lmkl_blacs_intelmpi_lp64-mkl=sequential-llis_seq-llis_omp-llis_mpi-llis_omp_mpi-larpack -mkl=sequential-lparpack -larpack -mkl=sequential-lparpack-blacs -larpack-lmkl_blacs_intelmpi_lp64-mkl=sequential-lxblas-lmetis— 48 —

SENAC Vol. 48, No. 2（2015. 4）

表 16. NumericFactory のリンクオプション （MPI 版 C プログラムから利用する場合）
ライブラリ名
32bit整数/逐次版
64bit整数/逐次版
ASL
32bit整数/OpenMP版
64bit整数/OpenMP版
32bit整数版
ASLSTAT
64bit整数版
ASLQUAD

32bit整数/逐次版
32bit整数/OpenMP版

dSFMT
SFMT
SuperLU

リンクオプション-laslcint -lasl -mkl=sequential-lifcore -limf-laslcint64 -lasl64 -mkl=sequential-lifcore -limf -Iilp64-laslcint -lasl -mkl=parallel-laslcint64 -lasl64 -mkl=parallel-laslstatc -laslstat-mkl=sequential -lifcore -limf-laslstatc64 -laslstat64-mkl=sequential -lifcore -limf -Iilp64-laslquadc++ -laslquad -lifcore -limf-laslquadc++ -laslquad -lifcore -limf-ldsfmt-lsfmt-lsuperlu -mkl=sequential-lsmumps -lmumps_common -lpord -lmetis

単精度実数版

倍精度実数版
MUMPS

単精度複素数版

倍精度複素数版

Lis
XBLAS
METIS

逐次版
OpenMP版
MPI版
MPI版+OpenMP版-lmkl_scalapack_lp64-lmkl_blacs_intelmpi_lp64-mkl=sequential-lifcore -limf-ldmumps -lmumps_common -lpord -lmetis-lmkl_scalapack_lp64-lmkl_blacs_intelmpi_lp64-mkl=sequential-lifcore -limf-lcmumps -lmumps_common -lpord -lmetis-lmkl_scalapack_lp64-lmkl_blacs_intelmpi_lp64-mkl=sequential-lifcore -limf-lzmumps -lmumps_common -lpord -lmetis-lmkl_scalapack_lp64-lmkl_blacs_intelmpi_lp64-mkl=sequential-lifcore -limf-llis_seq-llis_omp-llis_mpi-llis_omp_mpi-lxblas-lmetis— 49 —

並列コンピュータ LX 406Re-2 の利用法

表 17. モジュール/ヘッダファイル（MPI 版）
ライブラリ名

使用する言語モジュール/ヘッダファイル

Fortran

不要

C

asl.h

Fortran不要

C

aslstat.h

Fortranaslquad.modC++aslquad.h

dSFMT

C

dSFMT.h

SFMT

C

SFMT.hASL
ASLSTATASLQUADslu_sdefs.h (単精度実数版）
SuperLUC

slu_ddefs.h (倍精度実数版)
slu_cdefs.h (単精度複素数版)
slu_zdefs.h (倍精度複素数版)
smumps_struc.h (単精度実数版)

Fortrandmumps_struc.h (倍精度実数版)
cmumps_struc.h (単精度複素数版)
zmumps_struc.h (倍精度複素数版)

MUMPS

smumps_c.h (単精度実数版)
C

dmumps_c.h (倍精度実数版)
cmumps_c.h (単精度複素数版)
zmumps_c.h (倍精度複素数版)

Fortranlisf.hC

lis.h

ARPACK

Fortran

不要

PARPACK

C

不要

Fortran不要

C

blas_extended.hCmetis.h

Lis

XBLAS
METIS

— 50 —

SENAC Vol. 48, No. 2（2015. 4）

 Intel 製ライブラリ【機能概要】
表 18 で示したライブラリが利用可能です。
表 18. Intel 製ライブラリの機能概要
ライブラリ名
数値演算ライブラリ MKL(Math Kernel Library)
画像処理ライブラリ IPP(Integrated Performance Primitives)
マルチスレッドライブラリ TBB(Threading Building Blocks)

機能概要
工学、科学、金融向けの数値演算関数を提供する。最適化とマル
チスレッド化されたライブラリです。
マルチメディア、データ処理、通信／信号処理などのアプリケーショ
ンを作成するための、最適化された基関数から構成されるライブラリです。
アプリケーションをマルチスレッド化する場合に最適な C++テンプレ
ート・ライブラリです。

【ライブラリのリンク方法】
 MKL
以下の Intel Math Kernel Libraly リンクアドバイザーをご利用ください。Select Intel Product では Intel MKL
11.1 を選択してください。
http://software.intel.com/en-us/articles/intel-mkl-link-line-advisor
 IPP, TBB
各ライブラリのマニュアルをご覧ください。

 マニュアル NEC NumericFactory
ライブラリのマニュアルを並列コンピュータ上で提供しています。front.cc.tohoku.ac.jp にログインし、以下のディレクトリから閲覧してください。

/usr/ap/NFMAN200

 Intel コンパイラ、Intel 製ライブラリ
コンパイラと各ライブラリのマニュアルを並列コンピュータ上で提供しています。front.cc.tohoku.ac.jp にログイ
ンし、以下のディレクトリから閲覧してください。

/opt/intel/composerxe/Documentation

— 51 —

並列コンピュータ LX 406Re-2 の利用法

7 章 プログラムについての補足
 プログラムの使用メモリサイズ
プログラムを実行した際、使用するメモリサイズをバイト単位で表示します（リスト 21）。あらかじめ、必要とするメ
モリサイズが判断できます。なお、allocate 等で動的に確保するメモリサイズは含まれません。

【形式】

size 実行形式ファイル名
リスト 21. 使用メモリサイズの表示

front1$ size a.out
1046912 + 140272 + 418928 = 1606112

1,606,112 バイト使用します バイナリファイルの扱い(Fortran の場合)センター以外のマシンで作成したバイナリファイルを扱う場合、注意が必要です。センターでは、並列コンピュータ LX 406Re-2 のエンディアン仕様は Big-Endian に設定しています。Little-Endian のバイナリファイルを扱う場合は、環境変数 F_UFMTENDIAN の設定をクリアします。設定はホームディレクトリの.chsrc やバッチリクエ
ストファイルに記述します。
Little-Endian 仕様のファイルを扱う設定（csh 形式）【形式】

unsetenv F_UFMTENDIAN

 メモリ使用量が 2GB を越える配列を扱う方法
コンパイルオプションに"-mcmodel=medium"または"-mcmodel=large"の指定とともに"-shared-intel"を指定してください。
• -mcmodel=medium

コードは IP 相対アドレス指定、データは絶対アドレス指定でアクセスされます• mcmodel=large

コードもデータも絶対アドレス指定でアクセスされます

メモリ使用量が 2GB を越える配列を扱う場合のコンパイル方法【形式】

ifort -mcmodel=large -shared-intel

オプション ソースファイル名

— 52 —

SENAC Vol. 48, No. 2（2015. 4）

 アプリケーションプログラム
表 19 は、センターでサービスを行うアプリケーションプログラム一覧です。それぞれの詳しい利用方法は、以下の Web ページまたは本誌 85 ページの「アプリケーションサービスの紹介」をご参照ください。
http://www.ss.cc.tohoku.ac.jp/application/index.html

表 19. アプリケーションソフトウェアとサービスホスト
アプリケーションソフトウェア
分子軌道計算ソフトウェア

Gaussian

反応経路自動探索プログラム

GRRM11

統合型数値計算ソフトウェア

Mathematica

汎用構造解析プログラム

Marc/Mentat

対話型解析ソフトウェア

MATLAB

8章

サービスホスト

front.cc.tohoku.ac.jp

利用負担金

 利用負担金について利用負担金は、演算負担経費、ファイル負担経費、出力負担経費、可視化負担経費の 4 つがあります（表20、表 21）。スーパーコンピュータと並列コンピュータを利用すると、演算負担経費が発生します。
共有利用は利用するノード数と経過時間によって負担額が決定し、計算資源を利用者間で共有利用する利用形態です。
また、占有利用は計算資源を待ち時間なく占有して利用することができ、申請する利用期間によって負担額が決定する利用形態です。
請求書は四半期（3 ヶ月）ごとに、利用者を取りまとめている支払い責任者に発行します。最新の情報は以下の Web サイトをご覧ください。

http://www.ss.cc.tohoku.ac.jp/utilize/academic.html （学術利用）
http://www.ss.cc.tohoku.ac.jp/utilize/business.html （民間期間利用）

— 53 —

並列コンピュータ LX 406Re-2 の利用法

表 20. 基本利用負担金（大学・学術利用）
区 分

項 目

利用
形態

負 担 額
利用ノード数 1(実行数、実行時間の制限有)利用ノード数 1～32 まで

経過時間 1 秒につき無料(備考２)
共有

利用ノード数 33～256 まで
利用ノード数 257 以上

スーパー
コンピュータ

利用ノード数 32
占有

演 算
負担経費

利用ノード数 64
利用ノード数 128

共有
並列コンピュータ0.06 円
経過時間 1 秒につき(利用ノード数-32)×0.002 円+0.06 円
経過時間 1 秒につき(利用ノード数-256)×0.0016 円+0.508 円

利用期間 3 ヶ月につき400,000 円

利用期間 6 ヶ月につき720,000 円

利用期間 3 ヶ月につき720,000 円

利用期間 6 ヶ月につき1,300,000 円

利用期間 3 ヶ月につき1,300,000 円

利用期間 6 ヶ月につき2,340,000 円

利用ノード数 1～6 まで

経過時間 1 秒につき0.04 円

利用ノード数 7～12 まで

経過時間 1 秒につき0.07 円

利用ノード数 13～18 まで

経過時間 1 秒につき0.1 円

利用ノード数 19～24 まで

経過時間 1 秒につき0.13 円

利用ノード数 1

利用期間 3 ヶ月につき160,000 円(可視化システムの 20 時間無料利用を含む)
利用期間 6 ヶ月につき320,000 円(可視化システムの 40 時間無料利用を含む)

占有ファイル
1TB まで無料、追加容量 1TB につき年額
負担経費
大判プリンタによるカラープリント
出力
負担経費
可視化
機器室利用 1 時間の利用につき負担経費

3,000 円
フォト光沢用紙 1 枚につきクロス 1 枚につき600 円
1,200 円
2,500 円21. 基本利用負担金（民間機関利用）
区 分

項 目

利用
形態

負 担 額
利用ノード数 1(実行数、実行時間の制限有)
無料(備考２)

利用ノード数 1～32 まで
演 算
負担経費

スーパー
コンピュータ共有

経過時間 1 秒につき
0.18 円

利用ノード数 33～256 まで

経過時間 1 秒につき(利用ノード数-32)×0.006 円+0.18 円

利用ノード数 257 以上

経過時間 1 秒につき(利用ノード数-256)×0.0048 円+1.524 円

— 54 —

SENAC Vol. 48, No. 2（2015. 4）

利用ノード数 32
占有

利用ノード数 64
利用ノード数 128

共有
並列コンピュータ

利用期間 3 ヶ月につき1,200,000 円

利用期間 6 ヶ月につき2,160,000 円

利用期間 3 ヶ月につき2,160,000 円

利用期間 6 ヶ月につき3,900,000 円

利用期間 3 ヶ月につき3,900,000 円

利用期間 6 ヶ月につき7,020,000 円

利用ノード数 1～6 まで

経過時間 1 秒につき0.12 円

利用ノード数 7～12 まで

経過時間 1 秒につき0.21 円

利用ノード数 13～18 まで

経過時間 1 秒につき0.3 円

利用ノード数 19～24 まで

経過時間 1 秒につき0.39 円

利用ノード数 1
占有

利用期間 3 ヶ月につき480,000 円(可視化システムの 20 時間無料利用を含む)
利用期間 6 ヶ月につき960,000 円(可視化システムの 40 時間無料利用を含む)

ファイル
1TB まで無料、追加容量 1TB につき年額
9,000 円
負担経費
出力
大判プリンタによるカラープリント
フォト光沢用紙 1 枚につき1,800 円
負担経費
クロス 1 枚につき3,600 円可視化
機器室利用 1 時間の利用につき7,500 円
負担経費
備考
１ 負担額算定の基礎となる測定数量に端数が出た場合は、切り上げる。
２ 負担額が無料となるのは専用のジョブクラスで実行されたものとし、制限時間を超えた場合には強制終了する。
３ 占有利用期間は年度を超えないものとし、期間中に障害、メンテナンス作業が発生した場合においても、
原則利用期間の延長はしない。また、占有利用期間中のファイル負担経費は 10TB まで無料とする。
４ ファイル負担経費については申請日から当該年度末までの料金とする。

 利用負担金の確認方法
 プロジェクトコードの確認（project コマンド）
利用負担金はプロジェクトコード毎に合算されます。利用可能なプロジェクトコードの確認、デフォルトのプロジェクトコードの設定は project コマンドをご利用ください。プロジェクトコードの名称変更、追加などについては共
同利用支援係までお問い合わせください。
リスト 22. プロジェクトコードの確認
front1 $ project
使用可能なプロジェクトおよびキュー名は次のとおりです

利用者番号：（利用者番号）

— 55 —

並列コンピュータ LX 406Re-2 の利用法-----------------------

使用可能なプロジェクト一覧

プロジェクト名称:

運営費交付金プロジェクトコード:

un0000

使用可能なキュー名:

sx32 sx64 ・・・-----------------------

デフォルトのジョブ実行プロジェクトは un0000 です1.デフォルトプロジェクト変更

9.終了

何番の処理を選びますか ？

 プロジェクト課金情報表示（pkakin コマンド、ukakin コマンド）
コマンドを実行した利用者が利用可能なプロジェクトについて、負担額や請求情報を表示します。負担額は前日の午前 9 時までに終了したリクエストの利用額までが反映されています。

リスト 23. プロジェクトごとの負担額、請求情報の表示
front1 $ pkakin
2 月 20 日 現在の利用負担金は次のとおりです
プロジェクトコード

累計負担額

調整額累計

固定費合計

請求済額

un000015,404000

今期請求予定額(うち請求持越額)
15,404

支払責任者と経理担当者の所属(学校、学部)が異なる場合はセンターに連絡してください
支払費目の指定は各部局の経理担当者(学内の場合)、もしくはセンター会計係(学外の場合)へお伝えください

1.負担金の明細表示

9.終了

何番の処理を選びますか ? 1
出力する年度を入力して下さい ( 1.今年度

2.前年度 ) : 1

開始月を入力してください : 2
終了月を入力してください : 2
出力先を選択してください( 1.画面

2.ファイル ) : 1=========================================================================================
プロジェクト負担金明細情報

2 月 20 日 現在の利用額および負担額は次のとおりです
支払責任者

:

東北

支払責任者番号:

aaaaaa太郎

0— 56 —

SENAC Vol. 48, No. 2（2015. 4）

プロジェクト名称:

運営費交付金プロジェクトコード:

un0000
合計

演算 SX

演算 LX

ファイル

出力

可視化

利用額

15,143

14,635

508

0

0

0

負担額

15,143

14,635

508

0

0

0

---------------------------------------------------------------------------------------------------月別利用額
2月15,143---------------------------------------------------------------------------------------------------利用者別利用額
abc00021

abc001

6::abc02027

abc021

4,895

リスト 24. プロジェクトごとの利用額情報の表示
front1 $ ukakin
利用者番号=（利用者番号）-----------------------

利 用 額

支払責任者

:

東北

支払責任者番号:

aaaaaa-----------------------

太郎

プロジェクト名称:

運営費交付金プロジェクトコード:

un0000

月

演算 SX

演算 LX

ファイル

4

0

0

5

0

6

0

7

出力

可視化

合計

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

8

0

0

0

0

0

0

9

0

0

0

0

0

0

10

0

0

0

0

0

0

11

0

0

0

0

0

0

12

170

10

0

0

0

180

1

546

162

0

0

0

708

2

0

0

0

0

0

0

3

0

0

0

0

0

0

合計

716

172

0

0

0

888

— 57 —

並列コンピュータ LX 406Re-2 の利用法

 ジャーナル（利用明細）の抜粋（ulist コマンド、plist コマンド）
コマンドを実行した利用者のジャーナル情報、プロジェクトごとのジャーナル情報を抜粋して CSV 形式（カンマ区切り）のファイルに出力します。表 22 の項目が出力されます。

リスト 25. 利用者のジャーナル情報を抜粋
front1 $ ulist
出力する年度を入力して下さい ( 1.今年度

2.前年度 ) : 1

開始月を入力してください : 2
終了月を入力してください : 2
出力するファイル名を入力してください ( 省略時：ulist.csv ) :ホスト ID は次のとおりです
20:SX

04:LX

02:front

05:ストレージ

06:プリンタ

08:可視化

リスト 26. プロジェクトのジャーナル情報を抜粋
front1 $ plist
出力する年度を入力して下さい ( 1.今年度

2.前年度 ) : 1

開始月を入力してください : 2
終了月を入力してください : 2
出力するファイル名を入力してください ( 省略時：plist.csv ) :プロジェクトを選択してください

1.(un0000)

運営費交付金何番のプロジェクトを選びますか ? 1
ホスト ID は次のとおりです
20:SX

04:LX

02:front

05:ストレージ

06:プリンタ

08:可視化

表 22. ulist コマンドの出力項目
課金計上年月,ジャーナル連番,利用者番号,支払責任者番号,プロジェクトコード,ホスト ID,クラス ID,キュー名,
投入日時,開始日時,終了日時,経過時間,使用ノード数,ユーザ CPU 時間,最大メモリサイズ,ベクトル時間,
ベクトル演算率,ノード時間（使用量）,利用額

— 58 —

SENAC Vol. 48, No. 2（2015. 4）

 ジャーナルの集計（usum コマンド、psum コマンド）
コマンドを実行した利用者のジャーナル情報、プロジェクトごとのジャーナル情報を集計して表示します。

リスト 27. 利用者のジャーナル情報を集計
front1 $ usum
出力する年度を入力して下さい ( 1.今年度

2.前年度 ) : 1

開始月を入力してください : 2
終了月を入力してください : 2-----------------------

利 用 情 報-----------------------

ホスト ID

経過時間合計

最大メモリサイズ

ノード時間(使用量)合計

abc001un000002

1850:24:22

:

: 0

997

2:14:39

abc001un000020

150:34:21

4141:51:07

59,6494090:20:56

利用者番号

プロジェクトコード

ユーザ CPU 時間合計

ホスト ID は次のとおりです
20:SX

04:LX

02:front

05:ストレージ

06:プリンタ

08:可視化

リスト 28. プロジェクトのジャーナル情報を集計
front1 $ psum
出力する年度を入力して下さい ( 1.今年度

2.前年度 ) : 1

開始月を入力してください : 2
終了月を入力してください : 2
プロジェクトを選択してください

1.(un0000)

運営費交付金何番のプロジェクトを選びますか ? 1-----------------------

利 用 情 報-----------------------

ホスト ID

経過時間合計

un00000214354:22:54

un000004

25:16:44

un000005

un0000un0000

プロジェクトコード

ユーザ CPU 時間合計

:

: 0

06

:

: 0

20

247:49:04

:

04:LX

02:front

05:ストレージ

ノード時間(使用量)合計: 0

33,856

9:51:13

238:45:30

118,672

47:59:41

:

: 0

:

: 0

0

5930:43:04

61,414

ホスト ID は次のとおりです
20:SX

最大メモリサイズ

06:プリンタ

08:可視化

0

:

: 1

:

:15

6711:14:15

— 59 —

並列コンピュータ LX 406Re-2 の利用法

 利用見込み額の設定
プロジェクトコードの請求先が学外の場合は、請求処理の都合上 2 月中旬以降、3 月末までの利用額を見込み金額として設定します。設定した金額は、1 月から 2 月中旬までの利用負担金に合算し、2 月末に請求いたします。見込み金額の設定は mikomi コマンドで行います。
リスト 29. mikomi コマンドの例
front1 $ mikomi
プロジェクトを選択してください
プロジェクトコード : プロジェクト名称
un0000: 運営費交付金支払責任者番号 : 支払責任者氏名

aaaaaa: 東北太郎

プロジェクトコードを入力してください un0000
2 月 1 日 現在の見込み額は次のとおりです
支払責任者

: 東北

太郎

支払責任者番号 : aaaaaa
プロジェクト名称 : 運営費交付金
プロジェクトコード: un0000
見込み額

:

0円

今期請求予定額:

300,000 円

合計請求額(見込み額込) :300,000 円

1.見込み額の指定 2.削除 9.終了
何番の処理を選びますか ? 1
見込み額を入力してください (円) ? 200000
登録してよろしいですか (yes/no) ? yes
2 月 1 日 現在の見込み額は次のとおりです
支払責任者

: 東北

太郎

支払責任者番号 : aaaaaa
プロジェクト名称 : 運営費交付金
プロジェクトコード: un0000
見込み額指定者 : 東北太郎 (利用者番号 変更日: 2 月 1 日)

見込み額

:

200,000 円

今期請求予定額:

500,000 円

合計請求額(見込み額込) :500,000 円

見込み額の指定 2.削除 9.終了
何番の処理を選びますか ?

— 60 —

9章

SENAC Vol. 48, No. 2（2015. 4）運用に関する情報、お問い合わせ 運用に関するお知らせ
大規模科学計算システムのホームページで利用方法やシステムの運用状況について、最新情報をお知らせします。計画停電による運用の停止スケジュールなどについても、こちらでお知らせしております。
URL http://www.ss.cc.tohoku.ac.jp/

 利用申請
利用申請に関する詳細は、以下の Web ページをご覧ください。申請書の提出、お問合せは共同利用支援係
までお願いいたします。
URL http://www.ss.cc.tohoku.ac.jp/utilize/index.html
メールアドレス

uketuke@cc.tohoku.ac.jp

電話番号

022-795-3406

 ストレージの追加手順、申請
ホームディレクトリの追加容量：1TB につき年額 3,000 円です。追加容量の申請は、以下のページより「ストレージ【追加／削減】申請書」をダウンロードして必要事項を記入の上、郵送またはメールでお送りください。

URL http://www.ss.cc.tohoku.ac.jp/utilize/form.html

送付先(共同利用支援係 )住所〒980-8578

宮城県仙台市青葉区荒巻字青葉６番３号

メールアドレス

uketuke@cc.tohoku.ac.jp

東北大学サイバーサイエンスセンターセンター・本館

並列コンピュータ LX 406Re-2 の利用法

— 61 —

利用に関するお問い合わせ システムの利用方法についてのお問合せ
利用相談員が対応いたします。以下のメールアドレスまでお問合せください。
メールアドレスsodan05@cc.tohoku.ac.jp

 利用負担金についてのお問合せ
共同利用支援係までお問い合わせください。
メールアドレス

uketuke@cc.tohoku.ac.jp

電話番号

022-795-6251

 請求書についてのお問合せ
請求書の発送等については会計係までお問い合わせください。
メールアドレス

kaikei@cc.tohoku.ac.jp

電話番号

022-795-3405

10 章

おわりに

ジョブ管理システム NQSⅡを中心に利用方法の解説と、ライブラリの紹介をしました。研究の強力なツールとしてセンターのシステムをご活用いただければ幸いです。ご不明な点、ご質問等ございましたら、お気軽にセン
ターまでお問い合わせください。

— 62 —

SENAC Vol. 48, No. 2（2015. 4）［大規模科学計算システム］

SX-ACE でのプログラミング（並列化編）― 共有並列化と分散並列化 ―林 康晴
日本電気株式会社
SX-ACE は、4 個の CPU コアを備えたノードを、ノード間スイッチ IXS （Inter-node X-bar Switch）により接続したスーパーコンピュータシステムです。SX-ACE のハードウェア性能を一つのプログラムから十分に引き出すには、プログラムの並列化により、複数の CPU コアを有効に活用する必要があります。
SX-ACE は、並列処理環境としてプログラミング言語 Fortran、C、及び C++、並びに 通信ライブラリ MPIを用意しています。本稿は、第 1 章で並列処理の基本事項をご説明した後、第 2 章では SX-ACE の
Fortran 95 コンパイラ FORTRAN90/SX（以後、単にコンパイラと記します）による共有並列化、第 3 章では
SX-ACE の MPI ライブラリ MPI/SX による分散並列化を中心にご紹介します。

1. 並列処理
並列処理とは、一つの仕事を複数の小さな仕事に分割し、それらの仕事を複数同時に実行することです。例えば、2 重ループを四つの仕事に分割し、4 個の CPU コア上で並列実行すると、図 1.1 のようになります。この場合、外側の do j のループの 100 回の繰返しを 4 等分し、各 CPU コア上で並列に実行しています。

integer, parameter :: lx=100,ly=100
real(kind=8) a(0:lx+1,0:ly+1), b(0:lx+1,0:ly+1), k
do j=1,ly
do i=1,lxb(i,j) = a(i,j) + k * (a(i+1,j) – 4.0D0 * a(i,j) + a(i-1,j) + a(i,j+1) + a(i,j-1))
enddo
enddo

CPU コア 0

CPU コア 1

CPU コア 2

do j=1,25
do i=1,lxb(i,j) = a(i,j) …
enddo
enddo

do j=26,50
do j=51,75
do i=1,lx
do i=1,lxb(i,j) = a(i,j) …
b(i,j) = a(i,j) …
enddo
enddo
enddo
enddo
図 1.1 2 重ループの並列処理

CPU コア 3
do j=76,100
do i=1,lxb(i,j) = a(i,j) …
enddo
enddo

1.1 並列化可能な条件
並列実行中、複数の仕事は、一般には実行タイミングの調整（同期）なしで、それぞれ独立に実行されます。そのため、複数の仕事内の各処理の間には、定まった実行順序はなく、一般には実行毎に異なる順序で実行されます。従って、ループが並列実行可能であるためには、ループの繰返しをどのような順序で実行しても実行結果が変わらないことが必要です。例えば、図 1.2 の二つのループ(a)、(b)は、いず
れもループ中で確定される各配列要素 a(i) 及び a(i,1), (i=2,3,…,n) が、各ループ(a)、(b)の全繰返し中でそれぞれ 1 度しか出現しません。そのため、ループの繰返しをどのような順序で実行しても結果は同じ

— 63 —SX-ACE でのプログラミング（並列化編）になるので、並列実行可能です。一方、図 1.3 の(a)、(b)の場合、いずれもループの k 回目の繰返しで値が確定される配列要素 a(k)が、(a)の場合 k+1 回目の繰返しで、(b)の場合 k-1 回目の繰返しでそれぞれ引用されます。そのため、ループの繰返しの実行順序に依存して、確定前の値を引用するか、確定後の値を引用するかが変わってしまい、並列化することはできません。図 1.3 の(c)の場合も、ループの実行終了時に変数 ifound に残る値が、ループの繰返しの実行順序に依存して変わってしまうので、並列化することはできません。このように、ループを並列化するためには、一つの繰返しで確定したデータ要素は、他の繰返しでは確定も引用もしないようにループを記述する必要があります。図 1.3 の(d)のように、ループ外への飛越しを含むループも、ループの繰返しの実行順序に依存して飛越しのタイミングが変わってしまうので、並列化することはできません。
図 1.4 の二つのループ(a)、(b)は、スカラ変数 t，s のそれぞれを各ループの全繰返しで確定するので、
図 1.3 の条件に該当し、一見並列化できないように思えます。しかし(a)の場合、変数 t は、ループの繰返
し毎に新たに確定した値を、その繰返しの中だけで引用しています。そのため、ループ実行後に変数 tの値を引用しないのであれば、仕事毎に作業変数を確保して、並列実行中は、変数 t の代わりにその作業変数を参照すれば並列化可能です。また(b)のように、同一の変数に同一の演算を繰返し適用するパ
ターンは集計計算と呼ばれます。集計計算の場合も、やはり仕事毎に作業変数を確保して、並列実行中
はその作業変数に各仕事の局所的な計算結果を格納し、並列実行終了時に全仕事の値を集計することにより並列化できます。
多重ループの場合、並列化できるかどうかはループ毎に判断します。図 1.5 の内側の do i のループは並列化可能ですが、外側の do j のループは、左辺の a(i,j)と右辺の a(i,j-1)との間に図 1.3(a)と同様の依存関係があるので並列化できません。

integer, parameter :: n=100
real(kind=8), dimension(n) :: a, b
do i=2,na(i) = b(i) + b(i-1)
enddo

integer, parameter :: n=100
real(kind=8), dimension(n,n) :: ado i=2,na(i,1) = a(i,2) + a(i-1,2)
enddo

(a)

(b)

図 1.2

並列化できるループ

integer, parameter :: n=100
real(kind=8), dimension(n) :: ado i=2,na(i) = a(i) + a(i-1)
enddo

integer, parameter :: n=100
real(kind=8), dimension(n) :: ado i=1,n-1a(i) = a(i) + a(i+1)
enddo(a) 依存(b) 逆依存integer, parameter :: n=100
real(kind=8), dimension(n) :: ainteger ifound
do i=1,nif(a(i).ge.0) ifound = i
enddo

integer, parameter :: n=100
real(kind=8), dimension(n) :: ado i=1,nif(a(i).ge.0) goto 100
enddo
100 continue(c) 出力依存(d) 制御依存

図 1.3

並列化できないループ

— 64 —

SENAC Vol. 48, No. 2（2015. 4）

integer, parameter :: n=100
real(kind=8) :: a(n), b(n), t
do i=1,n-1
t = a(i) + a(i+1)b(i) = t
enddo

integer, parameter :: n=100
real(kind=8) :: a(n), s
do i=1,ns = s + a(i)enddo(a) 繰返し内作業変数(b) 集計計算
図 1.4 作業変数の使用により並列化できるループ

integer, parameter :: n=100
real(kind=8), dimension(n,n) :: ado j=2,ndo i=1,na(i,j) = a(i,j-1) + a(i,j)
enddo
enddo
図 1.5 内側のみ並列化できる多重ループ

1.2 並列化の効果
一つのプログラムを N 個の CPU コア上で並列実行した場合、最大 N 倍のスピードアップ（実行時間の短縮）が期待できます。このスピードアップを最大にするには、まず、どれだけ多くの部分を並列化できたか（並列化率）が重要です。これは、図 1.6 のように逐次実行時間の 10 %分の仕事が並列化できない場
合、残りの仕事をどれだけ多くの小さな仕事に分割して並列化しても、スピードアップは 10 倍未満になってしまうことからも分かります。

逐次実行時
並列化できる部分
10%並列化できない部分
並列実行時

実行時間

図 1.6

並列化率とスピードアップ（並列化率 90 %・スピードアップは 10 倍未満）

また、仕事を複数の小さな仕事に分割するための処理や、仕事間のデータのやり取り（通信）及び同期といった逐次実行時には必要なかった処理（オーバヘッド）をできるだけ小さくすることも重要です。これは、図 1.7 のように逐次実行時間の 10 %分のオーバヘッドが並列化により発生すると、スピードアップはや
はり 10 倍未満になってしまうことからも分かります。特に、実行時間（粒度）の小さなループを並列化する
ような場合、オーバヘッドの方が大きすぎ、並列化によりかえって遅くなる場合もあります。オーバヘッドを削減するには、できるだけ外側のループで並列化する、といった方法により、各仕事の粒度をできるだけ— 65 —SX-ACE でのプログラミング（並列化編）

大きくすると効果的です。
逐次実行時
並列化できる部分
10%
オーバヘッド
並列実行時

図 1.7

実行時間
オーバヘッドとスピードアップ（オーバヘッド 10 %・スピードアップは 10 倍未満）

さらに、各仕事の実行時間のバランス（負荷バランス）をできるだけ均等化することも重要です。これは、
図 1.8 のように複数の仕事のうち一つの仕事の実行に逐次実行時の 10 %分の時間がかかってしまったとすると、残りの仕事をどれだけ高速化しても、スピードアップは 10 倍以下になってしまうことからも分かります。
逐次実行時
並列化できる部分
10%

並列実行時

図 1.8

実行時間
負荷バランスとスピードアップ（スピードアップは 10 倍以下）

このように、並列プログラムにおいて高いスピードアップを達成するには、高い並列化率・低いオーバ
ヘッド・均等な負荷バランスの 3 点が重要です。

1.3 経過時間と CPU 時間
並列処理は、一つの仕事を複数の小さな仕事に分割して、複数の CPU コア上で同時に実行すること
により、仕事の実行時間（経過時間）を減らします。一方、全仕事を実行するための全 CPU コアの処理時間の総計（CPU 時間）を減らすことはできません。実際には、一つの仕事を複数の小さな仕事に分割するための処理や仕事間の同期などのオーバヘッドも発生するので、CPU 時間は並列化によりむしろ増加することに注意してください。
1.4 経過時間とチューニング
並列化の主たる目的であるプログラム実行の経過時間短縮のためには、アルゴリズムの工夫、高速な— 66 —

SENAC Vol. 48, No. 2（2015. 4）ライブラリの使用、及びベクトル化の促進などにより、逐次プログラムとしての性能を並列化の前に十分チューニングしておくことが重要です。並列化によるスピードアップは、使用する CPU コアの個数が上限となりますが、逐次プログラムのチューニングによる高速化は、場合により数 10～数 100 倍に達することもあり、さらに CPU 時間も削減できるからです。

2. 共有並列化
一般に、コンピュータのプログラムは、プロセスにより実行されます。実行中のプロセスは、そのメモリ空間にプログラムのデータを格納しており、現在の実行状態をもっています。プロセスは、複数のタスクから構成することもできます。一つのプロセス中の複数のタスクは、それぞれ独自の実行状態をもち、別々の仕事を実行できますが、プロセスのメモリ空間は全タスクが共有します。
共有並列化とは、一つのプロセス中の複数のタスクによる並列処理のことです。SX-ACE の各ノード内
では、主記憶装置を共有する 4 個の CPU コア上で実行されるタスクに仕事を割り当て、共有並列化を行うことができます。
例として、図 1.1 の 2 重ループの共有並列化を考えます。第 1 章と同様に、外側の do j のループを四つの仕事に分割して別々のタスクに割り当てます。この場合、データ領域に関しては、図 2.1 のように、2次元配列 a，b を do j のループに対応する 2 次元目で分割し、分割された各部分領域の処理を各タスクが担当することになります。ここで、例えば j=25 の繰返しを担当するタスク 0 は、タスク 1 の担当領域である配列要素 a(i,26), (i=1,2,…,lx) の値を引用する、といったように、配列の分割境界部分の処理では、自タスクの担当領域外の配列要素を参照する必要があります。しかし、各タスクは、メモリ上に配置された 2次元配列 a，b の全領域を直接参照できるので、特に問題はありません。一方、DO 変数 i，j については注意が必要です。並列実行中、各タスクは変数 i，j をそれぞれ独自のタイミングで参照します。そのため、
配列 a，b と同様に、変数 i，j の領域を全タスクが共有すると、あるタスクが確定した変数 i，j の値を別のタスクが引用してしまう可能性があり、実行が正しく行えません。従って、並列実行中に各タスクが値を確定する変数は、図 2.2 のようにそれぞれのタスクが専用の作業領域を割り付けて参照する必要があります。2次元配列 a，b のような全タスクがメモリ領域を共有するデータをタスク間共有データ、DO 変数 i，j のような各タスクが専用のメモリ領域を割り付けるデータをタスク固有データと呼びます。

（プロセスの）メモリ（プロセスの）メモリ

2 次元目 (do j)

2 次元目 (do j)
1

)
i
o
d
(

(共有並列化しない場合)
図 2.1

引用

75 76

引用

引用

配列 a, b
タスク間共有データ(共有並列化した場合)
各タスクが担当する配列 a，b の領域

101

タスク３

配列 a, b

50 51

タスク２

101

1

)
i
o
d
(
101

25 26

タスク１

一つの領域を
全タスクが共有
し、別々の範囲
を担当する

0
0

タスク０

次元目

タスク０

次元目

101

0
0

— 67 —SX-ACE でのプログラミング（並列化編）（プロセスの）メモリ（プロセスの）メモリ

タスク１

タスク２

タスク３

i, j

タスク０

タスク０

一つの領域を共有すると正しく実行
できないので、作業領域を割り付ける

i, j

i, j

i, j

i, j

タスク固有データ(共有並列化しない場合)

図 2.2(共有並列化した場合)
各タスク専用の DO 変数 i，j 用の作業領域

2.1 自動並列化
並列化を行う場合、並列実行しても結果が不正にならないことを保証するために、通常はデータの依存関係の解析を行い、細心の注意を払ってプログラムの変形や指示文の挿入を行う必要があります。しかし、コンパイラの自動並列化機能を使用すると、コンパイラオプション-P auto を指定するだけで、それらの作業をコンパイラが自動的に行います。
コンパイラは、まずプログラムを解析して並列実行可能なループや文の集まりを抽出し、次にそれらを複数の仕事に分割してタスクに割り当て、経過時間を短縮します。また、タスク間共有データ・タスク固有
データの割付けも自動的に行います。コンパイラの自動並列化対象は、図 2.3 のとおりです。
対象となる構文
対象ループ中に書ける文対象となる演算

DO ループ、配列式
代入文、IF 構文、GOTO 文、CONTINUE 文、CALL 文、CASE 構文
四則演算、べき乗演算、論理演算、関係演算、型変換、組込み関数
図 2.3 コンパイラの自動並列化対象

2.2 コンパイラの最適化
ここでは、共有並列化の効果を高めるためにコンパイラが行う最適化をいくつかご紹介します。
2.2.1 ループ変形
ループ融合・ループ一重化などのループ変形による最適化が可能な場合、最適化後に共有並列化を行い、共有並列実行時の仕事の粒度を最大化します。図 2.4 にループ融合の例を示します。

integer, parameter :: n=100
real(kind=8), dimension(n) :: a, b, c, d
do i=1,nc(i) = a(i) + sqrt(b(i))
enddo
do i=1,nd(i) = a(i) + sqrt(b(i))
enddo(ループ融合前)

do i=1,nc(i) = a(i) + sqrt(b(i))d(i) = a(i) + sqrt(b(i))
enddo(ループ融合後)

図 2.4

ループ融合の例

— 68 —

SENAC Vol. 48, No. 2（2015. 4）

2.2.2 条件並列化
並列化できるかどうか又は並列化により高速化できるかどうかが翻訳時に判断できない場合、実行時に依存関係やループ長を調べて、共有並列化するかどうかを選択できるよう条件並列化を行います。図2.5 では、条件並列化後の IF 構文の論理式 nx*ny > n によって、共有並列化により高速化するのに十分なループ長があるかどうかを判定しています。この際、ループ中の各演算の演算コストに基づいて、共有 並 列 化 の 効 果 が 期 待 で き る 値（ n ） を 自 動 的 に 算 出 し 、 条 件 並 列 化 を 行 い ま す 。 また 、 論 理 式
id-ic==0 .or. abs(id-ic)>=nx によって、ループ中で確定される配列要素 y(ic+i)と y(id+i)の領域に重なりがなく、並列化可能であることを判定しています。

do i = 1,nx
aa = abb = bdo j = 1,ny
aa = aa + x(i+1) * g(j-1)
bb = bb + x(i-1) * g(j-1)
enddoy(ic+i) = -aay(id+i) = -bb
enddo

if((nx*ny > n).and.(id-ic==0 .or. abs(id-ic)>=nx))then
並列コード
else
非並列コード
endif(条件並列化前)

図 2.5(条件並列化後)
条件並列化の例

2.3 自動並列化促進のためのプログラミング
コンパイラオプション-P auto の指定だけでは自動並列化できない場合でも、コンパイラ指示行の挿入
やプログラムの修正により自動並列化できる場合もあります。ここでは、主な並列化用指示行とプログラムの修正例をご紹介します。
2.3.1 並列化指示行
コンパイラ指示行の書式は、図 2.6 のとおりです。
Fortran の場合：
!CDIR コンパイラ指示オプション

C・C++の場合：#pragmacdir コンパイラ指示オプション

図 2.6

コンパイラ指示行の書式

自動並列化のために用意されている主なコンパイラ指示オプションは、次のとおりです。
concur [ { by=整数 | for=整数 } ] / noconcur
直後のループを自動並列化の対象とする / しないを指定します。コンパイラ指示オプション
concur に、省略可能なサブオプション by=整数 を指定すると、各タスクに割り当てるループの繰返し
回数を指定できます。省略可能なサブオプション for=整数 を指定すると、ループをいくつのタスクに分割するかを指定できます。コンパイラ指示オプション noconcur は、粒度が小さく共有並列化すると

— 69 —SX-ACE でのプログラミング（並列化編）

かえって性能が低下するループに指定します。


inner / noinner
内側ループ又は一重ループを自動並列化の対象とする / しないを指定します。多重ループの内側ループは、既定値では自動並列化の対象にならないので、共有並列化したい場合、コンパイラ指示オプション inner を指定します。一重ループは、共有並列化の効果が翻訳時に不明の場合、自動並列化の対象になりませんが、コンパイラ指示オプション inner を指定することにより自動並列化の対象とすることができます。

nosync
ループ中で参照される配列に依存がないことを指定します。依存関係が翻訳時には分からないので自動並列化できないときでも、依存がないことを利用者が分かっている場合、コンパイラ指示オプ
ション nosync によりそれをコンパイラに教えてやることによって、自動並列化できる場合があります。

cncallFortran の組込み関数以外の手続引用を含むループは、既定値では自動並列化の対象になりませんが、並列化しても問題ないことを利用者が分かっている場合、コンパイラ指示オプション cncallを指定すると自動並列化の対象とすることができます。自動並列化されたループ中で引用される手
続の仮引数は、原則としてタスク間共有データとなるので、そのような仮引数を手続中で確定した結果、図 1.3 のような依存関係が発生すると結果が不正となることに注意してください。

2.3.2 並列化のためのソース変形
図 2.7(a)の 2 重ループは、外側の do j のループには依存があるので並列化できませんが、コンパイラ
指示オプション inner を内側の do i のループに指定すると、内側ループで自動並列化されます。ただし、内側ループを並列化すると、並列化のオーバヘッドが外側ループの繰返し回数分発生してしまいます。
このような場合、図 2.7(b)のように内側ループと外側ループを利用者が交換すると、外側ループで自動並
列化され並列化のオーバヘッドを削減できます。

integer, parameter :: n=10000,m=10000
real(kind=8), dimension(n,m) :: ado j=1,m-1
do i=1,na(i,j) = a(i,j+1) + a(i,j)
enddo
enddo

do i=1,ndo j=1,m-1
a(i,j) = a(i,j+1) + a(i,j)
enddo
enddo

(a) ループ交換前(b) ループ交換後

図 2.7

ループ交換の例

仮引数は原則としてタスク間共有データとなるので、図 2.8(a)のループネストは、タスク間共有データである仮引数 w に関するデータ依存により、外側の do j のループを自動並列化できません。このような場合、
図 2.8(b)のように仮配列引数 w を次元拡張し、do j のループの繰返し毎に異なる要素を参照するように修正すれば、自動並列化可能となります。この際、仮引数 w に対応する実引数にも同様の修正が必要となることに注意してください。また、手続 sub の引用元が仮引数 w に対応する実引数を参照しておらず、配列 w は単なる作業変数として利用されている場合は、図 2.8(c)のように仮引数 w を手続 sub の局所変数

— 70 —

SENAC Vol. 48, No. 2（2015. 4）に変更すると、コンパイラによりタスク固有データとして割り付けられるので、自動並列化できます。

subroutine sub(a,b,w)
parameter(n=100,m=100)
real(kind=8) a(n,m),b(n,m),w(0:n)
do j=1,m
do i=1,nw(i) = a(i,j) / dble(n)enddo
do i=1,nb(i,j) = b(i,j) + (w(i-1)+w(i))/2.0
enddo
enddo
(a) 仮引数 w に関する依存

subroutine sub(a,b,w)
parameter(n=100,m=100)
real(kind=8) a(n,m),b(n,m),w(0:n,m)
do j=1,m
do i=1,nw(i,j) = a(i,j) / dble(n)enddo
do i=1,nb(i,j) = b(i,j)+(w(i-1,j)+w(i,j))/2.0
enddo
enddo
(b) 次元拡張後

subroutine sub(a,b)
parameter(n=100,m=100)
real(kind=8) a(n,m),b(n,m),w(0:n)
do j=1,m
do i=1,nw(i) = a(i,j) / dble(n)enddo
do i=1,nb(i,j) = b(i,j) + (w(i-1)+w(i))/2.0
enddo
enddo
(c) 局所変数化後

図 2.8

仮引数の修正により自動並列化可能となる例

2.4 自動並列化の際のメモリ消費量
局所変数は、コンパイラによりタスク固有データとして割り付けられます。そのため、巨大な局所配列を宣言すると、その局所配列がタスク数個分割り付けられ、メモリ不足によりプログラム実行が失敗する場合があります。大きな配列は大域変数（Fortran の場合、モジュール変数又は共通ブロック変数）としてください。
クロス環境において、sxsize コマンドを、オプション-l に実行タスク数を指定した上で、実行ファイルに対して適用すると、図 2.9 のように、各タスクに対して確保されるスタックである logical task region のメモリ量を表示させ、確認することができます。
%> sxsize –f –l 4 a.out
11256208(.text) + … + 9714896(logical task region) * 4 = …

図 2.9

sxsize コマンド実行例 （4 タスク実行の場合）

— 71 —SX-ACE でのプログラミング（並列化編）

2.5 OpenMP による共有並列化
コンパイラは、OpenMP による手動並列化も用意しています。OpenMP は、the OpenMP Architecture
Review Board (ARB)[1] によって策定された共有並列化のためのオープンな API であり、共有並列化のデファクト標準として広く使用されています。OpenMP では、主として、ソースプログラムに OpenMP 指示文を挿入することによって共有並列化を行います。利用者は、OpenMP 指示文に必要に応じて指示句を追加し、並列化方法を詳細に制御できます。
SX-ACE で OpenMP を使用する場合、コンパイラオプション-P openmp を指定してください。
2.5.1 OpenMP 使用時の注意点
OpenMP と自動並列化は併用できないので、共有並列化したい部分には全て OpenMP 指示文を指定してください。
自動並列化の場合、コンパイラがプログラムを解析し並列ループ間の不必要な同期を自動的に抑制します。一方 OpenMP による共有並列化時には、nowait 指示句を指定しない限り並列ループの直後に毎回同期が生成されます。同期が必要ない場合には、nowait 指示句を指定すると共有並列化のオーバヘ
ッドを削減できます。
また自動並列化の場合、図 1.4 のような作業変数や集計変数は、コンパイラによって自動的に認識され適切に処理されます。一方 OpenMP による共有並列化時には、DO 変数以外の作業変数及び集計変数をそれぞれ private 指示句及び reduction 指示句中に指定する必要があります。
OpenMP の parallel do 指示文をループに指定して共有並列化した例を図 2.10 に示します。繰返し内
作業変数 t を private 指示句中に、集計演算子+ 及び集計変数 s を reduction 指示句中に指定していることに注意してください。なお、DO 変数 i は、この場合既定値でタスク固有データとなるので、private 指示句を指定する必要はありません。

integer, parameter :: n=100
real(kind=8) :: a(n), t, s!$omp parallel do private(t) reduction(+: s)
do i=1,n-1
t = a(i) + a(i+1)
s = s + t
enddo

図 2.10OpenMP による並列化例

2.6 性能解析
2.6.1 プログラム特性情報 （PROGINF）
逐次（ベクトル）プログラムの場合と同様に、共有並列プログラムの場合も、プログラム特性情報（PROGINF）が使用できます。PROGINF は、プログラム実行時に環境変数 F_PROGINF （Fortran の場合） 又は C_PROGINF （C・C++の場合）を、YES 又は DETAIL と設定することによって採取できます。
図 2.11 に、環境変数 F_PROGINF を DETAIL に設定して共有並列実行した場合の出力例を示します。
ここで図中の※は、共有並列実行時に固有の情報です。
共有並列プログラムの性能を分析する場合、PROGINF 中の Conc. Time に着目してください。図 2.11の場合、プログラムは 4 個の CPU コア上でそれぞれ約 12.6 秒ずつ実行されたことが分かります。Conc.
Time が CPU コア間でほぼ均等となっているので、うまく共有並列化されていると判断できます。逆に図2.12 のように、Conc. Time (>= 1)だけ実行時間が大きく残りが小さい場合は、プログラムが十分共有並列化できていないか、又は負荷バランスが悪い、と判断できます。このようなプログラムは、より多くのループ

— 72 —

SENAC Vol. 48, No. 2（2015. 4）を共有並列化できるよう修正するか、又はコンパイラ指示オプション concur by=整数 などを指定して負荷バランスを均等化すると、経過時間を短縮できる可能性があります。
****** Program Information ******
Real Time (sec):
12.763395
User Time (sec):
50.708166
Sys Time (sec):0.074710
Vector Time (sec):
40.632103
Inst. Count:
11790881218.
V. Inst. Count:
5299726673.
V. Element Count:
1356647707664.
V. Load Element Count
:
24425310348.
FLOP Count
:
687380352458.
MOPS:
26882.038333
MFLOPS:13555.614543
MOPS(concurrent):
107208.756514 ※MFLOPS (concurrent):
54061.398206 ※A. V. Length:
255.984467
V. Op. Ratio (%):
99.523808
Memory Size (MB):4544.000000
Max Concurrent Proc.
:
4. ※Conc. Time(>= 1) (sec):
12.714809 ※ 1 個以上の CPU コアで実行した時間
Conc. Time(>= 2) (sec):
12.713175 ※ 2 個以上の CPU コアで実行した時間
Conc. Time(>= 3) (sec):
12.688490 ※ 3 個以上の CPU コアで実行した時間
Conc. Time(>= 4) (sec):12.591691 ※ 4 個以上の CPU コアで実行した時間
Event Busy Count:
0. ※Event Wait (sec):
0.000000 ※Lock Busy Count:
0. ※Lock Wait (sec):
0.000000 ※Barrier Busy Count:
0. ※Barrier Wait (sec):
0.000000 ※MIPS:
232.524308
MIPS (concurrent):
927.334513 ※I-Cache (sec):0.001616
O-Cache (sec):0.015225
Bank Conflict TimeCPU Port Conf. (sec):0.005777
Memory Network Conf. (sec) :0.106487
ADB Hit Element Ratio (%):
66.689853
図 2.11 共有並列実行時の PROGINF
Max Concurrent Proc.
Conc. Time(>= 1) (sec)Conc. Time(>= 2) (sec)Conc. Time(>= 3) (sec)Conc. Time(>= 4) (sec)

:
:
:
:
:
図 2.12

4.
74.154168
8.549322
8.292376
8.071275
Conc. Time の例

2.6.2 簡易性能解析機能（ftrace 機能）
逐次（ベクトル）プログラムの場合と同様に、共有並列プログラムの場合も、ftrace 機能によって手続単位又は利用者が指定した区間単位の詳細な性能情報が取得できます。
基本的な使用方法は逐次プログラムの場合と同様ですが、コンパイラは、共有並列化する各ループネ
ストを切り出して、それらを独立した手続に変形します。そのため共有並列化された各ループネストは、
ftrace の表示上は独立した一つの手続として表示されることに注意してください。切りだされた各ループ
ネストは、ソースプログラム中の出現順に、元の手続名に加えて$1，$2,…とサフィックスが付いた名前の手続として表示されます。図 2.13 に、共有並列実行時の ftrace の表示例を示します。$のついた手続

SX-ACE でのプログラミング（並列化編）— 73 —

gauss$1 及び cauchy$2 は、それぞれ手続 gauss の最初に出現する共有並列化されたループネスト、手続 cauchy の 2 番目に出現する共有並列化されたループネストの性能情報です。-micro1，-micro2，…
は、各タスクの性能情報です。gauss のような$のついていない手続名は、手続 gauss 中の共有並列化されなかった部分の性能情報です。

PROG.UNIT FREQUENCY EXCLUSIVE
AVER.TIME
MOPS MFLOPS V.OP AVER. I-CACHE O-CACHE…
TIME[sec]( % ) [msec]
RATIO V.LEN MISSMISS …
gauss$17872
2.536( 94.6)
0.322
4487.1 2099.2 99.41 233.7 0.0009 0.2196 …
-micro1
1968
0.644( 24.8)
0.337
4306.4 2014.4 99.40 233.6 0.0000 0.0574 …
-micro2
1968
0.616( 23.0)
0.313
4605.5 2154.8 99.42 233.8 0.0009 0.0541 …
-micro3
1968
0.628( 23.4)
0.319
4522.0 2115.6 99.41 233.8 0.0000 0.0541 …
-micro4
1968
0.628( 23.4)
0.319
4527.5 2118.2 99.41 233.8 0.0000 0.0540 …
cauchy$2
40.104( 3.9)
26.104230.5
38.4 0.08 228.4 0.0000 0.0000 …
-micro1
10.026( 1.0)
26.138230.2
38.3 0.08 228.4 0.0000 0.0000 …
-micro2
10.026( 1.0)
26.092230.6
38.4 0.08 228.4 0.0000 0.0000 …
-micro3
10.026( 1.0)
26.093230.6
38.4 0.08 228.4 0.0000 0.0000 …
-micro4
1
0.026( 1.0)
26.093230.6
38.4 0.08 228.4 0.0000 0.0000 …
gauss
1
0.033( 1.2)
33.1911246.9 514.9 96.90 226.3 0.0011 0.0030 …
：

図 2.13 共有並列実行時の ftrace

3. 分散並列化
分散並列化とは、それぞれ独自のメモリ空間をもつ複数のプロセスによる並列処理のことです。
SX-ACE では、一つ又は複数のノードの CPU コア上で実行されるプロセスに仕事を割り当て、分散並列化を行うことができます。
例として、図 1.1 の 2 重ループの分散並列化を考えます。第 1 章と同様に、外側の do j のループを四つの仕事に分割して別々のプロセスに割り当てます。この場合、データ領域に関しては、図 3.1 のように、2 次元配列 a，b を do j のループに対応する 2 次元目で分割し、分割された各部分領域の処理を各プロセスが担当することになります（分割配置・1 次元分割）。ここで、例えば j=25 の繰返しを担当するプロセス
0 は、プロセス 1 の担当領域である配列要素 a(i,26)， (i=1,2,…,lx) の値を引用する、といったように、配列の分割境界部分の処理では、自プロセスの担当領域外の配列要素を参照する必要があります。ところ
が各プロセスは、他のプロセスに割り付けられた配列の領域を直接参照できないので、通信を行って必要な配列要素の値を取得しなければなりません。このように分散並列化の場合、共有並列化と異なり、他のプロセスの担当範囲のデータを参照するために、必要に応じて通信が必要です。一方 DO 変数 i，j に
ついては、図 3.2 のように各プロセスがそれぞれ専用の領域を割り付ける（重複配置）と、並列実行中、各プロセスは変数 i，j をそれぞれ独立に参照できるので通信の必要はありません。すなわち、分散並列実
行時にどのような通信が必要となるかは、各データ要素をどのようにプロセスに割り付けるか（データマッピング）及び一つの仕事をどのように複数の小さな仕事へと分割してプロセスに割り当てるか（計算マッピング）に依存します。このように分散並列化においては、データマッピング、計算マッピング、及び通信の3 点を全て考慮してプログラムする必要があります。

— 74 —

SENAC Vol. 48, No. 2（2015. 4）プロセス 1のメモリプロセス 0のメモリプロセス 2のメモリプロセス 3
のメモリ

51

76

2 次元目 (do j)
25

次元目

0

26

50

75

101

0

1

)
i
o
d
(
通信

101

通信

通信

配列 a, b

図 3.1

配列 a，b の分割配置（1 次元分割）

プロセス 0のメモリプロセス 1のメモリプロセス 2のメモリプロセス 3
のメモリ

i, j

i, j

i, j

i, j

図 3.2

DO 変数 i，j の重複配置

3.1 データマッピングと性能
再び図 1.1 の 2 重ループの分散並列化を考えます。今度は図 3.3 のように、外側・内側のループをそれぞれ二つの仕事に分割してみます。この場合、データ領域に関しては、図 3.4 のように 2 次元配列 a,bを１次元目・2 次元目共に分割し、分割された各部分領域の処理を各プロセスが担当することになります（分割配置・2 次元分割）。ここでも、例えば j=50 の繰返しを担当するプロセス 0 は、プロセス 2 の担当領域である配列要素 a(i,51), (i=1,2,…,50) の値を引用する、といったように、配列の分割境界部分の処理
では、自プロセスの担当領域外の配列要素を参照するために通信が必要です。
これを前節の外側ループだけによる分散並列化（1 次元分割）と比較してみます。通信に関しては、1次元分割の場合、送受信回数はそれぞれ 2 回（2 次元目の上下方向）、送受信量はそれぞれ 1 次元目の寸法である lx*2 となります。一方 2 次元分割の場合、送受信回数はそれぞれ 4 回（1・2 次元目それ
ぞれの上下方向）、送受信量はそれぞれ (lx/1 次元目分割数+ly/2 次元目分割数)*2 となります。従って、1 次元分割と比べると、2 次元分割の方が通信回数は多いですが、通信量はプロセス数が増えるほど少なくなります。1 回の通信時間は、典型的にはセットアップ時間+通信量/通信バンド幅と表せます。そのため、通信量が少なく（配列の寸法が小さく）セットアップ時間の影響が大きい場合には 1 次元分割の方が通信コストは少なく、逆に通信量が多く（配列の寸法が大きく）通信量の影響が大きい場合には 2 次
元分割の方が通信コストは少なくなると考えられます。一方、各プロセスの演算性能を比較すると、ベクトル長は内側の do i のループに対応する配列の 1 次元目の寸法に依存します。そのため、1 次元目をプロセス間に分割することによってベクトル長が短くなりすぎると、ベクトル演算の効率が低下します。従って、配列の寸法がそれほど大きくない場合、2 次元目だけを分割したほうが演算時間は短い可能性があります。このように、これら二つの分散並列化方法のどちらが経過時間を短縮できるかは、プロセス数や配列の寸法に依存して変わります。分散並列化時には、通信コストや並列化後の演算性能を考慮して、デー
タマッピングを決定することが重要です。

— 75 —SX-ACE でのプログラミング（並列化編）

integer, parameter :: lx=100, ly=100
real(kind=8) a(0:lx+1,0:ly+1), b(0:lx+1,0:ly+1), k
do j=1,ly
do i=1,lxb(i,j) = a(i,j) + k * (a(i+1,j) – 4.0D0 * a(i,j) + a(i-1,j) + a(i,j+1) + a(i,j-1))
enddo
enddo

プロセス 0プロセス 1

do j=1,50
do i=1,50b(i,j) = a(i,j) …
enddo
enddo

do j=1,50
do i=51,100b(i,j) = a(i,j) …
enddo
enddo

図 3.3

プロセス 2
do j=51,100
do i=1,50b(i,j) = a(i,j) …
enddo
enddo

do j=51,100
do i=51,l00
b(i,j) = a(i,j) …
enddo
enddo

二つのループを共に並列化する例

プロセス 0のメモリ
2 次元目 (do j)
次元目0プロセス 3プロセス 2
のメモリ
51

50

0

101

1

)
i
o
d
(

通信

50

プロセス 1のメモリプロセス 3
のメモリ

通信

通信

51

101

通信

配列 a, b

図 3.4

配列 a，b の分割配置（2 次元分割）

3.2 MPI
3.2.1 MPI 概要
MPI (Message Passing Interface) は、Message Passing Interface Forum[2] によって策定された通信ライ
ブラリのオープンな仕様であり、分散並列プログラミングのデファクト標準として広く使用されています。
MPI を使用した分散並列化では、図 3.1 や図 3.4 中の通信部分を、MPI 手続の引用によってプログラムすることになります。
分散並列化時に高いスピードアップを達成するには、通信コストの削減が特に重要です。マルチノード

— 76 —

SENAC Vol. 48, No. 2（2015. 4）システムの場合、一般に、ノード内のメモリアクセスコストと比較して、ノード間の通信コストは圧倒的に大きいからです。
SX-ACE は、異なるノードのメモリを IXS の命令により直接参照できるハードウェア機能（グローバルメモリ）などを活用した高速な通信環境を提供するため、MPI ライブラリ MPI/SX を用意しています。MPI/SXの 1 対 1 通信は、通信サイズに応じて最適な通信プロトコルを選択し、IXS の性能を最大限引き出しています。また MPI/SX の集団通信は、プロセスのノードへの配置方法や通信サイズに応じて最適な通信ア
ルゴリズムを選択し、各ノードの共有メモリや IXS のバリア同期機構を利用した高速な通信を実現しています。

3.2.2 MPI プログラミングの基本
MPI プログラミングでは、まず MPI 仕様で規定されている各種定数などが定義されたヘッダファイル
mpif.h （Fortran の場合） 又は mpi.h （C・C++の場合）をインクルードします（Fortran の場合、ヘッダファ
イルをインクルードする代わりに、システムモジュール mpi を引用することもできます）。次に、手続
MPI_INIT 又は MPI_INIT_THREAD を引用して初期化を行い、手続 MPI_FINALIZE を引用して MPI の使用を終了します。利用者は、この二つの引用の間で、1 対 1 通信、集団通信、又は単方向通信により通信を行うことができます。
通信を行うプロセスの集合は、コミュニケータと呼ばれる引数を MPI 手続に渡すことにより指定します。
プログラム開始時の全プロセスに対応するコミュニケータは、MPI の定数 MPI_COMM_WORLD で指定できます。各プロセスは、ランクと呼ばれるコミュニケータ中で一意な整数値をもちます。ランクの値は、0 以
上、プロセス数-1 以下です。手続 MPI_COMM_SIZE 及び MPI_COMM_RANK により、それぞれプロセス
数及び自プロセスのランクを取得でき、これらを利用して各プロセスが行う処理をプログラムできます。
MPI プログラムの典型的な例として、図 1.1 の 2 重ループを外側ループで四つの仕事に分割し、分散並列化したプログラムを図 3.5 に示します。MPI プログラミングでは、プログラム全体のデータ・処理ではな
く、各プロセス用に分割した後のデータ・処理をプログラムします。そのため、定数 ly の値を 25 に変更して（文番号 100）、配列の宣言（文番号 200）とループ長（文番号 300）を分割後の範囲に縮小しています。
この際、通信時に受信したデータを配置する領域が必要なので、図 3.6 のように各プロセス上の配列 a の領域を大きめに割り付けていることに注意してください。このような隣接プロセスとの通信のための領域は袖領域と呼ばれます。並列ループ（文番号 300）実行前に、分割境界の処理に必要な配列 a の要素を、1対 1 通信手続 MPI_SENDRECV により隣接プロセス間で送受信（文番号 400）し、並列ループ実行中は、
隣接プロセス上のデータの代わりに自プロセス上の袖領域を参照しています。両端のプロセスには片側の隣接プロセスが存在しないので、通信相手を設定する IF 構文（文番号 500）において、通信相手を示す変数 men，mep に、該当するプロセスが存在しないことを示す MPI の定数 MPI_PROC_NULL を設定しています。送受信先として定数 MPI_PROC_NULL を指定すると、その通信は実行されません。
include "mpif.h"
integer, parameter :: lx=100, ly=25! ly は分割後の寸法
real(kind=8) a(0:lx+1,0:ly+1),b(0:lx+1,1:ly), k! 初期化
call mpi_init(ierr)! プロセス数を変数 nproc に取得する
call mpi_comm_size(mpi_comm_world,nproc,ierr)! 自プロセスのランクを変数 me に取得する。
call mpi_comm_rank(mpi_comm_world,me,ierr):! 通信相手の設定：両端のプロセスは特別処理を行う。
500
if(me .eq. 0)thenmen = mpi_proc_null ! 下端のプロセスの下隣は存在しない
else
men = me - 1 ! 下隣のプロセスのランク
endif
100
200

— 77 —SX-ACE でのプログラミング（並列化編）

if(me .eq. nproc-1)then
mep = mpi_proc_null ! 上端のプロセスの上隣は存在しない
else
mep = me + 1 ! 上隣のプロセスのランク
endif! 隣接プロセス間の通信：上方向 → 下方向
400
call mpi_sendrecv(a(1,ly),lx,mpi_double_precision,mep,0,& ! 上方向&a(1,0),lx,mpi_double_precision,men,0,mpi_comm_world,mpi_status_ignore,ierr)call mpi_sendrecv(a(1,1),lx,mpi_double_precision,men,0,& ! 下方向&a(1,ly+1),lx,mpi_double_precision,mep,0,mpi_comm_world,mpi_status_ignore,ierr)! 並列化後のループ
300
do j=1,ly
do i=1,lxb(i,j) = a(i,j) + k * (a(i+1,j)-4.0D0*a(i,j)+a(i-1,j)+a(i,j+1)+a(i,j-1))
enddo
enddo
:
! 後始末処理
call mpi_finalize(ierr)end
図 3.5 MPI プログラム例

プロセス 1のメモリプロセス 0のメモリ
2 次元目 (do j)
次元目

01

25 26

01

0

プロセス 2
のメモリ

25 26

01

元の
26～50
に相当

25 26

プロセス 3
のメモリ
25

01

元の
76～100
に相当

元の
51～75
に相当

1

)
i
o
d
(
101

通信

通信

通信

配列 a

図 3.6

1 次元分割時の配列 a の割付け（黒色は袖領域）

3.3 MPI/SX の活用方法と注意点
3.3.1 MPI プログラムへの標準入力
MPI プログラムに標準入力から入力データを与える場合、図 3.7 のように、実行ファイルに対して直接入力データを与えると、正常に実行できない場合があります。
mpirun –np 4 –nn 4 /execdir/a.out < /datadir/inputfile
図 3.7 MPI プログラムへの不正な標準入力の例

このような場合、図 3.8 のように、コンパイラの環境変数 F_FF05 に入力ファイル名を設定して事前接続し、さらに MPI の環境変数 MPIEXPORT にその環境変数名 F_FF05 を設定した上で、MPI プログラムを実行してください。なお、MPI プログラム実行時にコンパイラの環境変数を使用するには、このようにコン

— 78 —

SENAC Vol. 48, No. 2（2015. 4）

パイラの環境変数を設定した上で、環境変数 MPIEXPORT にその環境変数名を設定する必要があります。
setenv F_FF05 /datadir/inputfile
setenv MPIEXPORT "F_FF05"
mpirun –np 4 –nn 4 /execdir/a.out
図 3.8 MPI プログラムへの標準入力

3.3.2 プロセス毎に別々のファイルを対象にした入出力
環境変数 MPIRANK は、手続 MPI_COMM_RANK に引数 MPI_COMM_WORLD を渡して引用することにより得られるランクと同一の値をもっています。これを利用して、図 3.9 のようなシェルスクリプトを作成し（シェルスクリプトのファイル名を、例えば/execdir/run.sh とします）、図 3.10 のように、mpirun コマンドでそのシェルスクリプトを実行すると、各プロセスのランクと入出力ファイル名とを一対一に対応させ、プロセス毎に別々のファイルを対象にした入出力が可能です。
#!/bin/csh
setenv F_FF05 infile.$MPIRANK
setenv F_FF06 outfile.$MPIRANK
setenv MPIEXPORT "F_FF05 F_FF06"
exec /execdir/a.out

図 3.9

環境変数 MPIRANK を利用した入出力のためのシェルスクリプト例

mpirun –np 4 –nn 4 /execdir/run.sh

図 3.10

シェルスクリプトを介した MPI プログラムの実行例

プログラム中で接続したファイルに対して入出力する場合は、手続 MPI_COMM_RANK により取得したランクの値を利用してファイル名を決めると、やはりプロセス毎に別々のファイルを対象にした入出力が可能です
3.3.3 プロセス毎に別々のファイルへの標準出力・標準エラー出力
複数の MPI プロセスが同時に出力を行った場合、それらは入り交じって表示される場合があります。各
プロセスの標準出力及び標準エラー出力を別々のファイルに容易に出力できるように、MPI/SX はシェルスクリプト/usr/lib/mpi/mpisep.sh を用意しています。このスクリプトを使用して、図 3.11 のように MPI プロ
グラムを実行すると、環境変数 MPISEPSELECT の値に応じて、次のように各プロセスの標準出力及び標
準エラー出力が別々のファイルに出力されます。なお下記の u は通常 0 となり、r は環境変数 MPIRANKの値となります。


環境変数 MPISEPSELECT の値が 1 の場合
各プロセスの標準出力が、ファイル stdout.u:r に出力されます。



環境変数 MPISEPSELECT の値が 2 の場合（既定値）
各プロセスの標準エラー出力が、ファイル stderr.u:r に出力されます。

— 79 —SX-ACE でのプログラミング（並列化編）



環境変数 MPISEPSELECT の値が 3 の場合
各プロセスの標準出力及び標準エラー出力が、それぞれファイル stdout.u:r 及び stderr.u:rに出力されます。



環境変数 MPISEPSELECT の値が 4 の場合
各プロセスの標準出力及び標準エラー出力が、共にファイル std.u:r に出力されます。

mpirun –np 4 –nn 4 /usr/lib/mpi/mpisep.sh

図 3.11/execdir/a.out

シェルスクリプト /usr/lib/mpi/mpisep.sh を使用した実行例

3.3.4 グローバルメモリを利用した高速化
転送元・転送先のデータを共にグローバルメモリ上に割り付け、MPI の基本データ型を使用することによって、通信を高速化できます。ただし、転送元・転送先データの先頭アドレス及び転送バイト数が、全て8 の倍数である必要があります。
利用者のデータをグローバルメモリ上に割り付けるには、コンパイラオプション-gmalloc を指定した上でALLOCATE 文を実行するか（Fortran の場合）、又は手続 MPI_ALLOC_MEM を引用して（C・C++の場合）メモリを割り付けてください。これらの手段で割り付けたメモリ領域の先頭アドレスは、8 の倍数であることが保証されています。
単方向通信（MPI_PUT 又は MPI_GET）において、転送元・転送先のデータが前述の条件を満たす場合、手続
MPI_WIN_FENCE の引数 assert に MPI/SX 独自の最適化情報 MPI_NEC_MODE_GETPUTALIGNED を指定すると、同期処理の高速化が可能です。また手続 MPI_WIN_CREATE によるウィンドウ生成時に、
MPI/SX 独自キー"use_gbc"を"true"に設定した info 実体を引数 info に指定すると、同期処理をさらに高速化できます。
3.3.5 MPI プログラムデバッグ機能
MPI/SX は、実行時でなければ見つけにくい MPI プログラム特有のバグを検出する機能を用意しています。コンパイラオプション-mpiverify を指定すると、MPI 手続に対する引数のプロセス間の不整合や、配列引数への領域外アクセスの可能性などの情報が実行時に出力されます。
3.3.6 Fortran からの MPI 使用時の注意点
Fortran プログラム中で引用する非ブロッキングな MPI 手続の実引数として、部分配列、配列式、配列
ポインタ、又は形状引継ぎ配列を指定すると、引数がメモリ上連続であることを保証するために、コンパイ
ラが一時配列を割り付けて実引数をコピーする場合があります。このとき、実際の引数としては、その一時
配列が MPI 手続に渡されます。しかし、その一時配列は、非ブロッキングな MPI 手続の完了以前に解放されてしまうので、プログラムが正常に実行されない可能性があります。非ブロッキングな MPI 手続の実引数には、メモリ上連続な配列を指定してください。配列ポインタや形状引継ぎ配列のように、翻訳時にはメ
モリ上連続であることが分からない場合、利用者がメモリ上連続であることを保証できるなら、コンパイラオ
プション-Wf"-cont"を指定すると、コンパイラによる一時配列の生成を抑制できます。

3.4 ハイブリッド並列化
複数のプロセスだけによるプログラムの分散並列化をフラット並列化と呼びます。SX-ACE では、分散並列化と第 2 章でご説明した共有並列化を併用することもできます。これをハイブリッド並列化と呼びます。

— 80 —

SENAC Vol. 48, No. 2（2015. 4）

ハイブリッド並列化は、MPI プログラムを自動並列化又は OpenMP により共有並列化するだけで使用可能です。
図 3.5 では、図 1.1 の 2 重ループを外側ループで四つの仕事に分割し、4 プロセスに割り当てフラット並列化しました。これを、それぞれ 2 タスクからなる二つのプロセスに割り当てハイブリッド並列化するには、
図 3.5 中の定数 ly の値を 50 に変更した上で、自動並列化のためのコンパイラオプション-P auto 及びタ
スク数を指定するコンパイラオプション-reserve=2 を指定し共有並列化します。フラット並列化の場合、配列 a を各プロセス上に図 3.6 のように割り付けました。一方、ハイブリッド並列化の場合、配列 a を各プロ
セス上に図 3.12 のように割り付けることになります。一つのプロセス中の複数のタスクは、そのプロセスの全データ領域を直接参照できるので、タスク間で通信を行う必要はなく、従ってタスク間には袖領域も必要ないことに注意してください。

プロセス 1のメモリプロセス 0のメモリ
2 次元目 (do j)
次元目

01

25 26

0

01

50 51

50

元の
76～100
に相当
タスク１

タスク０

元の
51～75
に相当

タスク１

1

)
i
o
d
(

タスク０

元の
26～50
に相当

25 26

101

通信

配列 a

図 3.12

ハイブリッド並列化時の配列 a の割付け（黒色は袖領域）

一つの仕事を複数の小さな仕事に分割して、複数のプロセスに割り当てる場合（フラット並列化）と、各プロセス内の複数のタスクに割り当てる場合（ハイブリッド並列化）とを比較すると、ハイブリッド並列化によりプロセスの総数が削減されます。そのため、プロセス数に依存してコストが増大する通信を含むようなプ
ログラムは、ハイブリッド並列化により経過時間を短縮できる場合があります。その反面、分散並列化と共有並列化の 2 重のオーバヘッドが発生するので、プログラムによってはハイブリッド並列化により経過時間が増加する場合もあります。一方、コンパイラ・MPI の処理系内部のバッファや、全プロセスに重複配置するデータの個数は、プロセス数の減少とともに減少するので、ハイブリッド並列化の方がフラット並列化
よりも使用メモリの総量を削減できる場合があります。
3.4.1 ハイブリッド並列化時の注意点
自動並列化の場合、既定値では各プロセスがノード内の全 CPU コアを使用して共有並列実行を行います。そのため、ハイブリッド並列化時に一つのノード上で二つ以上のプロセスを実行すると、CPU コアの個数がタスクの個数より少なくなり、大幅に性能が低下する可能性があります。ハイブリッド並列化時には、各ノードのプロセス数を 1 にするか、共有並列化の並列数を指定する環境変数 F_RSVTASK （Fortran の場合）若しくは C_RSVTASK （C・C++の場合）を指定するか、又はコンパイラオプション-reserve=共有並列数 を指定して、各ノードにおけるプロセス数とタスク数の積が 4 以下となるようにしてください。

— 81 —SX-ACE でのプログラミング（並列化編）

MPI/SX のタスクサポートレベルは、MPI_THREAD_SERIALIZED です。従って、全タスクが MPI 手続を引用できますが、手動で共有並列化する場合、同一プロセス中の複数のタスクが同時に MPI 手続を引用しないように利用者がプログラムする必要があります。

3.5 性能解析
3.5.1 MPI プログラム特性情報（MPIPROGINF）
MPI プログラムの実行性能を分析するために、MPI プログラム特性情報（MPIPROGINF）が使用できます。MPIPROGINF は、プログラム実行時に環境変数 MPIPROGINF を、YES，ALL，DETAIL，又はALL_DETAIL に設定することによって採取できます。図 3.13 に、環境変数 MPIPROGINF を DETAIL に設定して実行した場合の出力例を示します。経過時間が最小のプロセス（Min）、最大のプロセス（Max）、及び平均（Average）の情報が表示されており、プログラム全体の性能を簡便に把握できます。
MPI Program Information:========================
Note: It is measured from MPI_Init till MPI_Finalize.
[U,R] specifies the Universe and the Process Rank in the Universe.
Global Data of 4 processes :==========================
Real Time (sec):User Time (sec):
Sys Time (sec):
Vector Time (sec):Inst. Count:
V. Inst. Count:
V. Element Count:
V. Load Element Count:FLOP Count:MOPS:
MFLOPS:
A. V. Length:
V. Op. Ratio (%):
Total Memory Size (MB):Memory Size (MB):Global Memory Size (MB):MIPS:
I-Cache (sec):
O-Cache (sec):Bank Conflict TimeCPU Port Conf. (sec):Memory Network Conf. (sec):
ADB Hit Element Ratio (%):

Min [U,R]
56.829 [0,3]15.153 [0,2]0.728 [0,3]3.765 [0,3]721497042 [0,0]12671162 [0,3]537593371 [0,3]0 [0,0]737 [0,2]
104.355 [0,3]0.000 [0,3]41.177 [0,2]33.308 [0,2]1344.000 [0,0]1280.000 [0,0]64.000 [0,0]39.408 [0,0]0.365 [0,0]0.539 [0,0]Max [U,R]
56.879 [0,0]18.308 [0,0]0.983 [0,0]10.689 [0,0]1091361840 [0,2]48775850 [0,0]7704138496 [0,0]0 [0,0]8400513 [0,0]517.423 [0,1]0.459 [0,0]182.593 [0,1]91.969 [0,0]1344.000 [0,1]1280.000 [0,0]64.000 [0,0]72.020 [0,2]0.906 [0,2]1.134 [0,3]0.000 [0,0]0.000 [0,0]0.000 [0,0]図 3.13 MPIPROGINF

0.000 [0,0]0.000 [0,0]0.000 [0,0]Average56.85516.2380.850
6.807
917296494
29139941
4113854075
02102273296.5050.115
106.03762.5581344.000
1280.000
64.00057.512
0.679
0.786
0.000
0.000
0.000

3.5.2 簡易性能解析機能（ftrace 機能・NEC Ftrace Viewer）
コンパイラオプション-ftrace を指定すると、簡易性能解析情報ファイル ftrace.out.u.r （u は通常 0、rは環境変数 MPIRANK の値）が各プロセスから実行時に出力されます。MPI プログラムの場合、コンパイラ
による簡易性能解析情報に加えて、通信時間などの情報が表示できます。
SX-ACE が用意する NEC Ftrace Viewer[3] は、並列プログラムの性能を分析する際にも有効です。例
として、14 プロセスにより並列実行したある MPI プログラムの負荷バランスを解析してみます。まず、簡易
性能解析情報ファイルを読み込んだときに表示される Process Breakdown Chart を見ると、図 3.14 のように手続 iterate 内の実行時間（Exclusive Time）が大きいことが分かります。実行時間が大きな手続 iterate

— 82 —

SENAC Vol. 48, No. 2（2015. 4）の負荷バランスを把握するため、左上の「Chart」メニューから Function Statistics Chart を選択します。すると、図 3.15 中の折れ線グラフが示すように、手続 iterate の Exclusive Time の標準偏差が大きく、負荷バランスが悪いことが分かります。状況をより詳細に調査するため、「Chart」メニューから Process Metrics
Chart を選択します。次に、右上の「Metrics Selection」メニューから、MPI COMM. TIME（MPI 通信時間）
及び MPI IDLE TIME（MPI 待ち時間）を選択します。すると、図 3.16 のように、MPI 通信時間及び MPI
待ち時間を示す二つの折れ線グラフがほぼ重なって見えます。これは、MPI 通信時間のほとんどが MPI
待ち時間であることを意味しています。また、棒グラフで示される手続 iterate の Exclusive Time と、折れ線グラフの MPI 待ち時間とを比較すると、Exclusive Time に占める MPI 待ち時間が、両端のプロセスだけ短いことが分かります。従って、両端のプロセスの MPI 待ち時間以外の実行時間、つまり演算時間が他のプロセスよりも大きく、相対的に演算時間の小さな他のプロセスにおいて、MPI による通信時に待ちが発生していると推定できます。以上のことから、両端のプロセスの演算を他のプロセスに分配すれば、負荷バランスを改善できる可能性があることが分かります。このように、NEC Ftrace Viewer のグラフ機能を使用すると、負荷バランスなど複数の仕事間の関係を容易に把握できます。

iterate Other Functions

図 3.14

Process Breakdown Chart

— 83 —SX-ACE でのプログラミング（並列化編）

図 3.15Function Statistics Chart

図 3.16

Process Metrics Chart

— 84 —

SENAC Vol. 48, No. 2（2015. 4）

4. あとがき
本稿では、コンパイラの自動並列化機能及び MPI/SX を使用したプログラム並列化の基本的事項を中
心 に ご 紹 介 し ま し た 。 SX-ACE が 提 供 す る 並 列 処 理 環 境 の 詳 細 な 使 用 方 法 に つ い て は 、「FORTRAN90/SX プログラミングの手引」[4]、「FORTRAN90/SX 並列処理機能利用の手引」[5]、「C++/SX
プログラミングの手引」[6]、及び「MPI/SX 利用の手引」[7] をご覧ください。SX-ACE をご使用になる上で、本稿がお役に立てば幸いです。

参考文献[1] The OpenMP Architecture Review Board (http://openmp.org/)[2] Message Passing Interface Forum (http://www.mpi-forum.org/)[3] NEC Ftrace Viewer 利用の手引，日本電気株式会社，G1AF33[4] FORTRAN90/SX プログラミングの手引，日本電気株式会社，G1AF07[5] FORTRAN90/SX 並列処理機能利用の手引，日本電気株式会社，G1AF08[6] C++/SX プログラミングの手引，日本電気株式会社，G1AF28[7] MPI/SX 利用の手引，日本電気株式会社，G1AF09

— 85 —

SENAC Vol. 48, No. 2（2015. 4）［大規模科学計算システム］

アプリケーションサービスの紹介
情報部情報基盤課 共同利用支援係

はじめにƦ ÕȘɃțɅoōèĝwŔħȔȖȠȶǥǫǀ9sŴƁŔħǀÀ7ĆǀåŽőÜǀȡɅț7ĆĦǪPȁȯȾȏɅȔȼɃȚȭȢȄȅȁǾǀ=ĉľǪǈŋÑǩǋǊǖǤȒɅȫȖǖǤǈǲǘǁÕğǥǫǀ:ȐɃȬȺɅț LX
406Re-2 ǥȒɅȫȖǾŅǡǤǈǻȁȯȾȏɅȔȼɃȚȭȢȄȅȁǪĮǾǖǲǘǁ
I 1. ¥¿É®Í±ÇÌ³¾¹§¨¥°Í¼²À²¹ȁȯȾȏɅȔȼɃȚȭȢȄȅȁ
9sŴƁŔħȚȭȢȄȅȁ
KıųŀC³ĬȯɁȎȽȶĴQaÀ)ŔħȚȭȢȄȅȁ
òĉåŽőÜȯɁȎȽȶåŽőÜĉòĉȯȾȳȖȢȚȭȢȄȅȁ
řaőÜȚȭȢȄȅȁ

Gaussian
GRRM11Mathematica
Marc/Mentat
PatranMATLABȒɅȫȖȲȖȢ

front.cc.tohoku.ac.jpƦ ȁȯȾȏɅȔȼɃȚȭȢȄȅȁǪĮǫǀǪ URL ǪÕȘɃțɅoōèĝwŔħȔȖȠȶ Web ȱɅȕǩǶµŶǖǤǈǲǘǁ
http://www.ss.cc.tohoku.ac.jp/application/index.html
Ʀ Õğ Ǫ5|ǫ 2015  3 ÏĄ`ǪǶǪǥǘǪǥǀȁȯȾȏɅȔȼɃȚȭȢȄȅȁǪȨɅȕȼɃȁȞȯǷ=ĉÄôǪÎÃ eǩǢǈǤǫǀWeb ȱɅȕǾƓÈǔėŜǏǟǕǈǁ

ご利用の前にn リモートログインƦ ȖɅȩɅȐɃȬȺɅțǀ:ȐɃȬȺɅțǰȾȸɅȢɁȎȃɃǘǻ§ƝǥǘǁSSHɈSecure SHellɉ´ĵǾŅǈǲ
ǘǁȁȯȾȏɅȔȼɃǾ=ĉǘǻƔǫǀ:ȐɃȬȺɅțǩɁȎȃɃǖǲǘǁGUI ȁȯȾȏɅȔȼɃǾ=ĉǘǻfQ
ǫǀGUI ア プ リ ケ ー シ ョ ン を 利 用 す る 方 法 ǾQǽǚǤǔJýǏǟǕǈǁ
I 2. M?0±²¸Ã),P5
ȔȖȠȶ

ȲȖȢT

OS

ÅÕŝćh

:ȐɃȬȺɅț
LX 406Re-2

front.cc.tohoku.ac.jp

Linux

UTF-8

Ʀ SSH ǫŻ%ųǪȡɅțǾÉOEǘǻǓǦǥx1ǾƥǵǞȯɁȎȽȶǥǘǁ=ĉǖǤǈǻĤÔǍ UNIX,
Linux, OS X ǪfQǫ SSH ȍȽȃȁɃȢȚȭȢǍȃɃȖȢɅȿǕǼǤǈǲǘǁȃɃȖȢɅȿǕǼǤǈǨǈfQǫĤ
ÔǪĨĆľǩǔēŢǏǟǕǈǁ
Ʀ :ȐɃȬȺɅțǪ OS ǫ Linux ǥǘǁ2ƋƈÉOÄǩǸǻŜŗǪǳ=ĉǥǎǲǘ1ǁȁȉȄɃȢÑǪf
Qǫǀ3S=ĉ½¹#ǩ=ĉċţǖ=ĉľĎOǦ;ÓȩȖɂɅȣǾďŅǖǤǶǹǈǲǘǁ

ƬƦȩȖɂɅȣŜŗÄǫ ƭƫƬư  Ư Ï ƬƮ ÅǥëǖǲǖǞǁƦ

— 86 —

SENAC Vol. 48, No. 2（2015. 4）

Ʀ :ȐɃȬȺɅțǰǪ;[ɁȎȃɃÈǩǫ2ƋƈǦĞ}ƈǪȱȁǾ¥ǘǻŋǍǇǺǲǘǁƈȱȁǪ¥ÄôǩǢǈǤǫÕś105ȱɅȕǪǃSSH ȁȍȘȖŜŗƈĈ¥ȒɅȨǪ=ĉÄôǄǾǔJýǏǟǕǈǁƦ ǨǋǀTļǪ=ĉľĎOǥǪȔȖȠȶ=ĉǫěëǖǲǘǁȩȖɂɅȣǀĞ}ƈǀȩȖȭɀɅȗǪǈ[ǖǫǀìȁȍȘȖǪȾȖȍɈìɁȎȃɃǀȍȽȃȁɃȢǪǨǺǘǲǖǀÉOEǕǼǞŻ%ǪÊƘǀȒɅȨǰǪ¾»ĦɉǍƚǩƥǏǀomHƐǥǘǁ=ĉľĐƇǾŅǉǓǦǩǸǻƌĶ®ŭĦǫďĈǖǲǚǿǪǥǀ=ĉǕǼǻÄǫǜǼǝǼǥ=ĉċţǾǋơǈǈǞǖǲǘǁ

Ʀ
【UNIX, Linux からのログイン】
Ʀ Ʀ ǃțɅȵȤȿǄǀǃĤÔǄǀǃterminalǄǨǧǪ SSH ȍȽȃȁɃȢȚȭȢǾůCǖǲǘǁȐȴɃȣǾ0AǘǻȯɁɃȯȢǍňęǕǼǀȐȴɃȣǪǠMǑĂ£ǩǨǺǲǘǁ
É²¹ 1. ¯Ì½ÆÍ´Ë­¦Ì

localhost$	
  ssh	  -­‐i	  ~/.ssh/id_rsa	
  利用者番号@front.cc.tohoku.ac.jp	
  Enter	
  passphrase	
  for	
  key	
  '/home/localname/.ssh/id_rsa':パスフレーズを入力	
  （初回接続時のメッセージ）	
  :	
  yes	
  を入力	
  front1	
  $	
  （コマンド待ち状態）	
  【OS X からのログイン】
Ʀ ǃțɅȵȤȿ.appǄǾůCǖǲǘǁ´ĵÄôǫŕǦSǗǥǘǁ【Windows からのログイン】l zzr ¬È¦¥Ì¹³¾¹µ§ÌËÍº¦Ì²¹ÍÊ^Ʀ SSH ȍȽȃȁɃȢȚȭȢǪǢǥǇǻǃTera TermǄǦǈǉȭȾɅȚȭȢǾȃɃȖȢɅȿǖǲǘǁǪȱɅȕǌǹȜȄɃɁɅȣǥǎǲǘǁ2015  3 ÏĄ`ǪÎÃĀǫ 4.86 ǥǘǁȜȄɃɁɅȣȃɃȖȢɅȿâǾŅǡǤǏǟǕ
ǈǁ
Tera Term ȜȄɃɁɅȣȱɅȕɏƦ
http://sourceforge.jp/projects/ttssh2/Ʀl  ¯Ì½ÆÍ´ %E^
Ʀ ǃȲȖȢTǄǾ¯yǀǃȒɅȫȖǄǫ SSH2 ǾƂ«ǖǀ[OK]Ǿ¬ǖǲǘǁ

— 87 —

アプリケーションサービスの紹介Ʀ ǃȻɅȓTǄǩ=ĉľĎOǀǃȩȖȭɀɅȗǄǩƈȱȁǾ¥ǖǞƔǩ0AǖǞǶǪǾ0AǀǃRSA/DSA ƈǾǉǄǾƂ«ǖǀǃĞ}ƈǄǩ$uǖǞĞ}ƈǪȭȀȃȿǾ¯yǖǲǘǁ
ɈĞ}ƈȭȀȃȿǪƂ«Čƛǥǫǀ­sǃǘǱǤǪȭȀȃȿ(*.*)ǄǾƂ«ǖǲǘɉ[OK]Ǿ¬ǘǻǦ´ĵǕǼǲǘǁ

ƦƦ【シェルの初期設定】
Ʀ oōèĝwŔħȔȖȠȶǥǫǀ ǋDǵǪ;ÓćhŖyǾĉ¢ǖǤǈǲǘǁ ǓǼǩǸǺȩȖǨǧǪcÕđǨŖ
yǀǲǞPȁȯȾȏɅȔȼɃǪćhmÀĦǍŀCđǩŖyǕǼǲǘǁǓǼǫǀ=ĉĐƇÈǩ(ǂǪ ID ǩǇǹǌǗǵŅǡǤǈǲǘǪǥǀ ŻǫâǪŋǫǇǺǲǚǿǁƦ ȁȯȾȏɅȔȼɃǍ=ĉǥǎǨǈǦǈǉfQǩǫǀ ǓǪŖyǍmÌǕǼǤǈǻǓǦǍĽǊǹǼǲǘǁ .cshrc ȭȀȃȿ(csh Ǿ=ĉǘǻfQǀȘɃțɅǪōy))Ʀ ǲǞǫ .login ȭȀȃȿɈsh Ǿ=ĉǘǻfQɉǩǀȘɃțɅǥĉ¢ǖǤǈǻ;ÓŖyȭȀȃȿƦ /usr/skel/Cshrc ǲǞǫ/usr/skel/Login ǾŠǳŷǴŖyǦǨǡǤǈǻǓǦǾėŜǖǤ
ǏǟǕǈǁŖyǾmÌǖǞfQǫǀŖyǾKÇǕǚǻǞǵǩɁȎȃɃǖĒǖǤǏǟǕǈǁ

【ファイル転送】l ¯ÂÌºÈ¦Ì¾¤¦ÊTU^Ʀ ɁɅȉȿĤÔǌǹǃscpǄǀǃsftpǄȐȴɃȣǍ=ĉǥǎǲǘǁǧǠǹǪȐȴɃȣǶŻ%ıųǫÉOEǕǼǤǈǲ
ǘǪǥx1ǪƥǈȭȀȃȿŵźǍǥǎǲǘǁ=ĉÄôǩǢǈǤǫǜǼǝǼǪȴȥȺȁȿǾǔJýǏǟǕǈǁƦl ¥¿É®Í±ÇÌ£ 6¾¤¦ÊTU^Ʀ ȭȀȃȿŵźǾŅǉňđǨȁȯȾȏɅȔȼɃǫ Linux ǥǫǃgftpǄǀWindows ǥǫǃWinSCPǄǀOS X ǥǫǃCyberduckǄǨǧǥǘǁ=ĉÄôǩǢǈǤǫǜǼǝǼǪȴȥȺȁȿǾǔJýǏǟǕǈǁȁȯȾȏɅȔȼɃǪŖyǩǋǈǤǀŵźȯɁȢȐȿǫ SSH2 ǾƂ«ǖǤǏǟǕǈǁŻ%ıųǫÉOEǕǼǲǘǁl  >+£ 6¾¤¦ÊTU^Ʀ ȘɃțɅɌF Ǫ=ĉēŢ{ǩŖĻǕǼǞ08AĤÔǾ=ĉǖǤǀUSB ´ĵɈUSB3.0 ɉǪ HDD ǩȲɅȶȡȂɀȍȢȾǪȡɅțǾȐȬɅǘǻǓǦǍǥǎǲǘǁȘɃțɅ5ȦȞȢɂɅȍǌǹǪȁȍȘȖǥǀƥżǨȭȀȃȿǪȐȬɅǍNĿǥǘǁ=ĉÄôǫȘɃțɅǲǥǋYǈQǽǚǏǟǕǈǁ

— 88 —

SENAC Vol. 48, No. 2（2015. 4）n GUI アプリケーションを利用する方法
Ʀ GUI ǾĉǈǞȁȯȾȏɅȔȼɃɈMSC. Mentat, Mathematica, MATLABɉǪzŅǩǫǀɁɅȉȿȴȔɃǩ X
Window System ćhǪŖyǍŋǥǘǁƦ

【UNIX, Linux からの利用】ƦƦ çúǥ X Window System ǍȃɃȖȢɅȿǕǼǤǈǲǘǁɁɅȉȿĤÔǌǹǪæǩɁȎȃɃǖǤǏǟǕǈǁ
X Forwarding ǩǸǺɁɅȉȿČƛǩȁȯȾȏɅȔȼɃČƛǍňęǕǼǲǘǁ
Ʀ
É²¹ 2. Matlab £Q¢	
  localhost$	
  ssh	  -­‐i	  ~/.ssh/id_rsa	
  利用者番号@front.cc.tohoku.ac.jp	
  Enter	
  passphrase	
  for	
  key	
  '/home/localname/.ssh/id_rsa':パスフレーズを入力	
  （初回接続時のメッセージ）	
  :	
  yes	
  を入力	
  front1	
  $	
  matlab	
  	
  
	
  

ƿɌƦ oÁtǪƽXƾǥǘǁ【Windows からの利用】l 6¥¿É®Í±ÇÌ£ 6¢^Ʀ Windows ĉ X ȒɅȨǫǀX ȒɅȨȚȭȢǦǖǤǈǏǢǌǪȷɅȉǌǹŪlǕǼǤǈǲǘǁƦ Ʀ ɄASTEC-X ɈȁȖȠȞȍɄȆȞȍȖɉƦ Ʀ ɄExceedɈOpen Text ExceedƦ ȈɅȯɃȠȋȖȢɄȆȍȔɅȣɉƦ ǜǼǝǼǪ=ĉÄôǩǢǈǤŚǖǏǫPĚǪ HP ǾǔJýǏǟǕǈǁǧǠǹǪȚȭȢǶüÂŘ"ĀǍǇǺǲǘǁ	 l ~ 9 t £¦Ì²¹ÍÊ¢^Ʀ Windows ǩǃOracle VM VirtualBoxǄɈǃVirtualBoxǄɉǦǈǉ¡EȚȭȢȄȅȁǾȃɃȖȢɅȿǖǀǜǪć
hǩ Linux ǾȃɃȖȢɅȿǖǲǘǁƦ ǃVirtualBoxǄǫǪȱɅȕǌǹȜȄɃɁɅȣǥǎǲǘǁǃVirtualBox platform packagesǄɈĄ`ĉǖǤǈ
ǻ OS ǩQǡǞǶǪɉǦǃVirtualBox Extension PackǄǪÄǾȜȄɃɁɅȣǖǀȃɃȖȢɅȿǾŅǡǤǏǟǕǈǁȃ
ɃȖȢɅȿÄôǪŚĭǫȴȥȺȁȿǾǔJýǏǟǕǈǁ2015  3 ÏĄ`ǪÎÃĀǫ 4.3.24 ǥǘǁ
VirtualBox ȜȄɃɁɅȣɏ

https://www.virtualbox.org/wiki/Downloads

— 89 —

アプリケーションサービスの紹介

VirtualBox 4.3.24 Q7\

Ʀ Linux ǪȡȂȖȢȾȫȺɅȔȼɃǀȨɅȕȼɃǩǸǡǤǫ GUI ȁȯȾȏɅȔȼɃǍìǖǏňęǕǼǨǈfQǍǇǺǲ
ǘǁȘɃțɅǥCėŜǾŅǡǤǈǻǪǫǀDebian 7.4.0 ǥǘǁǪȱɅȕǌǹȜȄɃɁɅȣǖǀVirtual BoxǪ¡ćhǩȃɃȖȢɅȿǖǤǏǟǕǈǁX Window System Ǫ=ĉǟǑǨǹȃɃȖȢɅȿ CDɈ680MBɉǪȃɃȖȢɅȿǥNĿǥǘǁȃɃȖȢɅȿÄôǪŚĭǫPȴȥȺȁȿǾǔJýǏǟǕǈǁ
Debian ȜȄɃɁɅȣɏ

http://www.debian.org/CD/

Ʀ Linux ǾȃɃȖȢɅȿ GNOME classic ȸɅȣǥůCǖǀLinux ǪĤÔǌǹ ǅUNIX, Linux ǌǹǪ=ĉǆ ǦS
æǩ=ĉǥǎǲǘǁ
Windows ¢ÐÑÒÓÔÎDebian 7.4.0Ï

— 90 —

SENAC Vol. 48, No. 2（2015. 4）【OS X からの利用】
Ʀ OS X ǥǫçúǥ X Window System ćhǪǃX11.appǄǍȃɃȖȢɅȿǕǼǤǈǲǘǪǥǀOS X ǪĤÔǌǹ
ǅUNIX, Linux ǌǹǪ=ĉǆǦSæǩ=ĉNĿǥǘǍǀGUI ȁȯȾȏɅȔȼɃǩǸǡǤǫňęǪ4QǍǇǻf
QǍǇǺǲǘǁǜǪfQǫǀ Windows に仮想的な Linux をインストールする場合	
 ǦSæǪÄôǥǀLinux ǾȃɃȖȢɅȿǖǤǔ=ĉǏǟǕǈǁ	
 
	
 
	
 

— 91 —

アプリケーションサービスの紹介

アプリケーションソフトウェア
ƚıƤđ9sŴƁŔħȯɁȎȽȶƦƦƶƸƼƻƻƹƸƺ ȯȾȳȖȢȔȖȠȶƦ
Ʀ^KıųŀC³ĬȯɁȎȽȶƦ ƦƦòĉåŽőÜȯɁȎȽȶƦƦƦƦåŽőÜĉòĉȯȾȳȖȢȚȭȢȄȅȁƦ
ƦÀ7ĆȯɁȎȽȶƦƦƦƦĝw©ņŔħœŝƦ
Ʀ
Ʀ

[C]9

qehƦq}^qyyuff^uzmcu^d^uzmcu^uƦ
uzmcxƦu Ʀuk{tklƦ

SWM?¿Ë­ÈÃ Gaussian09

Ʀ Gaussian ǫǀCarnegie-Mellon owǪ Pople Ǿ ǦǖǤƋďǕǼǞ9sŴƁŔħȯɁȎȽȶȩȞȏɅȕǥǘǁĩ]ǩǽǞǻƚıƤđȸȡȿǋǸǮGıƤđȸȡȿǾȒȳɅȢǖǤǈǲǘǁƦ ÕȘɃțɅǪ Gaussian ǩǫǀǪǸǉǨāƉǍǇǺǲǘǁ
•	  Îo ƭƯ :ǲǥǪ:7ĆǍŅǊǀzŅÈƌǪĔĺǍNĿǥǘǁƦ•	  ȖȍȽȞȝȭȀȃȿƧȠɃȳȽȾȭȀȃȿƨǾƥżǨ ƷƷƵ ȡȂȖȍǩĻǏǓǦǩǸǺǀȭȀȃȿ08AÈƌǍĔĺǕ
ǼǲǘǁƦn サービスホスト・バージョン
front.cc.tohoku.ac.jp Ʉ Gaussian09 D.01

n 利用方法Ʀ ǫ Gaussian =ĉÄôǪãŋǥǘǁ

【実行コマンド】
Ʀ Gaussian ǪȃɃȯȞȢȭȀȃȿǫǀ­sǾ .com Ǧǖǲǘǁ ( ɏƦ e2-01.com )Ʀ ȃɃȯȞȢȭȀȃȿǾ Windows ǪȆȡȂțǥ¥ǖǞfQǀ­s.com ǪȭȀȃȿǫ Windows ǥǫzŅȭȀ
ȃȿǦŜŧǕǼǻǞǵǀ ŞǡǤȜȮȿȍȾȞȍǨǧǥȃɃȯȞȢȭȀȃȿǾzŅǖǨǈǸǉǔö¢ǏǟǕǈǁ ǲǞǀȭȀȃȿŵźȚȭȢǥ front ǩŵźǘǻƔǩǫȁȖȋɅȸɅȣǾ¯yǖǀŵźǖǤǏǟǕǈǁ
Ʀ front.cc.tohoku.ac.jp ǩɁȎȃɃǀ subg09 ȐȴɃȣǩȋȺɅTǦ0AȯɁȎȽȶTǾ¯yǘǻǓǦǩǸǺǀȨ
ȞȝȾȍȆȖȢǦǖǤzŅǕǼǲǘǁȾȍȆȖȢǫȁȯȾȏɅȔȼɃĉǪ=ĉ£ɈıƀÈƌü>ƎǀÎo:À
24ǀÎoȷȸȾ 128GBɉǩª0ǖǲǘǁ— 92 —

SENAC Vol. 48, No. 2（2015. 4）

É²¹ 3. e2-01.com £K-¢¯ÂÌº(subg09 ¯ÂÌº¾¤¦Ê£#¢Z" .com £:¡)	
  [front1	
  ~]$	
  subg09	
  -­‐q	  lx	
  -­‐b	
  a	
  e2-­‐01	  	
  【12 および 24 並列実行の指定】
Ʀ ÕȘɃțɅǥȒɅȫȖǖǤǈǻ Gaussian ǥǫǀ12 ǋǸǮ 24 :ǥǪ:7ĆǍNĿǥǘǁoǎǨ9sǪőÜǩǛǭǔ÷ĉǏǟǕǈǁƦ
12 ǲǞǫ 24 :ǥzŅǘǻǩǫǀȿɅȢȘȍȔȼɃǩ Link 0 ȐȴɃȣǪ%NProc=:ÀǾŹBǖǲǘǁ§0A
ǪfQǫǀȠȋȖȢȆȡȂțǥ/ƟŅǩŹBǀ GaussView ĦǥǫȃɃȯȞȢȭȀȃȿ¥ČƛǪ Link 0 sectionǪƜǩŹBǖǤǏǟǕǈǁ
Ʀ【使用メモリ量の指定】
Ʀ zŅǖǤǃȷȸȾƅǍŲǺǨǈǄǦǈǉȆȽɅǩǨǡǞfQǫǀ Link 0 ȐȴɃȣ %Mem= ǥĉȷȸȾƅǾiǷǖ
ǤǏǟǕǈǁ
Ʀ
É²¹ 4. 24 ÄÅÉ 16GB N£¦Ì¿·¹¾¤¦Ê e2-01.com £G¢	
  [front1	
  ~]$	
  cat	
  e2-­‐01.com	
  ^¦Ì¿·¹¾¤¦Ê£I<^	
  	
  %NProc=24	
  	
  	
  	
  ^ & 	  
	  %Mem=16Gb	
  	
  	
  	
  ^ÄÅÉX 	
  	
  	
  	
  
	
  #	
  RHF/6-­‐31G(d)	
  Pop=Full	
  Test	  	  	  Formaldehyde	
  Single	
  Point	
  
	
  
	
  0	
  1	
  
	
  C	
  	
  	
  0.	
  	
  	
  0.	
  	
  	
  0.	
  
	
  O	
  	
  	
  0.	
  	
  1.22	
  	
  0.	
  
	
  H	
  	
  .94	  	
  -­‐.54	
  	
  0.	
  
	
  H	
  -­‐.94	
  	
  -­‐.54	
  	
  0.	
  
	
  
[front1	
  ~]$	
  subg09	
  -­‐q	  lx	
  -­‐b	
  a	
  e2-­‐01	  	
  【実行結果の確認】
Ʀ ŔħǍįǘǻǦǀȃɃȯȞȢȭȀȃȿTǩ­s.log ǍǢǑǹǼǞĲÞȭȀȃȿ ( ɏ e2-01.log )Ǎ¥ǕǼǲǘǁŔħĲÞǾǫǗǵǀCPU ÈƌǨǧǪŔħéĉƅǩƍǘǻ eǶǓǓǩUǲǼǲǘǁ
ìįǨǹǬǀǓǪȭȀȃȿǪÔǩ ǃNormal termination of Gaussian 09.ǄǦǈǉȷȞȘɅȕǍ8AǕǼǲǘǁȭȀȃȿǪÔǾňęǘǻ tail ȐȴɃȣǥėŜǥǎǲǘǁ

アプリケーションサービスの紹介— 93 —

É²¹ 5. GD.;O[front1	
  ~]$	
  tail	
  e2-­‐01.log	
  
	
  :	
  
	
  Job	
  cpu	
  time:	  	  0	
  days	  	  0	
  hours	  	
  0	
  minutes	
  30.7	
  seconds.	
  	
  File	  lengths	  (MBytes):	  	
  RWF=	
  	
  	
  11	
  Int=	
  	
  	
  	
  0	
  D2E=	
  	
  	
  	
  0	
  Chk=	
  	
  	
  	
  8	
  Scr=	
  	
  	
  	
  1	
  
	
  Normal	
  termination	
  of	
  Gaussian	
  09	
  at	
  Mon	
  Nov	  1	  12:00:00	
  2006.	
  
	
  

•	
  ĲÞȭȀȃȿǪŚĭǨŌÄǫǀȴȥȺȁȿĦǾǔJýǏǟǕǈǁƦ

【チェックポイントファイル】
Ʀ ȝȅȞȍȳȃɃȢȭȀȃȿǫǀȡȭȇȿȢǥ¥ǕǼǻĲÞȭȀȃȿɈ.log ȭȀȃȿɉǸǺŚĭǨĲÞǍ8AǕǼǀŔ
ħǪǷǺĒǖǷĲÞǾČ,ňęǘǻǞǵǨǧǩĉǕǼǲǘǁȝȅȞȍȳȃɃȢȭȀȃȿǾ8AǘǻǩǫǀȿɅȢȘȍȔȼɃǩ Link 0 ȐȴɃȣǪ _m jチェックポイントファイル名 ǾŹBǖǲǘǁ

n マニュアルƦ ÕȘɃțɅÕƣ 1 ƒ =ĉēŢ{ǩǪŮÂǾ+ǊǤǇǺǲǘǁ
•
•
•
•
•
•
•
•

ƗsåŽŤǩǸǻEwǪ³ñ ĥĀ,ȊȄȔȁɃĚ,1998
Gaussian 09 User's Reference
Gaussian 09 IOps Reference
Gaussian 09 Online Manual, http://www.gaussian.com/
Gaussian ȯɁȎȽȶǩǸǻƅsEwŔħȴȥȺȁȿƦ ɏƦ d¤êɊ Z8Ā
ǘǐǥǎǻƅsEwŔħȫȌȤɅȗȴȥȺȁȿƦ ɏƦ íêƆ ɊŦŢĚǘǐǥǎǻ9sȔȵȺɀɅȔȼɃȫȌȤɅȗȴȥȺȁȿƦ ɏƦ ƉìƑɊŦŢĚ
Gaussian ȯɁȎȽȶǥwǯ eEwɄŔħEwzƤƦ ɏƦ d¤êɊ Z8Ā

Gaussian ¿ÉÁ²¹±²¸Ã GaussView
Ʀ GaussView ǫǀ9sŴƁŔħȯɁȎȽȶ Gaussian ǪȯȾȳȖȢȔȖȠȶǥǘǁWindows 8/7/Vista, LinuxºŶǪȩȚȐɃǨǧǥCǖǀ0AȡɅțǪ¥ǀŔħĲÞǪNŎEǾ 3 ê.đǩŅǉǓǦǍǥǎǲǘǁ

n バージョンưƪƫƪƱƦ
^n お申し込み^Ʀ =ĉǔÑǪÄǩǀ GaussView Ǫ CD-ROM ǾŬǖ8ǖǈǞǖǲǘǁƦ Ʀ =ĉØƦ Ʀ Ʀ Ʀ ɄÚFow5ǪÄ

— 94 —

SENAC Vol. 48, No. 2（2015. 4）

Ʀ CD-ROM ǫǀǋ§ÀǥǘǍ Gaussian =ĉċţÍǾȲɅȶȱɅȕǸǺȜȄɃɁɅȣǖǤǔŕ0ǪǀȘɃțɅǲǥĒ´ǋűǖǏǟǕǈǁ

n 利用方法Ʀ ȃɃȖȢɅȿÄôǀȡɅț¥ÄôǨǧǩǢǈǤǫSßȴȥȺȁȿǲǞǫǪɑɒǾǔJýǏǟǕǈǁ
^ȪȺɅȾɃȍȖ Gauss View 5ɏ http://www.hulinks.co.jp/software/gaussview/Ʀ :ȐɃȬȺɅț front.cc.tohoku.ac.jp Ǫ Gaussian ǥőÜǾzŅǘǻ§ƝƦƦ
1. 0AȡɅț¥ǀGaussian ǪȃɃȯȞȢȭȀȃȿǃ.comǄǦǖǤȆȍȖȳɅȢǖǲǘǁ
2. ȃɃȯȞȢȭȀȃȿǾ front.cc.tohoku.ac.jp ǩŵźǖǲǘǁ
3. front.cc.tohoku.ac.jp ǩɁȎȃɃǖǲǘǁ
4. subg09 ȐȴɃȣǩǸǺőÜǾzŅǖǲǘǁ
5. ĲÞȭȀȃȿǾŵźǖ GaussView ǥňęǖǲǘǁ
ƦȝȅȞȍȳȃɃȢȭȀȃȿ(.chk)ǫǀGaussian ǪȻɅȠȂȾȠȂȐȴɃȣ formchk ǩǸǺÍ(.fchk)ǩm¸ŵźǖǤǏǟǕǈǁ

CRF$A¿Ë­ÈÃ GRRM11
Ʀ GRRM ǫǀ2002 ǩÚFowɈ¿±ɏoƄ2ǀ&kɌɏ?ĊĆǀÈɉǥ>ǍƋrǕǼǀǜǪƋďǍſǵǹǼǤǀ2011 ǩǫ GRRM11ɈƋďľɏ ?ĊĆǀƉĊÐǀťþq6ǀoƄ2ɉǦǖǤǏ=ĉǕǼǻǸǉǩǨǺǲǖǞǁGRRM ǩǫǀǪǸǉǨāƉǍǇǺǲǘǁ
••g09 Ƿ g03 ȯɁȎȽȶǨǧǾĉǈǞƚıƤđƅsEwŔħǩcǣǈǤǀPEwǥňǕǼǻåŽ
ǷKıųǾŀCđǩ³Ĭǖǲǘǁ
ŇåŽǌǹ8ďǖǤǀǜǪW]ǩu`ǘǻKıųǾǀȳȠɃȔȹȿǪƚšXÄîǳǾá8ǖǤǀĪĴđǩšǱǒǻŰąƛ³ĬȁȿȑȾȗȶǍºŶǕǼǤǋǺǀÙNĿǥǇǡǞɎIsǪKıųŀC³ĬǾŅǉǓǦǍǥǎǲǘǁ

n サービスホスト・バージョン
front.cc.tohoku.ac.jp Ʉ 11.01

n 利用方法Ʀ =ĉÄôǫȘɃțɅǪȲɅȶȱɅȕɈhttp://www.ss.cc.tohoku.ac.jp/application/grrm11.htmlɉǾǔŏǏǟǕ
ǈǁn GRRM プログラムの詳細
Ʀ GRRM ǪŚĭǩǢǈǤǫǀNPO ô ƅsEw³ĬĕĠ¦Ɉhttp://iqce.jp/ɉǀEwKıųŀC³ĬǪ
Web ȱɅȕ(http://grrm.chem.tohoku.ac.jp/GRRM/)ǾJýǖǤǏǟǕǈǁǲǞǀGRRM ȯɁȎȽȶǫĄ`Ǖǹ

— 95 —

アプリケーションサービスの紹介ǩƋďǍſǵǹǼǤǈǲǘǁ=ĉôǪŚĭǷÃǖǈ
(žĳ/ȁȣɀȖɏohnok@m.tohoku.ac.jp)eǾǻǩǫǀƋďľǦžĳǾǦǻǓǦǾǋDǵǖǲǘǁ

n GRRM プログラムの文献と研究成果発表時の引用義務
Ʀ GRRM11 ǾĉǈǤǞ¥ÞǾ2ňǘǻǦǎǫǀêǪǸǉǨǥǀŃľT, ȯɁȎȽȶT, version TɈGRRM
8AǪ log ȭȀȃȿJýɉǾĉÁăǦǖǤŕŶǖǤǏǟǕǈǁ	  Satoshi	  Maeda,	
  Yuto	  Osada,	  Keiji	  Morokuma,	
  and	
  Koichi	
  Ohno,	  GRRM11,	
  	
  Version	  11.01,	
  2011.	
  	
  Ʀ ǲǞǀGRRM ȯɁȎȽȶǩºŶǕǼǞȈȯȔȼɃǪŚĭǩǢǈǤǫǀǜǼǝǼŕǪÁăǾJýǖǤǏǟǕ
ǈǁǓǼǹǪȈȯȔȼɃǾ=ĉǖǤǞĕĠ¥ÞǾ2ňǘǻƔǩǫǀêǩęǘ GRRM ǩƍǘǻɍǢǪcÕÁă
(1)-(3)ǋǸǮǀǩęǕǼǞPȈȯȔȼɃǩǘǻÁăǾĉǖǨǑǼǬǨǺǲǚǿǁ
l qyyui^^(1) K. Ohno, S. Maeda, A Scaled Hypersphere Search Method for the Topography of Reaction
Pathways on the Potential Energy Surface., Chem. Phys. Lett., 2004, 384, 277-282.; (2) S. Maeda, K.
Ohno, Global Mapping of Equilibrium and Transition Structures on Potential Energy Surfaces by the
Scaled Hypersphere Search Method: Applications to Ab Initio Surfaces of Formaldehyde and Propyne
Molecules., J. Phys. Chem. A, 2005, 109, 5742-5753.; (3) K. Ohno, S. Maeda, Global Reaction Route
Mapping on Potential Energy Surfaces of Formaldehyde, Formic Acid, and their Metal Substituted
Analogues., J. Phys. Chem. A, 2006, 110, 8933-8941.
l gxzrzi^^
S. Maeda, K. Ohno, A New Approach for Finding a Transition State Connecting a Reactant and a
Product without Initial Guess: Applications of the Scaled Hypersphere Search Method to Isomerization
Reactions of HCN, (H2O)2, and Alanine Dipeptide., Chem. Phys. Lett., 2005, 404, 95-99.
l zm~i^^
S. Maeda, K. Ohno, Conversion Pathways between a Fullerene and a Ring among C20 Clusters by aSphere Contracting Walk Method: Remarkable Difference in Local Potential Energy Landscapesaround the Fullerene and the Ring., J. Chem. Phys., 2006, 124, 174306/1-7.
l tknnb^vtb^vy|vi^
S. Maeda, K. Ohno, Structures of Water Octamers (H2O)8: Exploration on Ab Initio Potential Energy
Surfaces by the Scaled Hypersphere Search Method., J. Phys. Chem. A, 2007, 111, 4527-4534.
l p^ki^
S. Maeda, K. Ohno, Lowest Transition State for the Chirality-Determining Step in Ru{(R)-BINAP}Catalyzed Asymmetric Hydrogenation of Methyl-3-Oxobutanoate., J. Am. Chem. Soc., 2008, 130,17228-17229.
l o^ki^
S. Maeda, K. Ohno, K. Morokuma, An Automated and Systematic Transition Structure Explorer in
Large Flexible Molecular Systems Based on Combined Global Reaction Route Mapping andMicroiteration Methods., J. Chem. Theory Comput., 2009, 5, 2734-2743.
l wi^
S. Maeda, K. Ohno, K. Morokuma, Updated Branching Plane for Finding Conical Intersections without
Coupling Derivative Vectors., J. Chem. Theory Comput., 2010, 6, 1538-1545.
l upi^
S. Maeda, K. Ohno, K. Morokuma, Automated Global Mapping of Minimum Energy Points on Seams of
Crossing by the Anharmonic Downward Distortion Following Method: A Case Study on H2CO., J. Phys.

— 96 —

SENAC Vol. 48, No. 2（2015. 4）

Chem. A, 2009, 113, 1704-1710.; S. Maeda, K. Ohno, K. Morokuma, Exploring Multiple Potential
Energy Surfaces: Photochemistry of Small Carbonyl Compounds, Adv. Phys. Chem. 2012, 2012,
268124.

n マニュアル
Ʀ PDF ǪȴȥȺȁȿǍȘɃțɅǪȲɅȶȱɅȕǌǹJýǥǎǲǘǁ
•GRRM ȯɁȎȽȶ=ĉȊȃȣ
•GRRM ǪzŅÄôɈÚFowȒȃȨɅȒȃȆɃȖȘɃțɅĹɉƦ ÕȘɃțɅÕƣ 1 ƒ =ĉēŢ{ǩǪŮÂǾ+ǊǤǇǺǲǘǁ
•GRRM11 User ManualɈłŝĀɉ

16/VK-¿Ë­ÈÃ MSC.Marc / MSC.Marc Mentat
Ʀ MSC.Marc ǫÐƎŋīôǩǸǻƚĸòĉåŽőÜȯɁȎȽȶǥǘǁč ǥǏ=ĉǕǼÎǶŘ"ǾMǑǤǈǻȯɁȎȽȶǪǢǥǀǜǪ¨ǊǻőÜǫǪŻǺƚǩĩ]ǩǽǞǡǤǈǲǘǁƦ ƚĸɋomɋ´Œɋgɋ@gɋĖjɋÿɋCđƚĸɋhčƚĸøǦ^Ǫž¥ɋƗïǦÿǪž¥ɋÿǦAǪž¥Ʀ MSC.Marc Mentat ǫǀòĉåŽőÜȯɁȎȽȶ Marc ǪřaȯȾɋȳȖȢȯɁȘȞȒǦǖǤǀÐƎŋīȸȡȿǪ¥ǋǸǮőÜĲÞǪňęǍŅǊǲǘǁ

n サービスホスト・バージョン
front.cc.tohoku.ac.jp Ʉ MSC.Marc /MentatƦ 2013n 利用方法
Marc ǪȯȾȳȖȢȯɁȘȞȒǦǖǤǀMentat Ǫǩ MSC.Patran Ƕ·!ǖǤǈǲǘǁ

【run_marc コマンドでの解析実行】l G¯ÂÌº^Ʀ Marc Ǫ0AȭȀȃȿǫǀ­sǾ .dat Ǧǖǲǘǁ ( ɏƦ job-name.dat )Ʀ front.cc.tohoku.ac.jp ǩɁȎȃɃǀƦ run_marc ȐȴɃȣǩ0AȭȀȃȿTǾ¯yǖzŅǘǻǓǦǩǸǺǀȨȞ
ȝȾȍȆȖȢǦǖǤőÜǍŅǽǼǲǘǁȕȼȮȍȽȖǪ¯yǫŋǇǺǲǚǿǁŀCđǩȁȯȾȏɅȔȼɃĉǪ=ĉ£ɈıƀÈƌü>ƎǀÎoȷȸȾ 128GBɉǩª0ǕǼǲǘǁ
É²¹ 6. job-name.dat £K-¢¯ÂÌº(run_marc ¯ÂÌº¾¤¦Ê£#¢Z" .dat £:¡)	
  [front1	
  ~]$	
  run_marc	  -­‐jid	
  job-­‐name	
  -­‐v	
  n	
  
	
  

— 97 —

アプリケーションサービスの紹介

I 3. run_marc ª¿±ÇÌȈȯȔȼɃ-jid (-j) job-name (ƞ)şÆ0AȭȀȃȿT job-name.dat Ǿ¯y-cpu 秒数

cpu ÈƌǪ>Ǝ

-ver (-v)

yes(ȡȭȇȿȢ)noȨȞȝȾȍȆȖȢª0?ǩėŜǘǻǁ
ȨȞȝȾȍȆȖȢǾǞǟǠǩª0ǘǻǁ

-user (-u) user_nameȻɅȓȒȮȿɅȝɃ user_name.f Ǿ¯y•	  ǜǪǪȈȯȔȼɃǫǀǃȴȥȺȁȿ ƴ ĹƦȯɁȎȽȶ0AƦƇ ƳƦň ƳƩƭǄƦǾǔJýǏǟǕǈǁƦƦl ƦƦK-D.^Ʀ ȨȞȝȾȍȆȖȢǍįǘǻǦǀ
job-name.out
job-name.log
job-name.t16
job-name.sts
job-name.batch_err_log

ǩǪǸǉǨȭȀȃȿǍ¥ǕǼǲǘǁ
(őÜĲÞ)(őÜɁȎ)(ȳȖȢȭȀȃȿ)(ȖȠɅțȖɀȳɅȢȭȀȃȿ)(ȆȽɅɁȎ)Ʀ őÜÈǪ¯yǩǸǡǤǀǓǪǩǶȭȀȃȿǍ¥ǕǼǲǘǁǜǼǹǪȭȀȃȿǪãŋǫǀǃȴȥȺȁȿ ƴ ĹȯɁȎȽȶ0AƦƇ ƳƦň ƳƩƬǄƦǾǔJýǏǟǕǈǁƦ
l B8^`^a^Ʀ őÜĲÞȭȀȃȿ( job-name.out )ǪÔǩǇǻ marc exit number ǩǸǺǀìǩįǖǞǌǀȆȽɅįǌǀǲǞȆȽɅįǪfQǫǜǪI\ǍǽǌǺǲǘǁ
É²¹ 7. B8£;O¢(tail ¯ÂÌº job-name.out +£I<)	
  	
  [front1	
  ~]$	
  tail	  job-­‐name.out	  	
  ***********************************************************	  	
  MSC.Marc	  Exit	  number	  3004	  	
  check	
  marc	  exit	  passed	
  [front1	
  ~]$	  	  

— 98 —

SENAC Vol. 48, No. 2（2015. 4）

I 4. B8
įĎO
3004
13
2004
3002

şÆ
ìįƦ
0AȡɅțǩȡɅțȆȽɅǍá8ǕǼǞǁƦ
@mǍďĈǖǤǈǻǀǲǞǫ1@ȴȢȾȍȖǍƚìyȴȢȾȍȖǩǨǡǤǈǻǁƦ¯yǖǞȾȒȃȍȿÀ5ǥL×ǖǨǈǁƦ

•	  ǓǪǪĎOǩǢǈǤǫǀǃȴȥȺȁȿ ƴ ĹƦȯɁȎȽȶ0AƦƇ ƲǄƦǾǔJýǏǟǕǈǁƦ

【プリポストプロセッサ Mentat からの解析実行】l u Q^
Ʀ Mentat ǪůCǩǫǀ:ȐɃȬȺɅțǩ´ĵǘǻƔǩ X forwarding ǪŖyǾŅǉŋǍǇǺǲǘǁ
Mentat2013 ǥǫÃ GUI Ǿ²ĉǖǤǈǲǘǁÙǪ Classic GUI ǫ mentat.classic ǦǈǉȐȴɃȣǥǔ=ĉǥǎǲǘǁ
É²¹ 8. mentat Q(2	  yourhost$	
  ssh	  -­‐X	
  front.cc.tohoku.ac.jp	
  –l	
  利用者番号	
  
	
  	
  	
  :	
  
	
  [front1	
  ~]$	
  mentat	
  	
  	
  

	
  

（新 GUI 版）	
 

	
  
	
  [front1	
  ~]$	
  mentat.classic	
  	
  （Classic 版）	
 	  l K-G^ Î' q|s 3Ï^Ʀ Mentat ǥȸȡȿǾ¥ǖǀőÜǪǞǵǪŖyǾŅǡǞǀțȮȷȥȺɅ őÜȕȼȮ Ʀ -> Ãō -> őÜțȃȯǾƂ« ->Ʀ zŅ -> zŅɈ1ɉ
Ǧǈǉ¼ǾǘǻǓǦǥǀȨȞȝȾȍȆȖȢǦǖǤőÜǾzŅǖǲǘǁ
ȟɅȿȨɅȷȥȺɅ ȭȀȃȿɈFɉ Ʀ -> Íǎ8ǖ -> Marc 0A...
ǦǘǻǓǦǥǀrun_marc ȐȴɃȣĉ0AȭȀȃȿ( .dat ȭȀȃȿ)Ǿ¥ǘǻǓǦǍǥǎǲǘǁ
l K-G^ Îm 3Ï^
Mentat ǥȸȡȿǾ¥ǖǀőÜǪǞǵǪŖyǾŅǡǞǀȷȃɃȷȥȺɅ JOBS Ʀ ->Ʀ RUN Ʀ -> Ʀ submit1
Ǧǈǉ¼ǾǘǻǓǦǥǀȨȞȝȾȍȆȖȢǦǖǤőÜǾzŅǖǲǘǁ
ȖțȠȂȞȍȷȥȺɅ FILES Ʀ -> Ʀ MARC INPUT FILE WRITE
ǦǘǻǓǦǥǀrun_marc ȐȴɃȣĉ0AȭȀȃȿ( .dat ȭȀȃȿ)Ǿ¥ǘǻǓǦǍǥǎǲǘǁ

n サンプルプログラムƦ
【Marc】
ȴȥȺȁȿ E ĹǩµŶǕǼǤǈǻ ƠǍǀ:ȐɃȬȺɅț front.cc.tohoku.ac.jp Ǫ/usr/ap/MSC2013/marc2013/demo/ǩǇǺǲǘǁȐȬɅǖǤǔ=ĉǏǟǕǈ
【Mentat】
ȴȥȺȁȿǃȻɅȓȊȃȣǄ ǩµŶǕǼǤǈǻ ƠȭȀȃȿǍǀ:ȐɃȬȺɅț front.cc.tohoku.ac.jp Ǫ/usr/ap/MSC2013/mentat2013/examples/marc_ug/ǩǇǺǲǘǁȐȬɅǖǤǔ=ĉǏǟǕǈǁ

アプリケーションサービスの紹介— 99 —n マニュアルƦ
PDF ǪȴȥȺȁȿǾ·!ǖǤǈǲǘǁ
PȴȥȺȁȿǫǀ:ȐɃȬȺɅțɈfront.cc.tohoku.ac.jpɉ ǪǪȡȂɀȍȢȾǩǇǺǲǘǁ
/usr/ap/MSC2013/mentat2013/doc/
release_guide.pdf:Ʀ Release GuideɈ2013 łŝĀɉ
release_guide.pdf:Ʀ What’s newɈ2013 łŝĀɉ
mt_help_ref.pdf:Ʀ MSC.Marc Mentat Help ReferenceɈ2013 łŝĀɉłÁȴȥȺȁȿƦ Ʀ /usr/ap/MSC2013/mentat2013/doc/(volavole)vola.pdf:Ʀ Volume AɏTheory and User Information
volb.pdf:Ʀ Volume BɏElement Library
volc.pdf:Ʀ Volume CɏProgram Input
vold.pdf:Ʀ Volume DɏUser Subroutines and Special Routinesvole.pdf:Ʀ Volume EɏDemonstration Problems
XÁȴȥȺȁȿ (MSC.Marc2003 Ā)Ʀ Ʀ /usr/ap/MSC2013/mentat2013/doc/japanese/
vola.pdf:Ʀ A Ĺ ĆŤǋǸǮȻɅȓɅ evolb.pdfƦ Ʀ Ʀ Ʀ Ʀ Ʀ Ʀ :Ʀ B Ĺ ŋīȽȃȮȽȾ
volc.pdfƦ Ʀ Ʀ Ʀ Ʀ Ʀ:Ʀ C Ĺ ȯɁȎȽȶ0A
vold.pdfƦ Ʀ Ʀ Ʀ Ʀ Ʀ:Ʀ D Ĺ ȻɅȓȒȮȿɅȝɃǋǸǮā<ȿɅȝɃ
vole.pdfƦ Ʀ Ʀ Ʀ Ʀ Ʀ:Ʀ E Ĺ ƠƖ
new_features.pdfƦ :Ʀ ÃéĿȊȃȣ
marc_ug.pdfƦ Ʀ Ʀ Ʀ :Ʀ ȻɅȓȊȃȣ
mt_help_ref.pdfƦ Ʀ :Ʀ Mentat 2003 ȰȿȯȾȭȀɀɃȖ
xsec_adden.pdfƦ Ʀ :Ʀ ȣȋȺȷɃȢŉŲŮÂ*YJ@2¿Ë­ÈÃ16¿ÉÁ²¹³¾¹§¨¥ MSC.PatranƦ MSC.Patran ǫǀÐƎŋīôåŽőÜȯɁȎȽȶ MSC.Nastran ĉǦǖǤƋďǕǼǞȯȾȳȖȢȚȭȢȄȅȁǥ
ǘǁÕȘɃțɅǥǫ Marc Ǫ=ĉǾȒȳɅȢǘǻǞǵǩȒɅȫȖǖǤǈǲǘǁ
Ʀ MSC.Patran ǫnǏǪ CAD ǩǘǻȜȃɀȍȢȃɃțɅȭȅɅȖǾǖǤǀìėǥŸżǨ CAD ĂǪȃɃȳɅȢǍNĿǥǘǁǕǹǩ-ǼǞāƉǦǖǤǀƥðúǪȷȞȔȺ¥éĿǷNŎEéĿǩBǊǀ Marc ǦǪŐXǍƥǈǓǦǍ°ǒǹǼǲǘǁ

n バージョン
MSC.Patran2014 Windows ĀɊLinux Ān お申し込み=ĉØɈǪØǾǘǱǤùǞǖǤǈǻÄɉƦ ɄoōèĝwŔħȔȖȠȶǪ=ĉľĎOǾ®ǡǤǈǻÄƦ ɄÕȘɃțɅǥȒɅȫȖǖǤǈǻ Marc ǪȯȾȳȖȢǦǖǤ=ĉǘǻÄ=ĉǔÑǪÄǫǀ3S=ĉ½¹#ǲǥǋYǈQǽǚǏǟǕǈǁ

— 100 —&

SENAC Vol. 48, No. 2（2015. 4）

4¿Ë­ÈÃ Mathematica

Ʀ Mathematica ǫ Stephen Wolfram ǩǸǡǤǹǼǞǀȯɁȎȽȵɃȎœŝǾ+ǊǞÀ7ĆȔȖȠȶǥǘǁ
Mathematica ǪéĿǫǀÀ)ŔħǀŕOŔħǀȎȽȭȂȞȍȖǦǈǉ 3 Ǣǩo<ǥǎǀǓǪ 3 ǢǍǦǨǡǤǈǷǘǈȃɃțȭȅɅȖǾ·!ǖǤǈǲǘǁ

n サービスホスト・バージョン^
front.cc.tohoku.ac.jp Ʉ version 9.0.1

n 利用方法【Mathematica の起動】^l q|s 3^
Ʀ GUI ĀǪ Mathematica ǪůCǩǫǀ:ȐɃȬȺɅțǩ´ĵǘǻƔǩ X forwarding ǪŖyǾŅǉŋǍǇǺǲǘǁ
É²¹ 9. GUI 3Q(2	  yourhost$	
  ssh	  -­‐X	
  front.cc.tohoku.ac.jp	
  –l	
  利用者番号	
  
	
  	
  	
  :	
  
[front1	
  ~]$	
  mathematica	  	
  É²¹ 10. ¸«²¹3Q(2	  yourhost$	
  ssh	  	
  front.cc.tohoku.ac.jp	
  –l	
  利用者番号	
  
	
  	
  	
  	
  :	
  
[front1	
  ~]$	
  math	  	  •	  Mathematica ǪcÕđǨǈÄǫǀƦȴȥȺȁȿɄJĽŮÂƦǷǀWeb ǨǧǾǔJýǏǟǕǈǁƦ

n マニュアル・参考資料
JĽŮÂÕȘɃțɅÕƣɌƒ =ĉēŢ{ǩǀǪŮÂǾ+ǊǤǇǺǲǘǁ
•ȖȠȂɅȮɃȄȿȭȽȶ Mathematica ȮȞȍ (ÅÕŝĀ) ɏ ȢȞȩɃ•
Mathematica ÄôǦĉ ɏ J.W. ȎɀȃɊȒȃȆɃȠȂȖȢĚ
•Mathematica ȯɁȎȽȵɃȎ©ô ɏ R. ȷɅȜɅɊȢȞȩɃ•0Ɗ MathematicaƦ ɏƦ ÅÕ Mathematica ȻɅȓɅɊÚƗéow8Ā•ǫǷǽǌǺ MathematicaƦ ɏƦ äIſɊ3ġ8Ā•
ǶǡǦ Mathematica ǥÀwǾƦ ɏƦ RĊv ɊbƢƣ

アプリケーションサービスの紹介=— 101 —

HM?LP MATLABƦ MATLAB ǫƥéĿǨÀ)ŔħéĿǦnǨNŎEéĿǾ+ǊǞ©ņŔħȚȭȢȄȅȁǥǘǁĝwđǀw
đ9ƄǪæǂǨÀ)Ŕħ(āǩŅ:ûħ)ǀȡɅțőÜǀȔȵȺɀɅȔȼɃǀǋǸǮȫȕȺȁȽȃșɅȔȼɃǪǞǵǪĴQćhǾ·!ǖǤǈǲǘǁ

n サービスホスト・バージョン
front.cc.tohoku.ac.jpƦ ɄƦ R2014a (8.3.0)

n ToolboxȘɃțɅǥ0ǖǤǈǻ Toolbox ǥǘǁ
MATLAB
Simulink
Curve Fitting Toolbox
Communications System Toolbox
MATLAB Compiler
Control System Toolbox
DSP System Toolbox
Fuzzy Logic Toolbox
System Identification Toolbox
Image Processing Toolbox
MATLAB Corder
Model Predictive Control Toolbox
Neural Network Toolbox
Optimization Toolbox
Partial Differential Eauation Toolbox
Fixed-Point Toolbox
Robust Control Toolbox
Simulink Corder
Simulink Control Design
Signal Processing Toolbox
Symbolic Math Toolbox
Simulink Design Optimization
Statistics Toolbox
Simulink Verification and Validation
Wavelet Toolboxn 利用方法【MATLAB の起動】l q|s 3^
Ʀ GUI Ā MATLAB ǪůCǩǫǀ:ȐɃȬȺɅțǩ´ĵǘǻƔǩ X forwarding ǪŖyǾŅǉŋǍǇǺǲ
ǘǁ

— 102 —SENAC Vol. 48, No. 2（2015. 4）

É²¹ 11. GUI 3 MATLAB Q	
  yourhost$	
  ssh	  -­‐X	
  front.cc.tohoku.ac.jp	
  –l	
  利 用者番号	
  
	
  	
  	
  :	
  	
  	
  	
  
	
  [front1	
  ~]$	
  matlab	  	  l ¸«²¹3^^ GUI ǾĉǚǙǀȐȴɃȣȽȃɃǥůCǘǻǓǦǶǥǎǲǘǁ
É²¹ 12. ¸«²¹3 MATLAB Q	
  (yourhost)$	
  ssh	
  front.cc.tohoku.ac.jp	
  –l	
  利用者番号	
  
	
  	
  	
  :	
  	
  	
  	
  
	
  [front1	
  ~]$	
  matlab	
  –nojvm	
  –nosplash	
  –nodesktop	
  -­‐nodisplay	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  <	
  M	
  A	
  T	
  L	
  A	
  B	
  (R)	
  >	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Copyright	
  1984-­‐2014	
  The	  MathWorks,	
  Inc.	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  R2014a	
  (8.3.0.532)	
  64-­‐bit	
  (glnxa64)	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  February	
  11,	  2014	
  
	
  	
  
	
  	
  To	
  get	
  started,	
  type	  one	  of	
  these:	
  helpwin,	
  helpdesk,	
  or	
  demo.	
  	  	
  For	
  product	
  information,	
  visit	
  www.mathworks.com.	
  
>>	
  
	
  	
  

アプリケーションサービスの紹介— 103 —l »·¶ 4^
Ʀ MATLAB Ǫİǳŷǳ:7ĆéĿǾĉǖǀ24 :ǲǥǪ7ĆǍNĿǥǘǁÎoȷȸȾǶ 128GB ǲǥ=
ĉNĿǥǘǁoōèǨŔħǩǔ=ĉǏǟǕǈǁǞǟǖǀȨȞȝ7ĆǥǫȎȽȭ¶ČǨǧČƛ8AǪǇǻȯɁȎȽȶǷǀřđǨ7ĆǫŅǊǲǚǿǁ
Ʀ function ǦǖǤ¥ǖǞ test ǾzŅǘǻǞǵǩǫǪæǨȨȞȝȾȍȆȖȢĉȔȅȿȖȍȾȯȢȭȀȃȿǾ¥ǖǲǘǁȾȍȆȖȢǫȁȯȾȏɅȔȼɃĉǪ=ĉ£ǩª0ǖǲǘǁƦ
É²¹ 13. »·¶É¬©²¹¾¤¦Ê	
  [front1	
  ~]	
  cat	
  job-­‐m	  	  ←バッチリクエストファイルの中身を表示	
  
	
  
#PBS	
  –q	
  lx	
  -­‐b	  a	
  	
  ←アプリケーション専用の利用形態を指定	
  	
  	
  
cd	
  $PBS_O_WORKDIR	
  matlab	
  –nojvm	
  –nosplash	
  –nodesktop	
  -­‐nodisplay	
  –r	
  test	
  	
  
	
  

Ʀ ǪȐȴɃȣǥȾȍȆȖȢǾª0ǖǲǘǁ
É²¹ 14. É¬©²¹!(2	
  [front1	
  ~]$	
  qsub	  job-­‐m	
  Request	
  1234.job	
  submitted	
  to	
  queue:	
  ap.	  	  Ʀ
MATLAB ǪcÕđǨǈÄǫǀ ȴȥȺȁȿɄJĽŮÂǨǧǾǔJýǏǟǕǈǁ

n サンプルプログラム
Ʀ MATLAB ǩǫũ~ǨȡȸǍǇǺǲǘǪǥǀǔ=ĉǏǟǕǈǁMATLAB ǥǀdemo ȐȴɃȣǾzŅǘǻǦǀȡ
ȸČƛǍƋǎǲǘǁ

n マニュアル・参考資料【マニュアル】
Ʀ ÅÕŝȈɃȽȃɃȴȥȺȁȿǍ2ƋǕǼǤǈǲǘǁǪȱɅȕǾǔJýǏǟǕǈǁ
http://www.mathworks.co.jp/help/ja_JP/techdoc/index.html

Ʀ【参考資料】Ʀ ÕȘɃțɅÕƣɌƒ =ĉēŢ{ǩǀǪŮÂǾ+ǊǤǇǺǲǘǁ
MATLAB ǩǸǻ>ĆŤǪcĘ ɏ Ƅõ*ńɊÚƗéow8Ā
MATLAB ǩǸǻ>ǪǞǵǪȔȖȠȶSy ɏ Ųġ&ɊÚƗéow8ĀǟǼǥǶǽǌǻ MATLABƦ ɏƦ óIƕģɊbƢƣǫǷǽǌǺ MATLAB ĥ 2 Ā ɏ ŁƄƑɊ3ġ8Ā
ÎÃ MATLAB ȧɃȣȮȞȍĥ 3 Ā ɏ ÝŅɊĜXȔȖȠȶ

— 104 —

ƦƦƦ
ƦƦƦ
ƦƦƦ
ƦƦƦ

SENAC Vol. 48, No. 2（2015. 4）

MATLAB ȎȽȭȂȞȍȖƖ ɏ _ AɊÒ'Í
MATLAB Ǧ=ĉǪzƔ ɏ _ AɊȒȃȆɃȖĚ
MATLAB ǪķQĉƦ ɏƦ ƥŨƃpɊàF8ĀÎÃǊǻɆMATLABƦ ɏƦ ƙ ūɊŦŢĚǊǻɆMATLAB/Simulink ȯɁȎȽȵɃȎƦ ɏƦ ƙ ūɊŦŢĚ
MATLAB ǩǸǻČ,ɇÇ,%O7ĆƦ ɏƦ ÖÛìVɊCQ 8Ā
Matlab ǩǸǻȎȽȭ¶ČƦ ɏƦ ŊÖĢƦ (eś SENAC Vol.37 No.1 (2004-1))ƥéĿÀ)ŔħɄNŎEéĿȚȭȢ MATLAB ǪcÕđǨǈÄƦ ɏƦ Ə_ËƦ Ʀ Ʀ Ʀ Ʀ (eś SENAC Vol.46 No.3 (2013-7))

— 105 —SENAC Vol. 48, No. 2（2015. 4）［お知らせ］

SSH アクセス認証鍵生成サーバの利用方法
共同利用支援係 共同研究支援係

1.

はじめに

2015 年 4 月、大規模科学計算システムのセキュリティ強化のため、パスワード認証によるログインを廃止※1 し、公開鍵暗号方式に統一※2 します。これに伴い、SSH アクセス認証鍵生成サーバの運用を開始します。SSH アクセス認証鍵生成サーバ（以下、鍵サーバ）はセンターに SSH アクセスするために必要な公開鍵と秘密鍵のペアを生成し、ユーザのホームディレクトリに公開鍵を自動登録するサーバです。本稿では、その利用方法についてご紹介します。
表 1 各ホストのログイン認証方式
ログインホスト名
認証方式
front.cc.tohoku.ac.jp

スーパーコンピュータ SX-ACE
並列コンピュータ LX 406Re-2

公開鍵

file.cc.tohoku.ac.jp－

利用システム

データ転送サーバ
※3

パスワード

利用者端末
大判カラープリンタ
三次元可視化システム※1：パスワード認証でのログインは、2015 年 4 月 13 日 10:00 を以って廃止します。
※2：HPCI 課題、JHPCN-HPCI 課題で利用する場合は認証方式が異なります（GSI 認証のみ可）
詳しくは、以下のリンク先の「HPCI ログインマニュアル」をご覧ください。
http://www.hpci-office.jp/pages/hpci_manuals※3：センター内施設（利用者端末・大判カラープリンタ・三次元可視化システム）は、ローカル
ログインのため、今までどおりパスワード認証でご利用いただけます。利用にあたり、秘密
鍵を持参する必要はありません。

2.

公開鍵暗号方式を使用する上での注意事項

以下のような行為は、不正アクセスのリスク（不正ログイン、クライアントのなりすまし、暗号化された通信の暴露、他サーバへの攻撃等）が非常に高く、大変危険です。ご注意願います。





3.

パスフレーズなしの秘密鍵を使用
秘密鍵、パスフレーズの使い回し
秘密鍵のメールへの添付、USB メモリやホームディレクトリへの保存
公開鍵と秘密鍵のペアを同一ノード上に保存

SSH アクセス認証鍵の生成
鍵を生成すると、鍵サーバへのログインが自動的にロックされます。一度ログアウトすると、以降は鍵サーバにはログインできなくなりますのでご注意ください。鍵の再登録が必要になった場合は共同利用支援係までご連絡下さい。本人確認の上、ロックを解除します。

(1) 鍵サーバに利用者番号と初期パスワード（変更している場合は変更後のパスワード）で SSH
接続します。

— 106 —SENAC Vol. 48, No. 2（2015. 4）

SSH アクセス認証鍵生成サーバ
key.cc.tohoku.ac.jp
リスト 1 鍵サーバへの SSH 接続例
localhost$ ssh 利用者番号@key.cc.tohoku.ac.jp
Password? : パスワードを入力（初回接続時のメッセージ） : yes を入力
key$（コマンド待ち状態）(2) 以下のコマンド（cckey-gen）を実行し、メッセージに従って公開鍵と暗号鍵の鍵ペアを作成します。必ずパスフレーズ（8 文字以上）を設定して鍵を作成してください。
リスト 2 公開鍵と暗号鍵の作成方法
key$ cckey-gen
Enter passphrase(8 or more characters) : パスフレーズの入力
Confirm : 同じパスフレーズを再度入力↑必ず設定してください（生成された秘密鍵の表示）-----BEGIN RSA PRIVATE KEY----gp5U3M6wVIvuGLX80tYBAWC3WwNzX9TPu8e0CA9Pd/i6ijSNcVKp7lGJtuRzjfXV（中略）
FSwfyL63gRqxPZEmlcZzfDnhyX7ezdNNveZu37U/nq4TQj9+Q+RWHhjF9jwnuW6F-----END RSA PRIVATE KEY-----(3) 画面に表示された秘密鍵（---BEGIN RSA PRIVATE KEY--- から ---END RSA PRIVATEKEY--- まで）をコピー＆ペーストし、ローカル PC にテキストファイルとして保存します。
公開鍵は自動的にユーザのホームディレクトリに登録されます。秘密鍵はセキュリティを考慮して消去されます。

4.

公開鍵暗号方式によるログイン方法

4.1 Linux/OS X のターミナルソフトから接続する方法
生成された秘密鍵をファイル名「id_rsa_cc」として「~/.ssh/」以下に保存した場合(1) パーミッションを 600 に変更します。
（初回のみ）
リスト 3 パーミッションの変更
localhost$ chmod 600 ~/.ssh/id_rsa_cc(2) i オプションで使用する秘密鍵を指定して SSH 接続を行います。
（i オプションを省略した場合は ~/.ssh/id_rsa あるいは ~/.ssh/id_dsa が利用されます）
リスト 4 ログインホストへの SSH 接続例
localhost$ ssh -i ~/.ssh/id_rsa_cc 利用者番号@front.cc.tohoku.ac.jp
Enter passphrase for key '/home/localname/.ssh/id_rsa_cc':パスフレーズを入力（初回接続時のメッセージ） : yes を入力

SSH アクセス認証鍵生成サーバの利用方法— 107 —

front$ （コマンド待ち状態）

4.2 Windows の Tera Term から接続する方法
生成された秘密鍵をファイル名「id_rsa_cc」として「ドキュメント」以下に保存した場合(1) 「ホスト名」を指定、「サービス」は SSH2 を選択し、[OK]を押下します。

(2) 「ユーザ名」に利用者番号、「パスフレーズ」に鍵ペアを作成した際に入力したものを入力、「RSA/DSA 鍵を使う」を選択し、「秘密鍵」に保存した秘密鍵のファイルを指定します。
（秘密鍵ファイルの選択画面では、拡張子「すべてのファイル(*.*)」を選択します）[OK]を押下すると接続されます。

4.3 その他の OS／アプリケーションから接続する場合
各アプリケーションのヘルプを参照ください。

5.

おわりに

本稿では、SSH アクセス認証鍵生成サーバの利用方法を紹介しました。公開鍵暗号方式により、より安全にシステムをご利用いただけるようになります。今後とも、研究の強力なツールとしてセンターのシステムをご活用いただければ幸いです。

— 108 —SENAC Vol. 48, No. 2（2015. 4）［共同研究成果］

東北地方の農業における温暖化適応策と気象情報の高度利用
岩崎俊樹 1、大久保さゆり 2、菅野洋光 3、紺野祥平 2、島田照久 1,4
福井真 1、南野謙一 5、宮脇祥一郎 6、吉田龍平 1
1 東北大学 大学院理学研究科
2 東北農業研究センター
3 中央農業総合研究センター
4 弘前大学 大学院理工学研究科
5 岩手県立大学 ソフトウェア情報学部
6 気象庁気候情報課

要旨
地球温暖化が顕在化し、適応策の立案が急務となっています。そこで、高解像度の気候モデルの予測結果を農業モデルに入力し、東北地方の農業における適応策について検討しました。温室効果ガスの排出がこのまま続けば、21 世紀末には、20 世紀末と比べて、東北の夏季の気候は（１） 気温は約 3℃程度上昇する（２） （気温の変動幅はあまり変わらず）温暖化後もヤマセによる冷夏が間欠的に発生する（３） 短時間強雨が増加する
ことが予想されています。地球温暖化に対する第１の適応策は適地適作です。今後の気温上昇に適応するために高温障害に強い耐高温品種の導入が考えられます。しかし、一般に耐高温品種はヤマセなどの低温には脆弱です。そこで、年々の変動に対処するために、第 2 の適応策として、農業分野における、日々の気象予測の高度利用を提案します。アンサンブルダウンスケールという予測手法を用いると、ヤマセに特徴的な気温の地域特性も 5 日程度先まで精度よく予測できます。この気象予測の結果を農業モデルに入力し、確率的な農業気象情報を作成します。また、高解像度気象予測は農作物や農業施設への気象災害対策のためにも有効です。官・学・農業事業者で協力し、気象予測の利用技術の高度化に取り組むことが望まれます。

1. 本稿の目的
地球温暖化については、二酸化炭素をはじめとする温室効果気体の増加を抑えるために、さま
ざまな緩和策が検討されています。しかしながら、地球温暖化を完全に抑えることは難しく、温暖化時代を乗り切るための適応策の検討が急がれています。本稿では、文部科学省の気候変動適応研究推進プログラムの一環として実施した「東北地域のヤマセと冬季モンスーンの先進的ダウ

東北地方の農業における温暖化適応策と気象情報の高度利用— 109 —

ンスケール研究 (http://www.mext-isacc.jp/staticpages/index.php/report_iwasaki_j)」（2010 年
10 月-2015 年 3 月）に基づき、東北農業の温暖化対策について考察します。東北農業の温暖化対策に関心を寄せる多くの皆様にお読みいただき議論していただくことを期待しています。
我々は、21 世紀末を見据えた東北農業には、２つの温暖化適応策が必要だと考えています。第１の適応策は、適地適作や水資源管理の最適化などの長期的な対策です。温暖化に伴い、気温や降水量、日射量などが変化します。そのため、温暖化後の気候に適応した作物品種への変更や既存の品種の改良が必要となります。また、降水特性の変化や生育作物に合わせ、水資源の管理手
法と防災対策を変える必要があります。地域の詳細な温暖化予測に基づく長期的な対策について、第２節にまとめます。第２の適応策は、気象予測情報の高度利用です。本研究においては、実際の気象予報に用いて地域気象を詳細に表現する、アンサンブルダウンスケール予報（詳しくは 2.1
節および 3.1 節を参照）という技術による気象予測と農業モデルを組み合わせ、高解像度の確率的な農業気象情報作成の実験を行いました。ここでは、その手法を紹介し、実用化に向けた課題について議論します。また、本研究の実施期間中、4 年間にわたり、農業事業者等に向けて試験
的に農業気象情報を提供し、ニーズを把握するためのアンケート調査を実施しました。以上の研究・調査に基づき、気象予測の高度利用に関する提案を行います。これらの内容は第 4 節にまとめます。
温暖化予測には不確実性がつきものですし、気象予測は完全ではありません。適応策を検討する際には、温暖化予測の不確実性を考慮することが必要です。高度化が進む温暖化予測を常に検証し、適応策を改訂していく必要があります。また、気象予測は将来改善が見込まれます。予測精度を考慮した確率情報の利用を推進することが今後はますます望まれます。
当該研究の参加機関は、東北大学、弘前大学、岩手県立大学および、（独）農研機構東北農業研究センターで、協力機関は、気象庁気候情報課、気象庁気象研究所、仙台管区気象台、岩手大学です。また、東北各県の農業試験場（青森県産業技術センター、岩手県農業研究センター、宮城県古川農業試験場、秋田県農業試験場、山形県農業総合研究センター、福島県農業総合センター）の関係者とも年２回開催する研究会等を通じて議論を行いました。本稿の直接の執筆者は標記の通りですが、取りまとめた内容は、当該研究への参加・協力機関および、連携する気候変動適応研究推進プログラムとの共同研究に基づくものです。現在気候および地球温暖化予測のダウンス
ケールには東北大学サイバーサイセンスセンターのスーパーコンピュータを利用しました。

— 110 —SENAC Vol. 48, No. 2（2015. 4）

2. 東北の夏の温暖化
2.1. 東北の夏への温暖化影響（ヤマセ、異常高温、短時間強雨と無降水日）
2.1.1. 地球温暖化の影響は地域スケールではどのように現れるのか？
地球温暖化の影響が顕在化するにつれて、温暖化適応策や温暖化に起因する様々なリスク管理を推進していくことが重要な課題になっています。このような社会的要請に応えるためには、世界の気象機関・研究機関が実施している全球気候モデル（用語解説参照）による地球規模の温暖化予測（起こりうる社会の変化–シナリオ（用語解説参照）−を想定して、それが気候にどのような影響を与えるかをシミュレーションによって予測すること）から、地域レベルでの気候変化を明らかにする必要があります。このような社会的要請に応えるための方法の一つが、力学的ダウ
ンスケーリング（領域気象モデルを用いた再計算によるデータの詳細化のこと（用語解説参照）。
以下、単にダウンスケーリング）です。温暖化予測を行うほとんどの全球気候モデルの空間解像度は 100km より粗く、このままでは東北地方の気候にとって重要な役割を果たす脊梁山脈を十分に解像することはできません（図 1 左）。つまり、東北地方の詳細な気候は再現できないことにな
ります。これを解決するために、全球の温暖化予測の結果を反映させながら、着目する地域について、高解像度の地形（ここでは例として 10km 格子の地形を利用、図１右）を入力してシミュ
レーションをやり直します。こうして、全球的な温暖化による気候変化が、地域スケールでどのように現れるかが明らかになります。

図 1 （左）100km と（右）10km の格子間隔で表現される地形。

気象庁では、全球気候モデルによる実験結果を「地球温暖化予測情報」として取りまとめて公開しています[1]。これは、全球気候モデルによる地球全体の温暖化予測を、日本周辺に絞ってダウンスケーリングして、地球温暖化が日本の気候にどのように影響するのかを調べたものです。
最新の「地球温暖化予測情報第 8 巻」では、21 世紀末に大気中の二酸化炭素が約 700ppm に達す東北地方の農業における温暖化適応策と気象情報の高度利用— 111 —るとしたシナリオ（SRES A1B: 用語解説参照）を考えています。このシナリオでは、21 世紀末の日本付近で、20 世紀末に比べて、年平均気温が約 3℃上昇し、短時間強雨や無降水日が増加する可能性が示されています。さらに、季節と大まかな気候区分（北日本の太平洋側と日本海側等）に分けて、今後 100 年間に起こりうる気候の変化が示されています。
我々のグループでは、東北地方における地域のニーズ（地域の産業や生活スタイルへの適応策、
防災・減災対策）に応えるための温暖化予測情報を提示するために、気象庁の「地球温暖化予測
情報第 8 巻」に用いられている全球気候モデルを用いて、独自に力学的ダウンスケーリングを行
い詳細に解析しています。ここでは、東北地方の夏季気候に着目し、ヤマセによる低温、異常高
温、短時間強雨と無降水日という観点から、気候の将来変化の特徴を示します。なお、解析期間
は、「地球温暖化予測情報第 8 巻」に対応させて、現在気候を 1980-1999 年、将来気候を 2076-2095
年としています。

2.1.2. 低温をもたらすヤマセは将来も発生するのか？
東北地方の夏季気候は、間欠的に発達するオホーツク海高気圧から北日本の太平洋側に吹きつける冷たい東風（ヤマセ）の影響を大きく受けます。この東風とともに、背の低い（<1000m）
下層の冷気が北日本のオホーツク海側と太平洋側に押し寄せて低温をもたらします。さらに、下層雲や霧が低地を覆い、放射冷却により低温を維持します。ヤマセの発生頻度や低温の程度は、オホーツク海高気圧の消長に合わせて経年変動が顕著で、卓越したヤマセは、夏季の異常気象（冷夏）と言われてきました。一方で、ヤマセの持続期間や低温の程度に経年変動があるとはいえ、毎年繰り返し発生しているという事実も重要です（例えば、2013 年は、7 月 17–23 日にかけて東北地方の太平洋側で、顕著な低温低日射の状態が続きました）。ヤマセのこのような特徴は、地域
気象・気候、そして社会活動（農業、海洋安全、航空安全等）に影響します。例えば、農業にとっては、毎年発生する数日程度のヤマセによる低温寡照期が、農作物の重要な成長期に当たるかどうかが大きなリスクとなっています[2]。このように、ヤマセの理解は、特に東北地方の冷害の歴史[3]を背景に、社会的に重要な課題でありつづけています。
では、地球温暖化が進んだ将来、ヤマセの発生はどのように変化するのでしょうか。将来気候においても、ヤマセは発生することがこれまでの研究で示されています。ここでは、オホーツク海高気圧が発達し、東北地方の太平洋岸に向かって東風（ヤマセ）が吹いているときの平均的な状況を考えます。現在気候について、夏季の平均気温と比べると、北日本のオホーツク海沿岸と太平洋沿岸は低温になり、日本海側はやや高温になります（図 2 左）。ヤマセによる低温が顕著な
地域は、日高山脈、八甲田山、北上山地、蔵王連峰等の山地の東側に見られ、下層の冷たい空気
が山地にせき止められることを示しています。将来気候においても、同じ状況では、現在気候とほぼ同様の気温の分布が見られます（図 2 中）
。この気温分布は、将来気候の夏季平均からの差であることに注意してください。ヤマセが卓越しているとはいえ、気温は温暖化に伴って、現在気— 112 —SENAC Vol. 48, No. 2（2015. 4）

候のヤマセ卓越時より約 3℃高くなっています（図 2 右）。ただし、現在気候と同じ条件の事例発生数は、将来気候では若干（約 2%）減少しています。まとめると、温暖化によって気温上昇した
後も、将来気候の平年値を基準に考えると、ヤマセが北日本に向かって吹き、太平洋側と日本海側の気温差を大きくする状況は、将来も発生すると言えます。

図 2 （左）現在気候と（中）将来気候の 6-8 月のヤマセ卓越時について、気温の平年値からの差。現在気候と将来気候の平年値は、現在気候と将来気候それぞれの夏季平均である。
（右）ヤ
マセ卓越時の気温の将来気候と現在気候の差。

2.1.3 異常高温は東北地方全体で顕著になる
地球温暖化による平均的な気温上昇とともに、猛暑が増加しています （2010 年は、日本各地で記録的な高温が観測されました）。猛暑による異常高温は、健康被害（熱中症、睡眠障害等）を引き起こし、冷房のための電力や都市ガスの供給に影響を与えます。また、農作物の高温障害が発生します[7]。
「地球温暖化予測情報第 8 巻」[1]によると、21 世紀末の北日本では、夏季の平均気温は約 2.9℃上昇し、一年で最も気温が高くなる時期が約一月早まる傾向が予測されています。
また、夏季の極端な高温の日の最高気温についても、将来は 2〜3℃程度の上昇が予測されています。
ここでは、夏季の極端な高温の日の最高気温の地理的分布を詳細に見てみます。
「地球温暖化予
測情報第 8 巻」[1]と同じく、日最高気温の 95 パーセンタイル値を指標とします。95 パーセンタ
イル値とは、標本の各データを値の小さい順に並べた時、値の小さい方から数えてデータ数の 95パーセントに当たる値のことです。つまり、日最高気温の 95 パーセンタイル値は、日最高気温の低い方から 95%の値、逆に言うと日最高気温のデータ中で上位 5%に位置する値となります。このため、特に高い日最高気温を表す統計値となり、極端現象の一つの指標となります。例えば、
現在気候における 7–8 月の仙台の日最高気温の 95 パーセンタイル値は、32.1℃です（図 3 左）。
7–8 月について、日最高気温の 95 パーセンタイル値の将来変化をみると（図 3 右）、東北地方の東北地方の農業における温暖化適応策と気象情報の高度利用— 113 —

太平洋沿岸で約 3℃の上昇が見られる一方、日本海側では約 2℃です。これまでは太平洋側よりも日本海側の平野部で顕著な高温が観測されることが多かったのですが、将来気候では太平洋側での異常高温が増え、北日本全体で同じ程度の異常高温が発生することになります。

図 3 （左）仙台における日最高気温の累積頻度分布。灰色の線の交点が 95 パーセンタイル値を表す。（右）日最高気温の 95 パーセンタイル値の将来変化。

2.1.4. 短時間強雨の少なかった東北地方でも将来は増加
近年、大雨に伴う水害や土砂災害が多く報告されるようになり、地球温暖化との関連性が注目されています。東北地方では、2013 年 7 月に山形県および福島県で梅雨前線に伴う激しい雨が発生し大きな被害が出ました。現在のところ、日本全体の降水量の長期的な変化傾向は見られない
ものの、日降水量が 100 mm あるいは 200mm 以上となる大雨の年間日数は増加傾向にあることが示されています[5]。その一方で、降水日数は減少する傾向にあります[5]。これらの傾向は、「地
球温暖化予測情報第 8 巻」[1]で示された将来変化と一致しています。つまり、現在観測されている傾向は今後も継続し、将来は大雨の発生回数は多くの地域で増加し、無降水日（日降水量が 1ミリ未満の日）数も多くの地域で増加すると見込まれています。また、年降水量は、全国的に増加することが示されています。
現在気候の東北地方について、我々のデータを用いて詳しく見てみます。夏季（6–8 月）の降
水量の地理的分布をみると（図 4 左）、山地に沿った地域で特に降水量が多くなっています。将来
気候では、夏季降水量は、平均して約 12%増加すると予測されています。１時間降水量が 50mm
を越える短時間強雨については、現在のところ、東北地方の発生頻度は全国平均の約 20%であり、他の地域と比べて発生頻度は少ない状況です[1]。しかし、東北地方においても短時間強雨が将来増加する傾向が現れており（図 4 右）、全国的な特徴[1]と一致しています。今後、大雨や短時間

— 114 —SENAC Vol. 48, No. 2（2015. 4）

強雨の頻度が増加するにつれて、水害や土砂災害に対する東北地方の脆弱性が明らかになる可能性があります。将来の大雨や短時間強雨の増加を想定して、防災情報等に関わる降水量の指標を見直すとともに、新たな防災減災対策が必要になってくると考えられます。なお、無降水日は東北地方の夏季に限っては、やや減少傾向になっています。

図 4 （左）現在気候における 6-8 月の降水量。
（右）現在気候と将来気候の 1 時間降水量の発生頻度分布。

2.1.5. まとめ
気候変動の影響が顕在化する中、温暖化に対する緩和策とともに、適応策や気候変動に起因する様々なリスク管理を推進して行く必要があります。これを地域の実情とニーズに合わせて行っていくためには、全球の気候予測が地域スケールでどのように現れるのかを明らかにしなければなりません。東北大学や東北農業研究センターでは、ダウンスケーリングという手法を用いて、東北地方に特化した将来気候と温暖化の影響評価の研究を進めています。

東北地方の農業における温暖化適応策と気象情報の高度利用— 115 —

2.2. 東北農業の将来
2.2.1. はじめに: 現在の品種で安定したコメ生産は可能か？
温暖化が水稲生育に与える影響は、現在各地がおかれる状況によって様々です。九州や四国といった温暖な環境では、近年の昇温によってコメの品質や収量の低下が起こっています[6]。一方
で、もともと冷涼な環境の東北では増収傾向であると報告されています。そのため、温暖化の進行に伴って、東北地方はコメ生産のより重要な地域となっていくと考えられます[7]。我々のグループは（独）農業環境技術研究所と共同で、東日本における温暖化の水稲生育に与える影響を調べました。

2.2.2. 現行品種を維持した場合、増収が見込まれるが高温障害リスクも増加する
気温や日射量といった気象条件から日々の生長量を計算する水稲生育モデル Hasegawa/Horieを用いて、水稲生長のシミュレーションを行いました。気象条件には前節の温暖化シナリオを用いて、温暖化が水稲に与える影響を算出しました。

図 5 各県で最大の作付面積を持つ品種を将来も維持した場合の収量変化。(a) 現在気候、(b) 将
来気候、(c) 将来気候値の現在気候値に対する比。各図右下の値は領域平均値で、灰色の部分は10km メッシュ内の水田面積率が 1%未満の地点を表す。
図 5 は、各県で栽培されている主要な品種（現行品種と定義します）を将来もそのまま維持した場合の収量分布です。現在気候では 720-840 (t m-2)は高収量といえますが、平均気温の上昇とCO2 の施肥効果によって、将来気候ではそういった値やそれ以上の値が本州の多くの地域で見られるようになりました。また、増収率は本州の山岳部や北海道で高く、現在は十分にとれなかった地域での増加が顕著でした。現在報告されている増収傾向は今後も続くと見込まれます。
つづいて、水稲生育における高温・低温による不稔率（＝実がつかない割合）を推定しました（図 6）。現在の東北地方では、ヤマセによる冷害が水稲生育に深刻な問題です（高温の不稔率を1 としたとき、低温の不稔率は 72.3 倍）。温暖化に伴って、現在冷涼な東北地方においても高温による不稔率の増加が予測されますが、依然として低温による不稔率の方が高いと推定されまし— 116 —SENAC Vol. 48, No. 2（2015. 4）

た（同 3.3 倍）。将来気候においては、高温による不稔率は低温による不稔率の約 30%まで増加するため、将来は冷害への継続した警戒と顕在化する高温障害への対応の両面が必要になると言えます。

図 6 図 5 と同様。ただし、(a-c)は高温による不稔率、(d-f)は低温による不稔率。

コメ生産では、品質も重要な要素です。出穂したあとの生殖生長期に高温になると、充分に登熟できず、白く濁った粒が増えます（白未熟粒（しろみじゅくりゅう）と呼ばれます）。白未熟粒の増加により、一等米の比率が下がります。登熟期の日平均気温が 26℃を越えた分を足し合わせた積算気温が、品質のよい指標として用いられるため、先の水稲生育モデルで算出しました（図7）。

図 7 登熟期の日平均気温が 26℃を越えた分を積算した気温(℃)。

— 117 —

東北地方の農業における温暖化適応策と気象情報の高度利用収量の場合と同様に、品質についても登熟期の高温は現在ほぼ見られませんが、将来気候では東北の平野部で多く見られるようになりました。ごくわずかではありますが、北海道でも登熟期の高温が推定されています。東日本全体では、登熟期の”積算”気温は将来気候で 10℃以上増加すると推定されるため、品質の面からも高温障害への警戒が必要になっていくといえます。

2.2.3.安定したコメ生産には耐高温品種の導入と現行品種の維持が大きな柱
再び収量の話にもどります。冷害と高温障害の影響を考慮して、現行品種よりも高収量・不稔率低下を実現できる品種を検討しました。検証に使用した品種は、現在日本で主に栽培されている 10 種です（表 1）。現行品種よりも収量あるいは不稔率のいずれかの点で優れる品種は多くありましたが、複合条件では低温による不稔率低下の実現が厳しいために品種の選択肢が狭まり、中京以南で栽培されている数種類に限られました（図 8）。一方で、半分ほどの地点では現行品種が最適と選定され、安定した食糧供給のためには、耐高温品種の導入と現行品種の維持が大きな柱といえそうです。
表 1 水稲生育モデル Hasegawa/Horie で使用した品種リスト。
1.

ひとめぼれ

2.

きらら 397

3.

ヒノヒカリ

4.

あさひの夢

5.

あきたこまち6.

あいちのかおり

7.

はえぬき

8.

こしいぶき

9.

コシヒカリ

10.

キヌヒカリ

2.2.4. 最後に: 結果の解釈について
本課題によって得られた結果は 1 モデル・1 シナリオに限られており、将来気候において必ずこのようになるというものではないことに注意が必要です。さらに、コメ生産での適応策として栽培品種の変更に着目していますが、品種改良や水田への移植日変更といった他の様々な方策も考えられます。そのため、得られた結果は数ある可能性のうちの 1 つとして捉えるとともに、他の全球気候モデルや排出シナリオによるデータも利用した、大気側・水稲側のそれぞれ多様な方策を考慮した、より包括的な解析が今後必要です。

— 118 —SENAC Vol. 48, No. 2（2015. 4）

図 8 将来気候において、現行品種よりも好ましい条件となる品種数の空間分布。(a)高収量、(b)
不稔率(高温)低下、(c)不稔率(低温)低下、(d)高収量∩(かつ)不稔率(高温)低下、(e)高収量∩不稔率(低温)低下、(f)高収量∩不稔率(高温)低下∩不稔率(低温)低下。

東北地方の農業における温暖化適応策と気象情報の高度利用— 119 —

3. 気象予測情報の高度利用の手引き
3.1. アンサンブルダウンスケール予報
3.1.1. はじめに100 年後の地域の気温は、地球温暖化により、およそ 3℃上昇することが予測されています。他
方、年ごとの気温の変動（自然変動）の大きさについて、例えば、ヤマセの顕著な八戸の７月の場合で、月平均気温の標準偏差は 1.89℃です。暑夏と冷夏では、3℃以上（1.89℃の 2 倍）の気温差があることになり、今後 100 年間の地球温暖化による上昇に、およそ匹敵します。地球温暖化の長期的な適応策が機能するためには、暑夏年や冷夏年などの自然変動（年々変動）に対しても適応できなければなりません。
年々の変動に対処する一つの方法は、今後さらに精度向上が期待できる気象予測を高度利用することです。気象予測の農業利用では、地上気象要素（気温、湿度、風、日照）を 1 ㎞程度の高解像度で、かつできるだけ先まで予測することが望まれます。アンサンブルダウンスケール（図9）という手法を用いれば、5 日程度先まで、有効な高解像度予測情報を作成できます。

3.1.2. アンサンブル予報
今日の天気予報は、数値気象予報モデルの予測に基づいて作成されています。数値気象予報モ
デルは、現在の大気の状態（実況値）を初期条件とし、物理法則に基づいて時間積分することで、将来の大気の状態を予測します。しかしながら、大気の状態は、常に完全に把握されている訳ではありません。観測を実施している場所は相当に限られます。例えば、現状の観測システムでは、
大気の鉛直構造を知るためのラジオゾンデ観測は、およそ 300 ㎞間隔で実施されており、大気状態を観測だけで実況値を細かく解析することはできません。また、観測誤差をなくすことも不可能です。このため、初期条件（実況値）には必ず誤差が含まれます。誤差は予測時間とともに成長し、やがて、予測は誤差に凌駕されて利用できなくなります。
気象庁の発表する週間予報とそれより長い予報では、不確実性の影響を抑え、信頼性の高い予測情報を作成するために、アンサンブル予報という手法が採用されています。アンサンブル予報
では、観測誤差に見合うだけ少しずつ異なるたくさんの初期条件を準備し、それぞれの初期条件から予測（メンバー予報）を実行し、その結果を統計処理して予測情報を作成します。
図 10 は、およそ 1500m 上空の仙台付近の気温に対する全球アンサンブル予報の 1 例です。細い
実線は各メンバーの予報を表し、太い実線はすべてのメンバー予報の平均値を表します。各メン
バーの予報は成績の良いものも悪いものもあります。太い実線の予報の平均値は大きく外すことは少なくなります。予報メンバー間の相違（バラツキ）は、予報の不確実性を表しており、その標準偏差はスプレッドと呼ばれ、予報の信頼性の指標とされます。このケースでは、10 日予報でもスプレッドは比較的小さいままですが、通常は、スプレッドは予報時間とともに大きくなり、
予報精度が低下することを示唆します。また、指定した気温の範囲に入る予報の数と全体の予報

— 120 —SENAC Vol. 48, No. 2（2015. 4）の数の比をとれば、予報を確率で表すことも可能です。例えば、図 10 で 5 日後に気温が 12.5 ±1℃の範囲に入る予報は 5 本で、その確率はおよそ 60％となります。このように、アンサンブル
平均をとることによって、誤差が極端に大きくなることを防ぎ、予測の確からしさを知り、確率予報を行うことができます。

図 9 アンサンブルダウンスケール予報の模式図。

図 10 全球モデルによるアンサンブル予報の 1 例。仙台上空の 850hPa（およそ 1500m）の気温の10 日予報。細線は 9 メンバーのそれぞれの予報結果で、太い実線はアンサンブル平均値、緑は観測値。

東北地方の農業における温暖化適応策と気象情報の高度利用— 121 —

3.1.3. アンサンブルダウンスケール予報の予測可能性
農業などでは、地上気象要素に関する面的な高解像度の情報を必要としています。しかし、全球大気を数㎞の格子間隔で予報するには大変な計算コストがかかります。実際に、気象庁で週間
アンサンブル予報に用いられている全球数値気象予報モデルの格子間隔はおよそ 40 ㎞で、個々の水田・畑は解像できません。そこで利用するのが 2.1 節で説明したダウンスケールという技術です。
特に、東北地方で問題となるヤマセにおいては、冷気は谷間に向かって侵入するので、細かな地形の効果が大きな影響を与えます。このような現象の予測には、高解像度の数値予報モデルの利用が必要です。ダウンスケール予報では、比較的広い領域の予報を低解像度モデル用いて計算し、高解像度モデルのための時間的に変化する側面境界条件を作成します。この側面境界条件を利用し、高解像度モデルにより、狭い領域を高解像度で計算します。
図 11 はそのようなアンサンブルダウンスケール予報の例です。このダウンスケール予報実験では、全球数値予報モデル(格子間隔 125km)による週間アンサンブル予報の結果と、日本全体（25㎞格子）、東北地方（5 ㎞格子）の２つの解像度の異なる領域数値予報モデルを利用します。まず、全球モデルによる週間アンサンブル予報の各メンバーの予報を、それぞれ初期条件および側面境
界条件として、25 ㎞格子の領域数値予報モデルによるアンサンブルダウンスケール予報を行います。次に、25 ㎞格子の領域数値予報モデルの予報結果を初期値・境界値として 5 ㎞格子の数値気象予報モデルによりアンサンブルダウンスケール予報を行います。図 11 にはそれぞれの数値気象モデルによる 66 時間予報のアンサンブル平均を表しています。全球予報の結果では、ヤマセの事
例であるにもかかわらず、太平洋側の気温が低くならず、東北がほぼ一様な気温となっています。
これがダウンスケール予報では、太平洋沿岸地域と仙台平野の低温が明瞭に示され、地域の特徴が良く表現されています。

図 11

実験システムで用いたアンサンブルダウンスケール予報の計算領域と気温の予報例。 左より全球予報（125 ㎞格子で表現）、25 ㎞格子、5 ㎞格子モデルの 66 時間予報の結果（9 メンバーの平均値）で、枠線はそれぞれ 25 ㎞、5 ㎞の計算領域を表す。

アンサンブルダウンスケール予報の場合、局地循環が良く表現される反面、その誤差は大きく

— 122 —SENAC Vol. 48, No. 2（2015. 4）なります。低解像度モデルの誤差に、高解像度モデルの誤差（局地循環の誤差）が加わるためです。各メンバー単独の予報を利用した場合は、低解像度モデルの誤差が高解像度モデルで増幅され、利用者には使いにくい情報となってしまいます。これに対して、アンサンブル平均をとるとノイズが相殺されて消え、シグナルが残り、実効的な予測可能時間を延ばすことができます。
図 12 は、ヤマセ型の気温分布パターンの時間的な変動について、40 事例のアンサンブル平均
予報の成績を、観測値に対する相関係数と回帰係数で表したものです。大まかには、相関係数は時間的な変動パターンの類似性を表し、回帰係数はその変動の大きさの再現性を表します。ヤマ
セ型の気温分布パターンの変動の類似性（相関係数）は、アンサンブルダウンスケールを行ったかどうかにあまり依存せず、5 日程度予測可能であることを示しています（注: 相関係数が 0.5を切るまでの時間で判定）。他方、変動の大きさ（回帰係数）は、アンサンブルダウンスケールを行なっていない全球アンサンブル予報では実際の 2 割以下ですが、25 ㎞格子にアンサンブルダウ
ンスケールした場合ではおよそ 7 割、5 ㎞格子にアンサンブルダウンスケールした場合では 8 割
以上再現されています。すなわち、アンサンブルダウンスケールにより解像度を高くすることで、小さなスケールの現象の予測が有効となることがわかります。ただし、解像度を高くすると計算量が著しく増えるので、費用対効果をよく考えて解像度を選ぶ必要があります。将来的に全球数
値予報の改善や、メンバー数の増加によって、アンサンブルダウンスケール予報の精度向上を図ることができます。
最後にアンサンブルダウンスケール予報の農業利用について整理します。アンサンブルダウン
スケール予報の各予報（メンバー）によって、起こりうる気象状態を確率的に予報することができます。各予報の結果を、数値農業モデルに入力し、得られた結果を統計処理して不確実性を考慮した農業気象情報を作成することが可能です。例えば、いもち病の予察の場合は、いもち病発生のケースと発生しないケースを分けて、加算し、確率情報として利用者に提供することが可能です。詳しい説明は次節で行います。

3.1.4. まとめ
温暖化後も予想される間欠的なヤマセによる冷夏などの自然変動に対応するためには、日々の気象予測の高度利用が重要です。アンサンブルダウンスケール予報は、より小さなスケールの現象を考慮しながら、ヤマセ型の気温分布を 5 日程度先まで予測することが可能です。アンサンブ
ルダウンスケール予報を、農業の数値モデルと組み合わせれば、確率的な農業気象情報を作成することができます。

東北地方の農業における温暖化適応策と気象情報の高度利用— 123 —

図 12 アンサンブルダウンスケール予報実験におけるアンサンブル平均値予報の、ヤマセ型の
気温パターンに対する相関係数と回帰係数。40 事例の平均。

— 124 —SENAC Vol. 48, No. 2（2015. 4）

3.2. 農業気象情報へのアンサンブルダウンスケールデータの利用—葉いもち予察モデルを例として
3.2.1. はじめに
アンサンブル予測や気象データのダウンスケールを用いることで、高解像度の気象予測情報を作成することができます。これをうまく利用することで、農業へ役立てられる可能性があります。
ここでは、葉いもちの予察を例に、気象データの農業への利用について紹介します。

3.2.2 イネいもち病について
いもち病は、イネがいもち病菌に感染して起きる病気で、蔓延すると大幅な減収を招くため、昔から恐れられてきました。特に冷夏で低温や低日照が続く場合は、稲の抵抗力も弱まり、低温による冷害とあわせて病害も発生し被害の拡大をもたらします。いもち病を防ぐには、予防的な農薬とともに、発生が予測された際の殺菌剤の使用が効果的です。そこで、東北農業試験場（現農研機構東北農業研究センター）では、アメダス気象観測所の気象データを用いて、いもち病の
うち、葉いもちの発生予察を行うコンピュータープログラム「BLASTAM」を 1988 年に開発しました[8、9]。これは、アメダスで観測される気象 4 要素（気温、雨量、風、日照時間）を用いて、イネの葉の濡れ時間を推定し、連続濡れ時間がしきい値を超えると「感染可能性あり」の数字（1,2,3,4,10）で示すものです。

3.2.3 アンサンブルダウンスケール予報の農業モデルへの適用
アンサンブルダウンスケール予報（3.1 節）とは、アンサンブル気象予測という手法の予測結果
を、細かい空間解像度に展開（ダウンスケール）したものです。本節では、アンサンブルダウン
スケールデータを農業気象情報として利用する場合の利用可能性について、葉いもち予察を例に紹介します（図 13）。

図 13 アンサンブル予測結果による葉いもち病発生確率予測の概念図。
1 つの気象予測計算（アンサンブルメンバー）毎にダウンスケール計算、農業モデル計算を行う。

東北地方の農業における温暖化適応策と気象情報の高度利用— 125 —

ここでは、近年の東北地方での代表的な冷夏年である 2003 年夏季を対象としたアンサンブル予
測データを使用して、BLASTAM の計算を行いました。実験対象期間は 2003 年夏季の、それぞれ
6 月 20 日、6 月 30 日、7 月 10 日、7 月 20 日を初期値とする 4 期間×各 2 週間としました。予測実験の結果を、力学的ダウンスケールによって空間解像度を 1.25°（約 110km）間隔から 5km 間
隔にしたデータを用いて、BLASTAM で葉いもち病の感染好適条件を求めました。9 つの予測結果それぞれを用いて BLASTAM を計算し、メッシュ毎に「感染可能性あり」の出現割合を求め、
葉いもち発生確率としました（図 13）。なお、ここでは BLASTAM の結果が 1, 2, 3, 4, 10 のいず
れかであれば「感染可能性あり」としました。
対照的な事例となった 6 月 20 日と 6 月 30 日を初期値とする期間を例に結果を示します。2003
年 6 月 20 日初期値による結果では、感染好適条件の出現確率の分布が、アメダス観測値の統計的
ダウンスケールによる 1km メッシュ気象データを用いて求めた感染好適条件の分布と期間を通じておおむね一致していました（例として、図 14a）。それに対して、2003 年 6 月 30 日を初期値とした期間は、特に期間の後半で予測自体が大きく外れたため、感染好適の分布も計算によるものと観測値によるものとで大きく異なる日が多くなりました（例として、図 14b）。
（ａ）

2003 年 6 月 20 日初期値、5 日目の例（ｂ）2003 年 6 月 30 日初期値、7 日目の例

図 14 アメダス観測値により求めた感染好適条件（a）とアンサンブル予測データによる葉いもち感染確率の分布（b）
これらの原因は、気圧配置の予測精度と関係しています。5km 間隔にダウンスケールを実施する前の予測データの気圧配置を、再解析データによる実際の気圧配置と比較しました。比較にはアノマリ相関による空間相関係数（実際の気圧配置と予測された気圧配置とを比較するために、その時期の平均的な気圧配置からの両者の差で求めた相関係数）を用いて、気圧配置の類似度としました。実際と予測の気圧配置の例と、両者の空間相関係数の推移を図 15 に示します。
2003 年 6 月 20 日初期値による気圧配置の例（図 15a）では、再解析データとアンサンブル予測
データとでよく似た気圧配置を示しています。両者の気圧配置の類似度を示す空間相関係数も、

— 126 —SENAC Vol. 48, No. 2（2015. 4）

ほとんどのメンバーが再解析データと 0.6 程度の相関係数を保って推移しており、期間を通じて気圧配置の予測精度が比較的よかったことを示していました。その一方で、2003 年 6 月 30 日初期値の例（図 15b）では、多くのメンバーで 5 日目以降に空間相関係数が大きく下がり、気圧配置が再現されていないことを示していました。BLASTAM の分布も、気圧配置の相関が低下した時期に観測値との一致度が下がっていました。これらのことから、予測の精度が高く、気圧配置型の再現性が高い時期には、BLASTAM の結果もアメダス観測値と近い空間分布になることがわ
かりました。

（ａ）2003 年 6 月 20 日初期値、気圧配置は 5 日目の例
2003/6/25 − 02p 850hPa

2003/6/25 JRA−25 850hPa

1 500

40

14

144

1380

10

0
144

1470

1470

1500

40

30

153

14

141
0
1380

40

1350
13 1320
80
141
0
1440
1470

1
14

0

130

140

150

80
13

30

1500

20

20

10

空間相関係数

14
10

40
14

50

1470

1
1410 44030

2003/6/25 − 04p 850hPa

1350

50

50

14
40
1 41
10
135380
0

1320
1410
1440
14 70

1500

20
130

5m/s

140

150

130

5m/s

140

150

5m/s

（ｂ）2003 年 6 月 30 日初期値、気圧配置は 7 日目の例

30

30
15

20

140

150

5m/s

14
70

1380
1350

00
15

1440

1500

1530

0

1410
10
14

00

70
14

00

40

15

14
7

0

14
70

1380

1440

1380

空間相関係数

130

40
14

30

153
0
153

10

15

150
0

30

20

14

40

1470

40

144
0
40

2003/7/7 − 04p 850hPa
50

14

00
15

50

10
14

1410

14
10

2003/7/7 − 02p 850hPa

2003/7/7 JRA−25 850hPa
50

20
130

140

150

5m/s

130

140

150

5m/s

図 15 再解析データとアンサンブル予測実験による気圧配置の比較。
a, b ともに、左図が再解析データによるもの、中・右図がアンサンブルメンバー（９メンバーより２つを抜粋）によるものを示す。グラフは再解析データとアンサンブル予測９メンバーのアノマリ相関による空間相関係数の推移を示す。

3.2.4 おわりにここで示したアンサンブルダウンスケールデータによる「葉いもち感染確率」の予測は、実験段階にあるものです。今後、アンサンブルダウンスケールデータの実利用が始まると、どのくらいの確かさであるかを示した新たな形での情報提供（例として、図 16）が、BLASTAM をはじめとする農業気象分野へも活用されることが期待されます。

東北地方の農業における温暖化適応策と気象情報の高度利用— 127 —

図 16 葉いもち感染危険度予測マップの web 上での表示例。
アンサンブルダウンスケール気象予測データ（27 メンバー、10km 間隔）を BLASTAM に適用し、感染危険ありを示したメンバーの割合をメッシュごとに示している。

— 128 —SENAC Vol. 48, No. 2（2015. 4）

3.3. 農業支援システム
3.3.1. はじめに：2 週間先の低温・高温リスクの高まりを把握する技術とは？
これまでに東北農業研究センターと岩手県立大学で共同研究を行い、東北地方の農業従事者を対象に、ウェブサイトを通じて 1 週間先までの気温の予測等を用いた「水稲栽培管理警戒情報」を提供してきました（2010 年より農業試験システムを一般公開しております。ウェブサイト
http://map2.wat.soft.iwate-pu.ac.jp/）。
深水管理による冷害対策などには一定の準備期間を要することから、さらに早い時期から低温・高温のリスクの高まりを把握できるように、2011 年より気象庁の協力のもと、2 週間先までの予測情報による警戒情報を試行提供しています。2 週間先までの予測情報は、アンサンブルダ
ウンスケール予報（確率予報）であり、一般にあまり馴染みのないものであるので、警戒情報を
分かりやすい言葉で表現し提供しています（警戒情報はメール配信もしています）。

3.3.2. 2 週間先までの気温の予測情報を提供しています
2 週間先までの予測情報には、東北地方全体を 1km メッシュに区切って示した気温予測（7 日平均気温）と確率情報（低温、高温確率）があります（東北農業研究センターと気象庁の共同研究により作成しています）。
（1）気温予測
気温予測（7 日平均気温）は、東北農業研究センターが作成した 1km メッシュ気温平年値・標準偏差（対象期間は 1981～2010 年の 30 年）と気象庁の「異常天候早期警戒情報（以下、早警）」のガイダンス（アンサンブル予報から地域毎の気温平年差や降水量平年比を予測したデータ）を用いて作成しています（図 17）。

図 17

東北地方 1km メッシュ気温予測値の作成方法。

— 129 —東北地方の農業における温暖化適応策と気象情報の高度利用

2 週間先の予測では、明日、明後日の天気予報のような精度のよい予測は困難ですが、気温の大まかな傾向などを把握することは可能です。図 18 は、低温が顕著であった、1993 年の 7 月末を対象として、モデルによる予測実験を行った結果です。右の予測結果をみると、2 週間前の時
点で、左の解析値ほどではありませんが、北日本を中心とした低温が予測されています。このような情報により、いち早く低温などの兆候が分かれば、冷害対策に生かすことが期待できます。

図 18 1993 年 7 月末のヤマセ時を対象とした、2 週間先の予測実験結果（7 日平均気温）。

（2）確率情報
確率情報（低温、高温確率）は、各メッシュについて、水稲の低温・高温への影響が懸念される気温の確率です。表 2 に示すように、低温の基準は 20℃以下としています。7 月中旬から 8 月
上旬にかけて気温が 20℃より下がると、花粉の発育障害が起こり、受粉・受精が正常に行われないなどの理由から、収量が著しく下がる危険性が高まります。また、高温の基準は 27℃以上としています。8 月上旬から 8 月下旬にかけて気温が 27℃以上になる場合、高温登熟障害により品質が低下する危険性が高まります。
表 2 水稲の警戒気温。
時期
7 月中旬から 8 月上旬（幼穂形成期～出穂期
前）
8 月上旬
（出穂期）
8 月上旬から 8 月下旬（出穂期～登熟初期）

警戒気温
懸念される症状（7 日間平均）

対策

20℃以下

障害不稔発生深水管理など20℃以下

障害不稔発生深水管理など27℃以上

高温登熟障害

掛け流し灌漑など

— 130 —SENAC Vol. 48, No. 2（2015. 4）

図 19 は、ヤマセによる低温が顕著であった、2003 年の 7 月末を対象として予測実験を行った結果です。左の平年値と比較すると、低温確率が大きく、低温のリスクが平年より高まっている
ことがわかります。右の実況値はこの時期に対応した実際の気温の分布です。水稲の低温障害が懸念される 20℃以下の所を、青系の色で示しています。この事例では、中央の確率メッシュの 20%以上に着目すると、実況で 20℃以下の地域がかなり捉えられ、10％以上に着目すればほぼ網羅されます。このように平年の確率と比べて低温（高温）確率が大きい場合には、10％や 20％のような小さい確率でも注意が必要な場合がありますので、この先の状況に注目しつつ、いざという時に深水管理などの対策ができるように準備するのがよいと考えられます。

図 19 1993 年 7 月末のヤマセ時を対象とした、2 週間先の予測実験結果（警戒確率）。

3.3.3. 低温リスクと高温リスクの警戒情報を配信しています
2 週間先までの予測情報による警戒情報は、2 週間先までの予測情報の特性を考慮して、1 週間
先までの警戒情報（栽培管理）の補助的な情報と 2 週間先までの警戒情報（低温、高温確率）の
みの単独の情報の 2 つを提供しています。
（1）1 週間先までの警戒情報（栽培管理）の補助的な情報
1 週間先までの予測情報を用いた栽培管理の警戒情報では、生育モデルからユーザの圃場での生育段階を予測し、各生育段階での警戒温度をもとに低温、高温のリスクがある場合に警戒情報を提供しています。1 週間先までに低温、高温のリスクがある場合には、さらに 2 週間先までの

東北地方の農業における温暖化適応策と気象情報の高度利用— 131 —

予測情報から低温、高温のリスクがあるかを警戒情報として提供します。すなわち、低温、高温のリスクが 2 週間先まで継続する場合に注意を促し、早目の対策を立てる判断材料として活用できるようにしています。
図 20 に示すように、低温（20℃以下）、高温（27℃以上）の警戒情報は、低温、高温確率が 30％以上の場合に提供します（確率と実況出現頻度から基準を定めています）。ただし、高温の警戒情報においては、8 月下旬から 9 月には 27℃以上の確率が 30％となることがほとんどないため、刈り取り適期等に活用することを考え、アンサンブル平均の平年差が+1.5℃以上となる場合に警戒情報を提供しています（気象庁から高温の異常天候早期警戒情報が発表されるレベルに近い条件
で警戒情報を提供しています）。

図 20 1 週間先までの警戒情報（栽培管理）の補助的な情報。

（2）2 週間先までの警戒情報（低温、高温確率）のみの単独の情報
2 週間先までの警戒情報のみの単独の情報では、低温、高温確率を分かりやすい言葉で表現し提供します（表 1 の低温、高温障害の危険期に警戒情報をメールで配信しています）。
図 21 に示すように、低温（20℃以下）、高温（27℃以上）の警戒情報は、低温、高温確率が 20％以上の場合で、なおかつ、低温、高温確率が平年の出現確率より大きい場合に提供します（確率と実況出現頻度から基準を定めています）。20％の小さい確率でも平年の確率と比べて低温、高温
確率が大きい場合に注意を促し、早目の対策の判断材料として活用できるようにしています。

— 132 —SENAC Vol. 48, No. 2（2015. 4）

図 21 2 週間先までの警戒情報（低温、高温確率）のみの単独の情報。

3.3.4. まとめ
本節で紹介しました農業支援システム（図 22）は，ユーザ登録をすれば，どなたでも無料で利用できます（ウェブサイト http://map2.wat.soft.iwate-pu.ac.jp/ からユーザ登録ができます）。
早い時期から低温・高温のリスクの高まりを把握できるように、ウェブサイトおよびメールにより情報提供を行っていますので、深水管理などの対策を実施する際の判断材料の 1 つとしてご利用して頂ければと思います。

図 22 農業支援システム（ウェブサイト http://map2.wat.soft.iwate-pu.ac.jp/）。

東北地方の農業における温暖化適応策と気象情報の高度利用— 133 —

4. 終わりに
本稿は、大学、農業研究機関、気象機関が協力し、東北の農業（稲作）の地球温暖化適応策を取りまとめたものです。地球温暖化予測実験結果をダウンスケールし、地域の温暖化予測データを作成し、適応策を検討しました。内容は、気候の平均的状態の変化への対応と、気候変動に対処するための農業気象情報の高度利用の 2 点です。
1 節でも書いた通り、地球温暖化予測には、様々な不確実性が残されています。また、温暖化による影響は地域によって異なり、地域の温暖化予測は一層難しく不確実性も大きい、と考えなければなりません。温暖化予測の精密化をはかり、適応策も随時修正していく必要があります。
地球温暖化が地域社会に与える影響はたいへん複雑です。このため、温暖化適応策も多岐にわたります。地域の問題は地域で考えていくことが大切で、そのためには、地域における横の連携が大事です。有効な適応策を提案するためには、産官学や学際、異業種間での議論を一層深める必要があります。
地球温暖化予測情報を地域の発展に役立てるためには、そもそも、日々の気象予測を有効活用できる基盤が必要です。気象予測技術の発展は顕著であり、予報を活用できる範囲は確実に広がります。確率表現が可能となるアンサンブル予報も徐々に公開が始まりつつあります。気象デー
タはビッグデータの時代を迎えます。膨大な気象予測データから地域に役立つ情報を引き出すための高度利用技術がますます重要になります。

謝辞
本稿は、気候変動適応研究推進プログラム「ヤマセと冬季モンスーンに関する先進的ダウンスケール研究」の研究成果と様々な議論に基づいています。また、全球気候モデルによる温暖化データのダウンスケールには、東北大学サイバーサイエンスセンターのスーパーコンピュータを利用しました。同センター関係各位の有益なご指導とご協力に感謝いたします。本研究で使用した
気象庁データ「週間予報データ」は気象庁と（社）日本気象学会の研究協力の枠組みである「気象研究コンソーシアム」を通じて提供されました。

— 134 —SENAC Vol. 48, No. 2（2015. 4）

用語解説•

全球気候モデル

全球気候モデルは、大気・海洋・陸面・雪氷などの変化を、流体力学・力学・化学・物理学・生物学などの方程式を用いて表現し、地球規模での気候をシミュレーションする数理モデルの総称。地球温暖化の予測や原因の推定などに用いられ、気候変動に関する政府間パネル（IPCC）の報告書の根拠となる研究成果にも数多く利用されています。

•

領域気象モデル

領域気象モデルは、大気・海洋・陸面・雪氷などの変化を、流体力学・力学・化学・物理学・生物学などの方程式を用いて表現し、着目する領域内の気象を詳細にシミュレーションする数理モデルの総称。防災気象情報等を提供するために用いられています。

•

シナリオ

将来の気候を予測するために用いるための社会の変化の想定のこと。特に、温室効果ガスの排出量についてのシナリオを、排出シナリオと言います。排出シナリオの中で、特に IPCC の「排出シナリオに関する特別報告（Special Report on Emission Scenarios）」が提案したものを SRES
シナリオと言います。気象庁の「地球温暖化予測情報第 8 巻」に用いられている SRES シナリオ
は、その中の一つ SRES A1B シナリオです。このシナリオは、高度経済成長が続き、地域間格差が縮小し、新しい技術が急速に導入される未来社会で、全てのエネルギー源のバランスを重視するという、社会変化を想定したものです。このシナリオの他に、二酸化炭素の排出を減少させていく社会を想定したシナリオ、あるいは、二酸化炭素排出量が増えていく社会を想定したシナリ
オも存在します。

•

力学的ダウンスケーリング

数値気象モデルを用いた再計算によるデータの詳細化のこと。低解像度の全球気候モデルによる大規模場の計算結果をもとに、ある領域について、高解像度の地形等を入力して再計算することを言います。これにより、指定した領域について、下部境界の状態に大きく依存した小さな現象を解像することができます。温暖化予測については、全球で計算された気候の変化が、着目する地域ではどのように現れるかがわかるようになります。本研究では、東北大学サイバーサイエ
ンスセンターのスーパーコンピュータを利用して、計算を実施した。

東北地方の農業における温暖化適応策と気象情報の高度利用— 135 —

参考文献
[1] 気象庁 地球温暖化予測情報 第 8 巻, 2013.
http://www.data.jma.go.jp/cpdinfo/GWP/index.html[2] 下野裕之, 2012: 地球温暖化でも冷害はなくならない―そのメカニズムと対策, 農山漁村文化協会.
[3] 卜蔵建治, 2001: ヤマセと冷害: 東北稲作のあゆみ, 成山堂書店.
[4] 松村伸二, 2011: 2010 年夏季の異常高温と農業被害 -水稲を中心として-, 自然災害科学, 30(2),169-192.
[5] 気象庁 気象庁気候変動監視レポート 2013, 2014.
http://www.data.jma.go.jp/cpdinfo/monitor/index.html[6] 林陽生, 2009: 地球温暖化で日本農業はどう変わる, 家の光協会.
[7] 渡邉紹裕, 2008: 地球温暖化と農業−地域の食料生産はどうなるのか？, 昭和堂.
[8] 越水幸男, 1988: アメダス資料による葉いもち発生予察法. 東北農業試験場研究報告, (78),67-121.
[9] 林孝・越水幸男, 1988: 葉いもち発生予察のコンピュータプログラム（BLASTAM）の開発．
東北農業試験場研究報告, (78), 123-138.

— 136 —SENAC Vol. 48, No. 2（2015. 4）[式典報告]［式典報告］

東北大学サイバーサイエンスセンター新棟竣工および新スーパーコンピュータシステム導入披露式典を開催しました

平成 27 年 2 月 20 日（金）、東北大学サイバーサイエンスセンター（以下、本センター）において、新棟竣工および新スーパーコンピュータシステム導入披露式典を開催しました。これは、新スーパーコンピュータシステム導入に合わせて建設が進められていた新棟の竣工および新スー
パーコンピュータシステムを正式に運用を開始したことを記念して開催されたものです。
本センターは、これまで、学術界および産業界で年々大規模・高精度化するシミュレーション
解析に対応するため、最先端コンピュータシステムを整備し、優れた利用環境の開発に努力してまいりました。この度、更なる処理能力の要求に応えるべく、これまで運用していた SX-9 の 20倍以上の性能を有する新型ベクトル型スーパーコンピュータ「SX-ACE」（NEC 製）を導入し、平成 27 年 2 月 20 日から全国の研究者・技術者の皆さまへの提供を開始しました。

サイバーサイエンスセンター新棟（左）新スーパーコンピュータシステム

この新スーパーコンピュータシステムは、我が国をはじめ、米国、中国などのフラグシップス
ーパーコンピュータの 3 倍～10 倍となる世界最高の性能効率を、極めて省電力で達成できることが明らかになっています。
また、本センターは被災地にある拠点大学として防災・減災の取り組みにも力を入れており、災害科学国際研究所等と共同し、この新システムを利用することにより、大規模地震に伴って発生する津波浸水被害をリアルタイムで評価・分析する「リアルタイム津波浸水予測システム」の研究開発にも取り組んでいます。

— 137 —SENAC Vol. 48, No. 2（2015. 4）

式典では、榎本剛文部科学省研究振興局参事官（情報担当）をはじめ、里見進総長、各大学の基盤センターや関連する機関、NEC の来賓の方々ら約 100 名にご出席いただき、式典後には新棟に設置された新スーパーコンピュータシステムを見学いただきました。
続いて開催された記念講演会では、宇宙航空研究開発機構教授・一般社団法人 HPCI コンソー
シアム理事長の藤井孝藏氏、ドイツ シュトゥットガルト大学高性能計算センター長の Michael
M. Resch 氏、および NEC 執行役員常務の庄司信一氏より、それぞれご講演いただきました。
引き続き、講演会の後に開催された祝賀会では、青木孝文副学長のご発声で乾杯を行いました。
終始和やかな雰囲気の中で、学内外からスピーチをいただき、盛況のうちに閉会しました。

里見進総長の挨拶

見学会の様子

— 138 —［式典報告］

SENAC Vol. 48, No. 2（2015. 4）

SENAC Vol. 48, No. 2（2015. 4）— 139 —

— 140 —SENAC Vol. 48, No. 2（2015. 4）

SENAC Vol. 48, No. 2（2015. 4）— 141 —

— 142 —SENAC Vol. 48, No. 2（2015. 4）

SENAC Vol. 48, No. 2（2015. 4）— 143 —

— 144 —SENAC Vol. 48, No. 2（2015. 4）

SENAC Vol. 48, No. 2（2015. 4）— 145 —

— 146 —SENAC Vol. 48, No. 2（2015. 4）

[報 告]
［報 告］

第 21 回高性能シミュレーションに関する
ワークショップ(WSSP)を開催しました
東北大学サイバーサイエンスセンター

小林広明

東北大学サイバーサイエンスセンターは、東北大学、海洋研究開発機構（JAMSTEC）、ドイツのシュトゥットガルト大学高性能計算センター(HLRS)、NEC の共同主催で、2015 年 2 月 18 日（水）～2 月 19 日(木)に第 21 回 Workshop on Sustained Simulation Performance (WSSP)を開催しました。本ワークショップは、サイバーサイエンスセンターと HLRS との間の高性能計算に関する組織的連携協定に基づき、両センターのスーパーコンピュータシステムの利用者、並びに国際的に活躍する計算科学者・計算機科学者を招いて、毎年、春と秋にシュトゥットガルト大学と東北大学で交互に開催しております。今回のワークショップは 2 日間で延べ 159 名の参加者が集い、活発な議論がなされました。
ワークショップは、本学進藤秀夫理事（産学連携担当）の挨拶で始まり、引き続き、文部科学
省研究振興局計算科学技術推進室川口悦生室長から我が国の HPCI 政策に関するご講演がありました。ご講演では、京の次のスーパーコンピュータ開発プロジェクト「FLAGSHIP2020」についての現状と今後の計画が示されました。
今回は、2 件の基調講演をスタンフォード大学マイケルフリン教授と神戸大学小柳義夫教授にしていただきました。フリン教授は、30 年以上継続されている東北大学とスタンフォード大学の研究者による高性能マイクロプロセッサに関する国際共同研究に触れられたあと、今後ますます性能が引き出すことが難しくなる高性能計算分野において、アプリケーションに応じて動的にハードウェア構成を変えることができる FPGA の可能性について将来展望を述べられました。
また、小柳教授は、過去 50 年のスーパーコンピュータの開発史を紹介されたあと、世界各国が目指すエ
クサコンピューティングに向けたスーパーコンピュータの開発にはアプリケーションとシステムのコデザインが重要であることを述べられました。
本ワークショップでは、東北大学と JAMSTEC の間で行われている共同研究課題「地球科学，
防災・減災のための HPC システムの開発研究」の成果発表も行われました。東北大学からは、
この度サイバーサイエンスセンターで新規導入したスーパーコンピュータ SX-ACE を活用したリ
アルタイム津波震災予測システムの研究開発に関する成果発表を行いました。また、JAMSTEC
からは 3 月に導入が計画されている ES3（地球シミュレーター3）の構成とその地球科学分野での応用の発表がありました。
このほか、一般講演では、国内外の研究者から、スーパーコンピュータアーキテクチャから応用まで、計算機科学分野と計算科学分野を幅広くカバーする興味深い講演がありました。ご講演についてご興味がございましたら、講演予稿集に残部がございますので、サイバーサイエンスセ
ンターまでお問い合わせください。

— 147 —SENAC Vol. 48, No. 2（2015. 4）[報 告]

フリン教授（スタンフォード大学）による基調講演

ワークショップの様子

— 148 —SENAC Vol. 48, No. 2（2015. 4）

[報 告]
［報 告］

第13回 情報シナジー研究会報告

東北大学サイバーサイエンスセンターでは、先端的情報技術の研究発表と情報交換を目的として情報シナジー研究会を企画・開催しております。第13回研究会が以下のとおり開催されました。
日時： 平成27年3月2日（月） 10:00ー12:30
会場： サイバーサイエンスセンター・本館5階・講義室
プログラム：
開会発表
10:00ー10:30
スーパーコンピュータSX-ACEと活用事例の紹介
山下 毅 (1), 大泉 健治 (1), 齋藤 敦子 (1), 小野 敏 (1), 撫佐 昭裕 (2)(3), 江川 隆輔 (2),小林 広明 (2)(1)
東北大学情報部情報基盤課，(2) 東北大学サイバーサイエンスセンター，(3) NEC
10:30ー11:00
Card-Based Cryptographic Protocols for Two-Bit Output Functions
シャリファ アルジュニド (1), 西田 拓也 (2), 林 優一 (2), 水木 敬明 (3), 曽根 秀昭 (3)(1)
東北大学工学部，(2) 東北大学大学院情報科学研究科，(3) 東北大学サイバーサイエンスセ
ンター
11:00ー11:30
時系列の画像・深度情報を用いた複数の物体の領域抽出
菅原 勝也 (1), 阿部 亨 (2), 菅沼 拓夫 (2)(1)
東北大学大学院情報科学研究科，(2) 東北大学サイバーサイエンスセンター
11:30ー12:00
心電図計測不要の補助人工心臓の心拍動同期制御
廣橋 義寛 (1), 田中 明 (2), 吉澤 誠 (3), 杉田 典大 (1), 阿部 誠 (1), 白石 泰之 (4), 三浦
英和 (4), 山家 智之 (4)(1)
東北大学大学院工学研究科，(2) 福島大学共生システム理工学類，(3) 東北大学サイバーサイエンスセンター，(4) 東北大学加齢医学研究所
12:00ー12:30
Refactoring of HPC Applications with User Knowledge
Chunyan Wang (1)(2), Shoichi Hirasawa (1)(2), Hiroyuki Takizawa (1)(2), Hiroaki Kobayashi (3)(1)
東北大学情報科学研究科，(2) JST CREST，(3) 東北大学サイバーサイエンスセンター
閉会SENAC Vol. 48, No. 2（2015. 4）— 149 —

[報 告]
［報 告］

海洋研究開発機構地震津波・防災研究プロジェクトの有吉技術研究員が平成 26 年度地震学会論文賞を受賞しました

受賞論文名：Migration process of very low-frequency events based on achain-reaction model and its application to the detection of preseismic slip for
megathrust earthquakes
受賞者：有吉 慶介*1・堀 高峰*1・金田 義行*1・中田 令子*1・Jean-Paul Ampuero*2・
松澤 暢*3・日野 亮太*3・長谷川 昭*3*1 独立行政法人海洋研究開発機構 地震津波・防災研究プロジェクト（現：地震津波海域観測
研究開発センター）*2 カリフォルニア工科大学*3 東北大学大学院理学研究科附属地震・噴火予知研究観測センター
本研究では，研究対象を沈み込みプレート境界の深部で発生する超低周波地震に限定することによって実際の現象に即したスケールでのシミュレーションを可能とし，巨大地震発生サ
イクル中での発生様式の変化という観測可能な指標を提示することに成功しています．こうしたアプローチは地震学におけるシミュレーション研究の今後の方向性の一つを示したもの
として高く評価され、平成 26 年度の「日本地震学会論文賞」を受賞いたしました。
また、シミュレーションに用いたプログラムコードは当センターとの共同研究によって開発され、スーパーコンピュータ SX-9 向けに最適化されたものとなっています。
参考 1)日本地震学会 web ページ
http://www.zisin.jp/modules/pico/index.php?content_id=3093(参考 2)関連する研究成果(当センター広報誌 SENAC 掲載研究成果)
http://www.ss.cc.tohoku.ac.jp/refer/pdf_data/v44-4/v44-4_p35-48.pdf

— 150 —SENAC Vol. 48, No. 2（2015. 4）[Web 版大規模科学計算システムニュースより]
大規模科学計算システムニュースに掲載された記事の一部を転載しています。

http://www.ss.cc.tohoku.ac.jp/tayori/

平 成 27 年 度 講 習 会 計 画 に つ い て (No.192)
平成 27 年度サイバーサイエンスセンター講習会をご案内いたします。多くのみなさまの参加をお待ちしております。
No.
1

名 称UNIX 入門2

新スーパーコンピュータ
SX-ACE の紹介と利用法

3

並列プログラミングの概要と Open MP プログラミン
グ入門
MPI プログラミング入門

4

募集
開催日程
内容概略
人数 講 師
4 月 20 日(月)共同利用支援係･UNIX システムの基本的な使い方
13:00-16:00
20 共同研究支援係･エディタの使い方＜終 了＞･プログラムの実行方法
4 月 21 日(火)共同利用支援係･大規模科学計算システムの紹介と13:00-15:30
利用法
20 共同研究支援係＜終 了＞
スーパーコンピュー ･Open MP による並列プログラミング
4 月 22 日(水)20 ティング研究部の基礎
13:00-17:00
･利用法
＜終 了＞
4 月 24 日(金)スーパーコンピュー ･MPI による並列プログラミング
10:00-17:00の基礎
20 ティング研究部
＜終 了＞
･利用法
4 月 27 日(月)スーパーコンピュー ･実習によるプログラムの高速化
13:00-16:00
20 ティング研究部を目的としたスーパーコンピュ＜終 了＞
ータの最適化および並列化の基礎
5 月下旬
スーパーコンピュ ･利用者持ち込みプログラムのハン
10 ーティング研究部
ズオンセミナー(第 5 回講習会受講者を対象)
13:00-16:00

6

新スーパーコンピュータ
SX-ACE における高速化技
法の基礎
高速化ハンズオンセミナー

7

可視化システムの利用法

6 月 15 日(月)10:00-17:15

10

8

MATLAB 入門

6 月 5 日(金)13:00-17:00

20

9
10

ネットワークとセキュリ
ティ入門
Gaussian 入門

11

Mathematica 入門

12

Marc 入門

8 月 4 日(火)13:30-16:00
8 月 28 日(金)13:00-17:00
9 月 2 日(水)13:00-17:00
9 月 3 日(木)13:00-17:00

13UNIX 入門

5

9 月 7 日(月)13:00-16:00

30
20
20
20

メーカ担当者･可視化システムの基本的な使い方

陳(秋田県立大)･MATLAB の基本的な使い方

水木 (ネットワー ･ネットワークの基本的な仕組み･ネットワークの危険性と安全対策
ク研究部)
岸本(理)
･Gaussian の基本的な使い方
横井(情科)･Mathematica の基本的な使い方

内藤(工)･Marc の基本的な使い方･UNIX システムの基本的な使い方･エディタの使い方･プログラムの実行方法
14 新スーパーコンピュータ 9 月 8 日(火)共同利用支援係･大規模科学計算システムの紹介と20
利用法
SX-ACE の紹介と利用法
13:00-15:30
共同研究支援係
15 並列プログラミングの概 9 月 9 日(水)スーパーコンピュー ･Open MP による並列プログラミングの基礎
要と Open MP プログラミン 13:00-17:00
20 ティング研究部･利用法
グ入門
16 MPI プログラミング入門
9 月 10 日(木)スーパーコンピュー ･MPI による並列プログラミングの基礎
10:00-17:00
20 ティング研究部･利用法
17 新スーパーコンピュータ 9 月 11 日(金)スーパーコンピュー ･実習によるプログラムの高速化を目的としたスーパーコンピュ
SX-ACE における高速化技 10:00-14:00
20 ティング研究部
ータの最適化および並列化の基礎
法の基礎＋ハンズオンセミ 14:00-17:00 (10)・ハンズオンセミナー
ナー
備考：申し込み、各講習会詳細については、ウェブページ
http://www.ss.cc.tohoku.ac.jp/guide/kosyu.cgi をご覧ください。
共同利用支援係

20

共同研究支援係— 151 —[Web 版大規模科学計算システムニュースより ]平成 27 年度の共同研究について (No.193)
本センターでは、大規模科学計算システムの利用者と共同でプログラムやアルゴリズムを開発する共同研究を行っています。今年度の募集に応募されたものについて共同研究専門部会で審査の結果、以下の９件が採択されましたのでお知らせします。
No.
１
２

申請者

所属

研究課題

有馬 卓司

東京農工大学大学院

アンテナ放射効率低下メカニズムの解明と放射先端電気電子部門

効率改善手法に関する研究

海洋研究開発機構

数値シミュレーションに基く余効すべり伝播

地震津波海域観測研

速度と摩擦特性との関係の解明

有吉 慶介

究開発センター
３
４
５
６
７

河野 裕彦
茂田 正哉
陳 強
松岡 浩
三坂 孝志

東北大学大学院

密度汎関数緊密結合法を用いたナノスケール

理学研究科

分子のナノ秒化学反応シミュレーション

大阪大学

プラズマプロセスにおけるナノ粒子群の集団形成

接合科学研究所

および輸送過程の大規模数値シミュレーション

東北大学大学院

大規模問題のための超高速モーメント法に関

工学研究科

する研究

東北大学

連続感度解析の実現を目指した整数型格子ボル

電気通信研究所

ツマン法流体解析手法の開発

東北大学

Building-Cube 法による大規模高レイノルズ数

学際科学フロンティ

流れ解析に関する研究

ア研究所
８

森野 裕行

三菱航空機株式会社

民間航空機開発における大規模 CFD 解析の
適用

９

横堀 壽光

東北大学大学院

血管疾患を有する血管壁の拍動下での時系列

大見 敏仁

工学研究科

変形挙動特性再現シミュレータの開発（スーパーコンピューティング研究部，共同研究支援係）

計算科学・計算機科学人材育成のためのスーパーコンピュータ無償提供制度について (No.193)
東北大学サイバーサイエンスセンターでは、計算科学・計算機科学分野での教育貢献・人材育成を目的として、大学院・学部での講義実習等の教育目的での利用について、無料（ただし、利用状況によっては上限を設定する場合があります）で大規模科学計算システムをご利用いただける制度を用意しております。
利用を希望される場合は、以下の情報を添えて、edu-prog@cc.tohoku.ac.jp までお申し込みください。

— 152 —SENAC Vol. 48, No. 2（2015. 4）

・講義担当者氏名・同所属・同連絡先（住所，電話，電子メール）・講義名・講義実施日時（１セメスターの中で実習を予定している回数）
・センターでの実習利用希望の有無（必要であれば予定日）
・講師派遣の有無
・講義シラバス
・講義ウェブ（もし用意されていれば）・受講者数（予定）・必要とする理由（利用目的：例えば、高速数値実験の研修を行うなど）・期待できる教育効果
・その他（センターへの要望等）
なお、講義終了後、報告書（広報誌 SENAC へ掲載）の提出をお願いいたします。たくさんのお申し込みをお待ちしております。不明な点は、edu-prog@cc.tohoku.ac.jp までお問い合
わせください。
(スーパーコンピューティング研究部，共同利用支援係)

民間企業利用サービスについて (No.193)
東北大学サイバーサイエンスセンターでは、社会貢献の一環として大学で開発された応用
ソフトウェアとスーパーコンピュータを、民間企業の方が無償または有償にてご利用頂ける制度を用意しております。本サービスにおける利用課題区分は以下の２つとなります。
・大規模計算利用(有償利用)
・トライアルユース(無償利用)
詳細については以下を参照し、利用を希望される場合は共同利用支援係までお申し込みください。
http://www.ss.cc.tohoku.ac.jp/utilize/business.html

問い合わせ先東北大学サイバーサイエンスセンター
情報部情報基盤課 共同利用支援係
電話: 022(795)6251
E-mail : uketuke@cc.tohoku.ac.jp(共同利用支援係)

— 153 —[Web 版大規模科学計算システムニュースより ]平成 27 年度利用負担金について (No.194)

平成 27 年度の利用負担金は、表 1(大学・学術利用)、表 2(民間機関利用)のとおりとなります。
なお、今後電気料金が高騰した場合には、年度途中において負担経費を値上げする場合があります。あらかじめご了承ください。

区

分

項

目

演 算
負担経費

表１ 基本利用負担金【大学･学術利用】
利用
負 担 額
形態
利用ノード数 1(実行数、実行時間の制限有) 無料(備考２)
利用ノード数 1～32 まで
共有

スーパー
コンピュータ占有

経過時間 1 秒につき0.06 円

利用ノード数 33～256 まで 経過時間 1 秒につき(利用ノード数-32)×0.002 円+0.06 円
利用ノード数 257 以上
経過時間 1 秒につき(利用ノード数-256)×0.0016 円+0.508 円
利用ノード数 32
利用期間 3 ヶ月につき400,000 円
利用期間 6 ヶ月につき720,000 円
利用ノード数 64

利用期間 3 ヶ月につき利用期間 6 ヶ月につき720,000 円
1,300,000 円

利用ノード数 128

利用期間 3 ヶ月につき利用期間 6 ヶ月につき1,300,000 円
2,340,000 円

利用ノード数 1～6 まで
経過時間 1 秒につき0.04 円
利用ノード数 7～12 まで
経過時間 1 秒につき0.07 円
並列
利用ノード数 13～18 まで 経過時間 1 秒につき0.1 円
コンピュータ
利用ノード数 19～24 まで 経過時間 1 秒につき0.13 円占有
利用ノード数 1
利用期間 3 ヶ月につき160,000 円(可視化システムの 20 時間無料利用を含む)
利用期間 6 ヶ月につき320,000 円(可視化システムの 40 時間無料利用を含む)
1TB まで無料、追加容量 1TB につき年額
3,000 円
共有

ファイル
負担経費
出力
大判プリンタによるカラープリント
フォト光沢用紙 1 枚につき
600 円
負担経費
クロス 1 枚につき1,200 円可視化
1 時間の利用につき2,500 円
機器室利用
負担経費
備考
１ 負担額算定の基礎となる測定数量に端数が出た場合は、切り上げる。
２ 負担額が無料となるのは専用のジョブクラスで実行されたものとし、制限時間を超えた場
合には強制終了する。
３ 占有利用期間は年度を超えないものとし、期間中に障害、メンテナンス作業が発生した場合においても、原則利用期間の延長はしない。また、占有利用期間中のファイル負担経費
は 10TB まで無料とする。
４ ファイル負担経費については申請日から当該年度末までの料金とする。

— 154 —区

分

SENAC Vol. 48, No. 2（2015. 4）

項

目

演 算
負担経費

表２ 基本利用負担金【民間機関利用】
利用
負 担 額
形態
利用ノード数 1(実行数、実行時間の制限有) 無料(備考２)
利用ノード数 1～32 まで
共有

スーパー
コンピュータ占有

経過時間 1 秒につき

0.18 円

利用ノード数 33～256 まで 経過時間 1 秒につき(利用ノード数-32)×0.006 円+0.18 円
利用ノード数 257 以上
経過時間 1 秒につき(利用ノード数-256)×0.0048 円+1.524 円
利用ノード数 32 利用期間 3 ヶ月につき1,200,000 円
利用期間 6 ヶ月につき2,160,000 円
利用ノード数 64

利用期間 3 ヶ月につき利用期間 6 ヶ月につき2,160,000 円
3,900,000 円

利用ノード数 128

利用期間 3 ヶ月につき利用期間 6 ヶ月につき3,900,000 円
7,020,000 円

利用ノード数 1～6 まで
経過時間 1 秒につき0.12 円共有
利用ノード数 7～12 まで
経過時間 1 秒につき0.21 円
並列
利用ノード数 13～18 まで 経過時間 1 秒につき0.3 円
コンピュータ
利用ノード数 19～24 まで 経過時間 1 秒につき0.39 円占有
利用ノード数 1
利用期間 3 ヶ月につき480,000 円(可視化システムの 20 時間無料利用を含む)
利用期間 6 ヶ月につき960,000 円(可視化システムの 40 時間無料利用を含む)
1TB まで無料、追加容量 1TB につき年額
9,000 円

ファイル
負担経費
出力
大判プリンタによるカラープリント
フォト光沢用紙 1 枚につき1,800 円
負担経費
クロス 1 枚につき3,600 円可視化
1 時間の利用につき7,500 円
機器室利用
負担経費
備考
１ 負担額算定の基礎となる測定数量に端数が出た場合は、切り上げる。
２ 負担額が無料となるのは専用のジョブクラスで実行されたものとし、制限時間を超えた場
合には強制終了する。
３ 占有利用期間は年度を超えないものとし、期間中に障害、メンテナンス作業が発生した場合においても、原則利用期間の延長はしない。また、占有利用期間中のファイル負担経費
は 10TB まで無料とする。
４ ファイル負担経費については申請日から当該年度末までの料金とする。

— 155 —SENAC Vol. 48, No. 2（2015. 4）― SENAC 執筆要項 ―１．お寄せいただきたい投稿内容
次のような内容の投稿のうち、当センターで適当と判定したものを掲載します。その際に原稿の修正をお願いすることもありますのであらかじめご了承ください。
・一般利用者の方々が関心をもたれる事項に関する論説・センターの計算機を利用して行った研究論文の概要
・プログラミングの実例と解説・センターに対する意見、要望
・利用者相互の情報交換
２．執筆にあたってご注意いただく事項(1)原稿は横書きです。
(2)術語以外は、「常用漢字」を用い、かなは「現代かなづかい」を用いるものとします。
(3)学術あるいは技術に関する原稿の場合、200 字～400 字程度のアブストラクトをつけてください。
(4)参考文献は通し番号を付し末尾に一括記載し、本文中の該当箇所に引用番号を記入ください。
・雑誌：著者,タイトル,雑誌名,巻,号,ページ,発行年
・書籍：著者,書名,ページ,発行所,発行年
３．原稿の提出方法
原稿のファイル形式は Word を標準としますが、PDF での提出も可能です。サイズ*は以下を参照してください。ファイルは電子メールで提出してください。
－Word の場合－
・用紙サイズ：A4
・余白：上＝30mm 下＝25mm 左右＝25mm 綴じ代＝0
・標準の文字数（45 文字 47 行）＜文字サイズ等の目安＞
・表題＝ゴシック体 14pt 中央 ・副題＝明朝体 12pt 中央
・氏名＝明朝体 10.5pt 中央
・所属＝明朝体 10.5pt 中央
・本文＝明朝体 10.5pt
・章・見出し番号＝ゴシック体 11pt～12pt*余白サイズ、文字数、文字サイズは目安とお考えください。
４．その他(1)執筆者には、希望により本誌*（10 部以内の希望部数）と本誌 PDF 版を進呈します。
*2014 年末で、別刷の進呈は終了しました。
(2)投稿予定の原稿が 15 ページを超す場合は共同利用支援係まで前もってご連絡ください。
(3)初回の校正は、執筆者が行って、誤植の防止をはかるものとします。
(4)原稿の提出先は次のとおりです。
東北大学サイバーサイエンスセンター内 情報部情報基盤課共同利用支援係
e-mail uketuke@cc.tohoku.ac.jp
TEL022-795-3406

— 156 —SENAC Vol. 48, No. 2（2015. 4）スタッフ便り昨年 7 月、センター内に「高性能計算技術開発（NEC）共同研究部門」が開設されました。この研究部門は東北大学と日本電気株式会社との産学連携拠点として開設されたもので、次世代スー
パーコンピュータに向けた要素技術の研究やアプリケーションプログラムの高速化や並列化に関する研究を行っています。
私も 7 月からこの研究部門の一員として研究活動を始めました。昨年度の成果の一つは、2 月に稼働したスーパーコンピュータシステム SX-ACE を使ったリアルタイム津波浸水シミュレーションシステムの開発です。3 月に開催された国連防災世界会議のパブリックフォーラムでは、
SX-ACE の実機を使い、南海トラフ地震を想定したデモンストレーションを行いました。このデモ
ンストレーションで、地震発生から約 17 分で高知市内の津波浸水の予測を高知県庁へ送付できることを実証しました。
今年度は、このリアルタイム津波浸水シミュレーションシステムのさらなる強化を行っていきたいと思っています。スーパーコンピュータが社会インフラの一部になり、安全・安心な社会を実現できればと思っています。（A.M）

新スーパーコンピュータ SX-ACE の運用がいよいよ始まり、忙し
くも充実した毎日を送っています。昨年 4 月からセンターの技術職員として働きはじめ、早いものでもう 1 年です。社会人になってから、職場も仕事もガラッと変わったのは今回が初めて。この歳で新しいことを一から習得することの大変さを痛感したり、職場が変わるとこんなに文化が違うのかとカルチャーショックを受
けたりしつつも、多少はセンター職員として様になってきたかな、と思う今日この頃です。まだまだ勉強勉強の日々ですが、有効にシステムをお使いいただけるよう微力ながらもサポートしていければと思っています。
新年度もどうぞよろしくお願いいたします。（A.S）

SENAC 編集部会
小林広明 曽根秀昭 水木敬明 後藤英昭
江川隆輔 佐藤恵美子 高杉佳奈 大泉健治
小野 敏 斉藤くみ子
平成 27 年 4 月発行
編集・発行 東北大学
サイバーサイエンスセンター
仙台市青葉区荒巻字青葉 6-3
郵便番号 980-8578
印 刷
東北大学生活協同組合
プリントコープ
整備中の青葉山新キャンパスࢩࢫࢸ୍࣒ぴィ⟬ᶵࢩࢫࢸ࣒ᶵ ✀ࢫ࣮ࣃ࣮ࢥࣥࣆ࣮ࣗࢱ

6;$&(୪ิࢥࣥࣆ࣮ࣗࢱ

/;5H


ࢧ࣮ࣂྡ

ࣇࣟࣥࢺ࢚ࣥࢻࢧ࣮ࣂIURQWFFWRKRNXDFMS

66+ ࢔ࢡࢭࢫㄆド㘽⏕ᡂࢧ࣮ࣂ

NH\FFWRKRNXDFMSࢧ࣮ࣅࢫ᫬㛫฼⏝ࢩࢫࢸ࣒ྡ➼฼⏝᫬㛫ᖏ

ࢫ࣮ࣃ࣮ࢥࣥࣆ࣮ࣗࢱ

㐃

⥆

㐠

㌿

୪ิࢥࣥࣆ࣮ࣗࢱ

㐃

⥆

㐠

㌿

ྍど໬ᶵჾᐊ

ᖹ᪥ 㹼

㤋ෆ฼⏝ᖹ᪥ 㹼

ࢫ࣮ࣃ࣮ࢥࣥࣆ࣮ࣗࢱ㸦6;$&(㸧ࡢ฼⏝ᙧែ࡜ไ㝈್฼⏝ᙧែ฼⏝ࣀ࣮ࢻᩘ ᐇ⾜᫬㛫ไ㝈ͤ 㸦⤒㐣᫬㛫㸧
ࠥ

つᐃ್㸸 㐌㛫᭱኱್㸸 ࣨ᭶ࠥ

つᐃ್㸸 ࣨ᭶᭱኱್㸸 ࣨ᭶ ᫬㛫

ࠥ ᫬㛫

ࠥ ᫬㛫

㏻ᖖ

↓ᩱ
ࢹࣂࢵࢢ

࣓ࣔࣜࢧ࢖ࢬไ㝈 T ࢜ࣉࢩࣙࣥ E ࢜ࣉࢩࣙࣥ

*%ࣀ࣮ࢻᩘ

฼⏝ࣀ࣮ࢻᩘ

V[*%
*%ࣀ࣮ࢻᩘI
GHEXJ

฼⏝ࣀ࣮ࢻᩘ

୪ิࢥࣥࣆ࣮ࣗࢱ㸦/;5H㸧ࡢ฼⏝ᙧែ࡜ไ㝈್฼⏝ᙧែ฼⏝ࣀ࣮ࢻᩘͤ ᐇ⾜᫬㛫ไ㝈㸦⤒㐣᫬㛫㸧࣓ࣔࣜࢧ࢖ࢬไ㝈

㏻ᖖ

ࠥ

つᐃ್㸸 ࣨ᭶᭱኱್㸸 ࣨ᭶*%ࣀ࣮ࢻᩘ

T ࢜ࣉࢩࣙࣥ E ࢜ࣉࢩࣙࣥ
฼⏝ࣀ࣮ࢻᩘ
O[࢔ࣉࣜࢣ࣮ࢩࣙࣥ

࡞ࡋ

*%఍ヰᆺ㸦 ࢥ࢔ࡲ࡛㸧 ᫬㛫㸦&38 ᫬㛫ྜィ㸧

*%

ͤࣀ࣮ࢻ௨ୖࢆ฼⏝ࡋࡓ୪ิᐇ⾜࡟ࡣ03,ࡢ฼⏝ࡀᚲ⏝D