Performance team
額田 彰 教授
コンピュータ分野においてパフォーマンス(性能)とは多くの場合は処理速度,計算スピードを意味します. このパフォーマンスチームが目標とするのは 計算の高速化 です. 同じ内容の計算であっても,使用する計算機によって,プログラムの書き方によって実行時間が大きく異なります. 特に近年の計算機に搭載されるプロセッサは複雑になってきて,その特徴を理解した上で適したコーディングを行い, そのプロセッサが本来備える性能を引き出す手法を研究するのがこのパフォーマンスチームです.
GPU(Graphics Processing Unit)とは
GPU ( Graphics Processing Unit )は名前の通り画像処理を担当するデバイスです. 3次元空間の可視化等の処理がコンシューマ向けでは3Dビデオゲーム, プロ向けではCADのような設計分野等で利用されています. 特にゲーム業界の需要によって,より綺麗で高解像度,高フレームレートの描画を実現できるGPUが必要となり, 高性能なデバイスが比較的低価格で提供されるようになりました. その結果として浮動小数演算性能として当時のCPUを上回るようになり, GPUを利用して一般的な計算の高速化の試みがはじまりました.
GPUの特徴は非常に多数の演算器を搭載することです. 画像処理が多数のデータに対して同じ計算を行うことから, より多くの演算器を搭載することを優先しています. その代わりに普通のCPUが備える色々な機能を省略したり犠牲にしたりしています. GPUの動作周波数もCPUより低く,多数の演算器を活用できるだけの並列性がなければ高速化が実現できません. 目的となる計算内容をうまくGPUの構造に当てはめるにはどのようにプログラムを作成すればよいかを研究していきます.
研究テーマ
GPUを用いた高速化 がメインのテーマになります. 他には, GPU計算を支援する各種ソフトウェア開発 や, あるいは希望があればGPU以外のCPUやメニーコアプロセッサも対象とします. 過去に学生が行った研究,および現在の主な研究テーマは以下の通りです.
-
Fortranアプリケーションの半自動GPU化
ユーザにGPU化範囲を指定してもらうことにより,その範囲内の並列化可能な箇所をGPU用のプログラムに置き換えます.
これによりGPUプログラミングの支援を実現します. -
OpenACCアプリケーションでのチェックポイント機能の実現
チェックポイントとは,実行中のアプリケーションの状態をファイルなどに保存して,それをもとに後から再実行する機能を指します.
既存のチェックポイントソフトウェア「DMTCP」を拡張し,OpenACCアプリケーションを対象とすることを目標としています. -
遊休GPUを利用したホスト・デバイス間通信の高速化
GPUを1基のみ使用するアプリケーションを複数のGPUを搭載する計算ノードで実行する際,使われないGPU(遊休GPU)が存在します.
このようなGPUアプリケーションに対して遊休GPUも利用することによってプログラムを変更することなく高速化する手法を研究しました. -
DO CONCURRENT構文によるOpenSWPCのGPU化
Fortranの標準並列化構文であるDO CONCURRENTにて,地震波の伝播シミュレーションコードであるOpenSWPCを
最小限の修正でGPUに移植する研究を行いました.
メンバー
額田 彰 教授
- 高性能計算
- 性能最適化
- GPUコンピューティング
私自身は計算の高速化に関連することであれば割と何でもやります.
チェ ヨン ギュ M2
NVIDIA GPUのRT coreを利用した汎用計算の加速化に挑戦しています.
関 拓己 M2
Fortranアプリケーションの半自動GPU化に関して研究しています.
竹島 駿介 B4
OpenACCでのチェックポイント機能の研究をしております。
渡邊瑞己 B4
OpenACCでの遊休GPUを利用した通信の高速化手法を研究しています。