[目次][前ページ][次ページ][OHP][質疑応答]
(3/7)

3. 高速化作業体制


3.1 要員

 高速化作業の実施に当たっては、1名の管理者、1名の主任技術者及び5名の技術者が担当する。管理者はスケジューリング及び全体の進捗管理等のマネージメントが主であり、実際の高速化作業は主任技術者以下6名が実施する。

3.2 対象コードの選定

 高速化対象となる原子力コードを選定するに当たり、まず候補となるコードが次の4つの場合から挙げられる。
  1)年1回の所内一般公募
  2)CPU利用時間が長いコード
  3)プログラム相談窓口からの依頼
  4)プログラム開発整備作業からの受託
 1)は毎年12月に次年度高速化希望コードを所内ユーザを対象に一般公募するものであり、例年10件ほどの応募がある。2)は毎月の計算機利用状況を踏まえ、CPU使用時間が長く高速化の可能性のあると思われるコードをピックアップし、運用/管理者側から当該コードの利用者に対し高速化への要望を伺うもので、年間数本のコードが対象となる。3)は情報システム管理課が設けるプログラム相談室からの依頼によるもので、ユーザがプログラム開発中に発生した問題解決のために利用する、プログラム相談室での相談内容から、高速化等のプログラミングに係わるコードが候補となる。4)は1)と同時に公募し情報システム管理課で別途実施している「プログラム開発整備作業」の作業結果に基づき、高速化の必要のあるコードを受託するものである。
 候補となったコードに関しては、ユーザにコード高速化に関する調査用紙への記入をお願いし、その内容を元に直接ユーザとミーティングを持ち、それらの調査結果から高速化対象コードを選定する。なお、当該高速化作業には高速化に関する調査等も含まれる。

3.3 作業指針

 対象コードの高速化チューニングは、極力その計算内容の把握に勤めコードの分析を十分に実施することから始める。ユーザの希望だけではなく、コードの特性や計算機環境に合わせ、他の計算機での高速化の可能性の検討も行っている。また、ベクトル化や並列化の施行も、解析規模や実行回数を考慮し、それらに合わせたいくつかの高速化コード(バージョン)を作成する場合もある。
 並列化に関しては今後のより高性能な並列型計算機への交換をも考慮し、移植性・汎用性を重視した並列化技術であるMPI(Message Passing Interface)の利用を推進している。
 また、高速化チューニングに限らず、コードの利用・実行に際しての使いやすさをも考慮した、ユーザインタフェースや出力グラフ等の整備も併せて実施している。
 これらの詳細については4章で述べる。

3.4 作業の進捗及び成果

 高速化作業は、プログラム解析ツールを用いたプログラム分析に始まり、チューニング指針の策定、基本チューニング(プログラム分析に基づいたチューニング作業)、高度チューニング(アルゴリズムレベルを考慮したチューニング指針の作成とプログラム変更)、そしてチューニング後の性能評価という流れになる。一連の作業は、数ヶ月から1年に及ぶものもあり、月1度の定例会でその進捗状況を報告/議論している。
 また、作業成果に関してはユーザへの作業報告書とは別途、年次報告書として、原研報告書(JAERI-Data/Code)に毎年の成果をまとめると同時に、所内向けホームページでその成果概要を公開している。これらの詳細については5章で述べる。


[目次][前ページ][次ページ][OHP][質疑応答]