著者
小田嶋哲哉 李珍泌 朴泰祐 佐藤三久 塙敏博 児玉祐悦 RaymondNamyst SamuelThibault OlivierAumage
雑誌
研究報告ハイパフォーマンスコンピューティング(HPC)
巻号頁・発行日
vol.2012-HPC-135, no.9, pp.1-8, 2012-07-25

GPU クラスタ上でのプログラミングは,様々なプログラミングフレームワークが直交しており,複雑になってしまうことが多い.本研究では,XMP をアクセラレータを持つ並列計算機向けに拡張した言語仕様 XMP-dev の一実装として,GPU と CPU によるハイブリッドワークシェアリングを容易に行うことができる XMP-dev/StarPU を提案し,プロトタイプ実装を行う.XMP-dev は,XMP が本来提供している分散メモリノードへのデータと処理の分割・通信の機能に加え,各ノードでの処理の一部を GPU にオフローディングをすることが可能である.しかし,現在の実行モデルでは GPU にオフロードされた部分はすべて GPU により実行され,CPU との協調計算やワークシェアリングを行うことができない.本研究では,StarPU をバックエンドスケジューラとして用い,計算をタスクという単位で GPU や CPU へスケジューリングをすることで,GPU / CPU のワークシェアリングを可能とする.本稿では,現在開発中の XMP-dev/StarPU のプロトタイプコンパイラと同等の動作をするハンドコンパイルしたコードを用いて重力 N 体問題について評価を行う.結果として,GPU/CPU ワークシェアリングは機能しているが性能向上は十分ではなく,大きな要因は GPU と CPU の性能差に対応する十分な問題サイズを与えることが難しいこと,また,これを改善するために何らかの負荷バランス機能が必要であることがわかった.
著者
小田嶋哲哉 李珍泌 朴泰祐 佐藤三久 塙敏博 児玉祐悦 RaymondNamyst SamuelThibault OlivierAumage
雑誌
研究報告ハイパフォーマンスコンピューティング(HPC)
巻号頁・発行日
vol.2013-HPC-138, no.25, pp.1-9, 2013-02-14

GPU クラスタ上でのプログラミングは,様々なプログラミングモデルが直交しており,複雑になってしまうことが多い.本稿では,分散メモリ環境向け高水準並列プログラミング言語である XMP を GPU クラスタ等のアクセラレータを持つ並列計算機向けに拡張した言語仕様 XMP-dev において,GPU と CPU によるハイブリッド協調計算を実現する XMP-dev/StarPU を提案,実装を行った.XMP-dev は,ノード間通信をベースとし,データの分散や GPU へのオフローディングが可能な並列言語である.しかし,CPU を計算リソースとして GPU と並行して用いるには複雑なプログラミングが必要である.これに対し,StarPU をバックエンドのスケジューラとすることで,計算をタスクという単位で GPU や CPU へスケジューリングすることによりワークシェアリングが可能になる.本稿では,実際のアプリケーションに XMP-dev/StarPU を適用することで,GPU のみを計算に利用するときよりも 1.1~1.2 倍ほどの高速化が可能であることを示した.また,指示文ベースのプログラミングモデルである XMP-dev/StarPU は,通常のプログラミングよりもコストが大幅に削減できることも示した.
著者
TranMinhTuan 李珍泌 小田嶋哲哉 朴泰祐 佐藤三久
雑誌
研究報告ハイパフォーマンスコンピューティング(HPC)
巻号頁・発行日
vol.2011, no.53, pp.1-8, 2011-07-20

GPU アーキテクチャの汎用化と高速化によって,GPU クラスタは高いコストパフォーマンスと演算性能,省電力化を HPC 分野にもたらしている.これまで汎用計算における GPU の高速化効果を目的とするプログラミング言語モデルの拡張やライブラリが数多く提案されてきた.しかし,これらは GPU を搭載するシングルノード環境を対象とする拡張が多く,GPU クラスタなどのメモリ分散システムを対象とするものがまだ少ない.multi-node GPU クラスタにおける高い性能プログラミングは通常の 1 ノード内のホストーGPU の拡張だけでは不十分,それぞれのノードにまたがる GPU どうしのプログラミングも意識する必要がある.そこで,現在,我々は Partitioned Global Address Space(PGAS) プログラミングモデルをベースとした並列プログラミング言語 XcalableMP を GPU クラスタに適用可能とするための拡張を行っている.本稿では,行列積計算を対象に,GPU クラスタにおける XMP-ACC 拡張のプログラミングコストと性能について調査した.その結果,4 ノードの GPU クラスタにおいて,CPU のみを用いた XcalableMP プログラムよりも,それに数行の XMP-ACC 指示文の追加したプログラムのほうが約 42 倍の速度向上が得られた.