• 検索結果がありません。

GPUを用いた行列演算ソフトウェアの開発

N/A
N/A
Protected

Academic year: 2021

シェア "GPUを用いた行列演算ソフトウェアの開発"

Copied!
2
0
0

読み込み中.... (全文を見る)

全文

(1)Vol.2014-CSEC-65 No.7 Vol.2014-IOT-25 No.7 2014/5/22. 情報処理学会研究報告 IPSJ SIG Technical Report. GPU を用いた行列演算ソフトウェアの開発 土居 主尚1,a). 坂部 啓. 概要:大規模疫学データを解析する状況で数万人のデータに対し統計解析モデルを用いる場合,一般に条 件分岐が少なく大規模なデータに対し同じ計算を行う.我々は画像処理を専門とする GPU(Graphics processing unit) がこのような計算に適していることに着目し,GPU による汎用の数値計算 (General-purpose computing on graphics processing units, GPGPU) を用いた統計解析ソフトウェアの開発に着手した.こ のソフトウェアは統計解析パッケージとして有名な R のライブラリとして実装した.既存の R プログラ ムも最低限の書き換えで本ソフトウェアの恩恵を受けれるよう,R の機能である演算子のオーバーライド を利用し,既存の関数を本ソフトウェアの関数に置き換える機能を持たせた.またデータを GPU が使用 するビデオメモリ領域に転送するオーバーヘッドを削減するため,一度ビデオメモリに転送した後はその まま保持できるようにした.またコンピュータのメインメモリに比べ容量が小さなビデオメモリを有効に 活用するため,ビデオメモリでしばらく使われなかったデータを自動的にメインメモリに戻すことでビデ オメモリの利用効率改善を図っている.. 1. はじめに 近年,統計解析の分野では従来よりも大規模なデータを. GPU に適した多量のデータに対し同一の処理を行うもの であることに着目し、統計解析への GPGPU の適用を検討 した。適用対象ソフトウェアとして、統計パッケージ「R」. 扱ったり,またベイズ統計学のように反復計算を前提とし. を選択した。R は解析の現場で頻繁に用いられるが,それ. た手法が頻繁に用いられるようになっている.このため一. は R が無償で利用できるだけでなく,開発者とユーザーが. つの計算に数日かかることもあり、計算の高速化が望まれ. 比較的近く,多くの解析手順が利用可能となっているから. ている。しかし、計算を行っている CPU の動作速度は近年. である.R では自分自身が書いた R のコードをパッケー. 伸び悩んでおり、CPU を使う限りは著しい計算の高速化は. ジと呼ばれる拡張ソフトウェアとして提供することで,世. 困難である。一方、グラフィック描画のための専用計算機. 界中の R ユーザーが容易に利用できるようになっており,. である GPU(Graphics processing unit) は近年の三次元グ. 2014 年 4 月 14 日現在で 5,000 を越えるパッケージが利. ラフィックス性能の向上と共にその性能を向上させている.. 用可能となっている.しかしながら,R がデフォルトで. GPU は CPU が有している条件分岐などのオーバーヘッド. 用いる計算用のスレッド数は 1 であり,マルチコア CPU. を隠蔽するための機構を省略し,その分のリソースを演算. の残りのコアや,汎用計算に利用可能な GPU は利用しな. プロセッサに割り当てることにより浮動小数点演算性能を. い.また R のパッケージとして,GPU を利用するものも. 高めている.また、グラフィック描画のために多量のデー. いくつか存在するが,実装されている関数は多くなく,ま c の R から容易に利用可能なものは存在しな た Windows⃝. タに対し同一の処理を行うよう多数のプロセッサを集積 し、これに適したメモリ構造としている.GPU はこのよ. い.そこで本研究では GPU を計算に用いる Windows 向. うな特徴を有しているため、グラフィック描画と同様に大. け R パッケージの開発を試みた.. 量のデータに対し同一の処理を行う状況では高いパフォー マンスを発揮する。そのため、汎用の数値演算に GPU を 用いる GPGPU (General-purpose computing on graphics. processing units) が近年注目を浴びている。. 2. 本パッケージの特徴 現状で本パッケージは開発中であるが,以下の特徴を備 えるものが完成する見込みである.. 本研究では、統計解析の分野で用いられる手法の多くが. 2.1 Windows 版 R から利用可能 1. a). 独立行政法人放射線医学総合研究所 千葉県千葉市稲毛区穴川 4-9-1 [email protected]. c 2014 Information Processing Society of Japan ⃝. Windows は多くのパーソナルコンピュータ上で動作す る OS であり,その上で容易に利用可能となることにより,. 1.

(2) 情報処理学会研究報告 IPSJ SIG Technical Report. Vol.2014-CSEC-65 No.7 Vol.2014-IOT-25 No.7 2014/5/22. 多くのユーザーが利用可能となる.. 2.2 データ転送の最小化 GPGPU にて計算をする際,メインメモリにあるデータ を GPU から扱えるビデオメモリに転送が必要であるが, この転送のための所要時間の占める割合が比較的大きいこ とが知られている.そこで,計算のために一度ビデオメモ リに転送されたデータは,ビデオメモリ上に留め,次に利 用される際には転送することなくそのまま計算に利用可能 とした.そのために,R のオブジェクトの外部ポインタと いう仕組みを利用した.. 2.3 既存の R コードの最小限の変更 R には演算子のオーバーライドという機能があり,既存 の関数を上書きすることが可能である.そこで,R の既存 の関数を GPU を用いるコードで上書きすることにより, 既存の R のコードを変更箇所を最小限に留めて,高速化す ることが可能である.. 2.4 ビデオメモリの有効活用 ビデオメモリ上にあるデータは転送のコストなく利用可 能である一方で,その容量には限りがある.そこでビデオ メモリの容量が不足した際や,不足が予想されそうな際, 最も長い間参照されなかったデータをメインメモリに戻す 機能を実装した.. 2.5 マルチ GPU への対応 しばしば複数の GPU を搭載可能なコンピュータも存在 する.そのようなコンピュータで,GPU の搭載個数に応 じてパフォーマンスが向上すれば理想的である.しかしな がら,他の GPU に搭載されたビデオメモリへのアクセス には通常データ転送が必要となる.従ってデータを分割し て転送し,別の GPU で計算を行った後,その結果を再度 転送したのでは,大きなパフォーマンスの向上は望めない. そこで本パッケージではデータを分割しての複数 GPU へ の対応はせず,一連の計算処理の中でメモリ転送が比較的 少なくなるレベルでの分割を検討している.. 3. おわりに 現状では,このパッケージは開発中である.研究報告会 では,今後の方向性などについて意見を頂ければ幸いで ある.. c 2014 Information Processing Society of Japan ⃝. 2.

(3)

参照

関連したドキュメント

鋼板中央部における貫通き裂両側の先端を CFRP 板で補修 するケースを解析対象とし,対称性を考慮して全体の 1/8 を モデル化した.解析モデルの一例を図 -1

重回帰分析,相関分析の結果を参考に,初期モデル

そこで本解説では,X線CT画像から患者別に骨の有限 要素モデルを作成することが可能な,画像処理と力学解析 の統合ソフトウェアである

名の下に、アプリオリとアポステリオリの対を分析性と綜合性の対に解消しようとする論理実証主義の  

振動流中および一様 流中に没水 した小口径の直立 円柱周辺の3次 元流体場 に関する数値解析 を行った.円 柱高 さの違いに よる流況および底面せん断力

テューリングは、数学者が紙と鉛筆を用いて計算を行う過程を極限まで抽象化することに よりテューリング機械の定義に到達した。

Research Institute for Mathematical Sciences, Kyoto University...

解析の教科書にある Lagrange の未定乗数法の証明では,