同.
.
'

計測自動制御学会東北支部第 282回研究集会 (2013.
07.
17)
資料番号 282・
9GPU・
FPGAアクセラレータを有するヘテロジニアス計算プ
ラットフォーム上での 2次元 FDTD計算の高速化
Accelerationo
f2D・FDTDComputationonaHeterogeneous
PlatformwithGPUandFPGAa
ccelerators
0張 山 昌 論 ヘ ハ シ タ ム ト ゥ マ ラ ウ ィ シ デ ィ ス ー リ ヤ * 武 井 康 浩 ヘ 亀 山 充 隆 *oMasanoriHariyama'¥H i七haMuthumalaWaidy ooriyaぺY uhiroTakei*，部

邸部

fv
IichitakaKameyama
ア*東北大学大学院情報科学研究科*GraduateSchoolo
fInformationSciences，
TohokuUniversity

キーワード: ヘテロジニアスアーキテクチャ (Heterogeneousarchitecture)，高性能計算 (high‑performancecomputing)，スーパーコンビューティング (supercomputing)，時間領域差分法 (FDTD)，FPGA(FPGA)
連絡先: 〒 980・8579 仙台市青葉区荒巻字青葉 6‑
ι05
東北大学大学院情報科学研究科

張山昌論， Tel.
:(022)
795・7153，Fax.
:(022)
263‑
9167，E‑mail:hariy祖a~ecei.tohoku.ac.jp

一般にアプリケーションにはデータインテン

い.この問題の解決法としては， F
PGA(Field‑

シプとコントロールインテンシブのように央.なProgrammableGateA
rrays)を使用することがる種類のタスクが合まれている.ヘテロジニア

あげられる .FPGAはプログラム可能なロジック

スな演算処理はこのように異なるタイプのタス

プロック，スイッチプロック，メモリモジュール，クを電力効率よく処理するために提案されていDSPモジュールを用いて演算部，メモリ，接続る.ヘテロジニアスなプロセツシングには，図部などを任意の規模，構成でデータパスを合成

1のように CPUとアクセラレータように異なすることができる.そのため， GPUとFPGAをる種類のプロセッサが用いられている.アプリ

組み合わせることにより，さまざまなタイプのケーションのタスクを最適なプロセッサに割り演算を高速化することができる.近年の FPGA当てることにより，全体の処理性能を大きく向では 30万以上の句ジックセルや 5
1vlB以上のメ上させることができる

ヘテロジニアスな高性

モリ，高速な通信インターフェースが利用でき能計算 (HPC)向けプラットプオームの例としてるので， 1つの FPGAに数百のプロセツシングは， Intelの CPUと NVDIAの GPU(graphicPE)を持たせることができる.しかエレメント (processingunit)で構成される

し， FPGAは多くのリソースを有し，かつ非常などが上げられる. GPUは高並列で規則的な浮に低消費電力であることにもかかわらず， HPC動小数点演算に適しているが，それ以外の種類向けプラットフォームに用いられていることはのタスクを高速化するのは GPUだけでは難し少ない.主な原因としては， FPGA向けプログ
噌Eiラミングが複雑になること， GPUと比べて浮動小数点演算の性能が低いことなどがあげられる.本論文では，さまざまな種類の演算を高速

Electricfieldcomputation

化できる GPUとFPGAアクセラレータを有す
Periodicboundaryc
ondition

るヘテロジニアスな演算プラットフォームを提案し，計算量を削減した精度ハイブリッドな 2‑D

Magneticfieldcomputation

FDTD演算に適用した場合について述べる.

Periodicboundaryc
ondition

1. 2・DFDTD法
1.
1 概要
FDTD2)は単純で非常に効率的であることから，最もよく使用されている電磁界シミュレーション手法の 1つである

Fig.2 FDTDのフローチャート

FDTDはマルチコアCPUや 7)，8)のような GPUによる高速化手法が多く提案されている.図 2に FDTDの主E?+1(tJ)=E?(tJ)

なタスクを示す.はじめに，電界と磁界の初期4一乃引(川(刊U
がぱ+サi
川

値から最初のタイムステップでの電界の情報が得られる.その後，周期的な境界条件が適用さ叫

1刊
νψρ/刈2勾)ト
一Uがぱ+寸tω 一ゆjρ)
{ばが附
吋
引
(収山i
仰川
刊+川刊
叫
1山
νψ/仰βω
2丸A幻川，ρj)ーがい‑1/2，j)}れる.それから，磁界の情報の取得と境界条件(1)の適用を行う.この処理を与えられたタイムスH;+を(i，j+1/2)=H;
さー(i，j+1/2)

テップ数だけ続行する.式 (1)に電界の計算式を，式 (2)(3)に磁界の計算式を示す

x，y，z方ω+1)‑E;(ω)}‑Qy(i，j){E;(向の電界，磁界はそれぞれ E と H ， タイム(2)ステップは n，2次元の座標は tと jで表わされる.電界と磁界での境界における計算は異な.
.
‑一

口一‑+1/2，j)= H;; 2(i+1/2，j)‑Qx(ω){
E;(i+1，j)‑E;(i，j)}

H~" 2(iることに注意する .FDTDの詳しいアルゴリズ)によって与えられている.
ムは 2(3)
更なる高速化のために，光共振器のアプリケー)の特徴について観察する 3)によると，
シヨン 3
光共振器の外側の空洞の電磁界は内側に比べて弱くなっている.図 3に FDTDによる各格子点での計算結果を示す.これより，原点から遠い格子点での電界のダイナミックレンジは小さくなっていることがわかる.同様に，磁界においFig. 1 ヘテロジニアスアーキテクチャても似たような特徴が観察されている.これらの観察結果より，ダイナミックレンジが狭い領域では計算精度を減らすことができると考えられる.
qA'

単精度/倍精度演算への分割

Fig.3 電界のダイナミックレンジ

1.
2 倍精度と単精度浮動小数点を組み合わせた GPUによる高速化。
ダイナミックレンジが大きい領域では倍精度浮動小数点を，ダイナミックレンジが小さい領域では単精度浮動小数点を用いている.図 4のように，全体の境界と ar
ea1においては倍精度

Fig.5 単精度/倍精度ハイブリット演算浮動小数点演算を，一方で町ea2においては倍に小さいことがわかる.加えて，単精度浮動小精度浮動小数点演算を行っている.この手法の数点を用いた手法 2よりも精度が高くなってい問題点の 1っとして floatとdoubleの変換による. FDTDのアルゴリズムにおいて，電磁界の1)のようるオーバーヘッドがあげられる.式 (境界付近のデータのダイナミックレンジは非常に，座標 (i，k)における電界の計算において左に大きくなっているため，このエリアでは倍精右の座標における磁界の値が要求される.同様

度浮動小数点が要求される.これと比べて，中に，座標 (i，k+1/2)における磁界の計算におい間領域のダイナミックレンジは非常に小さいたても左右の座標における電界の値が要求される.

め， 32bi七固定小数点が効果的となる.これらの図 4において分割された境界における電磁界計結果より，全体の演算の 95%について， FPGAa1とarea2にそれぞれ単精度と算のために，町e上の 32bit固定小数点 ALUを用いることによ倍精度の値が必要となる.結局，日oatとdoubleり，消費電力を 20W以下と非常に小さくするの変換が必要となり，オーパーヘッドが発生すことができる.

る.図 5に単精度/倍精度ハイブリットな浮動小数点演算のフローチャートを示す.

1.
3 倍精度浮動小数点と固定小数点を組み合わせた FPGAによる高速化 5)
表 1に浮動小数点と l劃定小数点による FDTD

2. GPU.FPGAアクセラレータを有するヘテロジニアスプラッ
トフォーム
2.
1 概要
本研椀ではマルチコア CPU，GPU，FPGAから手法 1について，このデータを要求される結果なるヘテロジニアスな環境を使用した.図 6にヘとして仮定する.手法 3と4のデータより，固定テロジニアスプラットフォームの演算ノードを小数点を用いた結果における精度の損失は非常示す. FPGAと GPUはそれぞれ PCIE
xpress︒
︒の演算精度を示す.倍精度浮動小数点を用いた

Table2 ヘテロジニアスプラットフォームの仕様

Table1 演算精度とエラーの関係
Method1vIaximuma
bsoluteerror
Electricfield

11agneticfieldProcessor

Nofucmobreesr M
paxoiw
meur
me‑Doubl.
ーI
CnFteUl:cor
ei73960X
6130W
preclslon
1floatin
gpointUGer
FUo:
ceGTX5900
1024 360W(DPFP))FPGA:DE4board6」ーー
一StratixIVGXSingl
争
1.1
6X 10‑5 9.
20X 10‑6191PEs 20W
EP4SGX530
preclslon2floatingpoint
一5%DPFP771.50X 10‑ 1.92X 10‑
提案手法では演算を高速化することができる.
95%32bit3
図 8に演算時間と倍精度演算の関係を示す.
fixed‑
point』ーー
doublep
recisioncomputationarea"は倍精度25%DPFP
6.
80X 10‑8 6.
39X 10‑8
75%32bit演算が実行された格子点の割合を指すことに注
4fixed‑point
意する.演算時間は倍精度演算の割合が増えるほど増加しているが，倍精度演算が 95%の場合で接続されている.このプラットフォームの仕は 100%の場合と比べて演算時間が大きくなった.これは，単精度/倍精度ハイブリット演算に様について表 2に示す.

おいて，日oatから doubleに数値を変換するときのオーバーヘッドによるものである.

2.
2 GPUによる高速化 4)
本研究では CPU(Intelcorei7960) と GPU

2.
3 FPGAによる高速化 5)(GeForceGTX590)を使用した.図 7のようCPUと FPGAによる低消費電力ヘテロジニに，提案手法では従来の倍精度による GPUでアスプラットフォームの主な問題点の 1つに，一断面・・・の演算と比べて1.79倍の高速化を達成した.倍精度浮動小数点演算には 2つの CUDAコアが必要になるが，単精度では 1つで済む.そのため，FPGAへのプログラミングの複雑さがあげられる.よりプログラミングを単純なものにするた・likeなアーキテクチャを提案する.
め， CUDA

下:JfJi‑睡図F
igure9に提案する FPGAアーキテクチャを示す.このアーキテクチャは N
iosI
ICPUコア，オンチップメモリ， SI
Iv
lDアクセラレータ
コアによって構成されている.外部から DDR2E)J‑j;

SDRAivlが NiosIICPUコアを通じて FPGAボードに接続されている. NiosIICPUコアは主にアクセラレータの制御ユニットとして使用

恒司‑される.提案する SI
1v
lDアクセラレータは GPU

Fig.6 ヘテロジニアスプラットフォームの演算ノードと似たデザインをしているため，同じ CUDAのコードを使用することができる. SIMDアクセ‑4‑

∞?o6∞o5000

4卿オ圃圃

.
，.
.
‑122;
しIExtemalmemo
叩、.

、、~r"ー一ー‑ー一一一ー

1 0t:
.

3000

，‑‑一一『lRISCP
ro sor2000 J舗∞圃

1 o~oCPUGPU:

GPU:

conv
entional proposed

Fig.7 演算時間の比較
8.
5FPGAω

。
7.
5E

Fig.9 FPGAプラットフォーム全体のアーキ
テクチャ

冒g>6.
5355

20.
.4.
5Io2040印
801∞
Percentageo
fdoubleprecisioncompu
泊tionarea(%)

Fig.8 ハイブリッド演算の精度
ラレータの基本的なアイデアやプログラミング)において議論され環境については，先行研究 9ている. 9)と本論文におけるアーキテクチャにおいて， PEの構造に大きな違いがある.

0に 32bit固定小数点 PEのアーキテク
図1Outp凶s:Elec
釘icl
Magne!
tc
fiel
ddata

チャを示す.この PEは 5つの加算器と 3つの乗算器から構成されている.データパスは完全Fig.10 PEのアーキテクチャにパイプライン化されているため，パイプラインが満たされたときには毎サイクルごとに演算提案するアーキテクチャを A
lteraDE46)ボー結果が出力される.この PEは FPGA(Stratixtrat
ixIVG XEP4SGX530に実装したド上の S91個搭載することがIVGXEP4SGX530)に 1場合について， リソース使用量，消費電力，周できる.さらに高性能な FPGAを用いた場合，波数の見積もりを立てた.表 3の見積もり結果かより多くの PEを搭載することができる.

ら，動作周波数が 50
1v
IHzで 191個以上の PE提案するプラットフォームにおいては，境界を実装できることがわかる.また，消費電力はIntelcorei
下に近い電磁界のデータは CPU(20W以下になる.

3960X)で，残りのデータは FPGAで計算され表 4に CPUjGPUヘテロジニアスプラットる.境界データが演算された後に FPGAに転送フォームとの比較を示す. CPUjGPU実装でのされるが， CPUにおける境界データの演算とisualstudio2008での CUDA演算時間評価は V

FPGAにおける電磁界の計算をオーバーラップtimerを使用した. CPUjFPGAにおける演算時させることによって CPUの計算オーバーヘッ

間は表 1の手法 3を用いて動作周波数 50Iv
lHz

ドを隠すことができる.

で演算させた場合における数値である. CPUjFPGAυV同Table3 FPGA実装時のリソース使用量の見積もり

Resources

1020DSPunits(99.
6%)
20
11bits(98.
87%)

Frequency

50MHzPowerLes
sthan20W

S.Ii
jim
aandH.Yamada，Cylin・3)Y.O
htera，dr
icalResonatorUti
1izin
gaCurvedRβsonant
Gratingasa CavityWa
1l¥micromachines，
pp.
l01‑
113，2012.

L(estirna
匂心1aWaidy
部 ooriya，y，錨uhiro4)HasithaMuthuma
i，Masanor
i Hariyama 叩 d ~1ichitaka
T北 e
Kameyama Hybr
idSinglej
DoublePrecisionFloating‑
PointComputationonGPUAccel‑erator
sfor2・DFDTD"，
InternationalConfer‑enceonParallelandDistributedProcessingTechniquesandApplications(PDPTA)(tobeappeared).

Table4 演算時間
MethodIProcessingtime(s)CPU+GPU

I10.08(rneasur吋)

CPU+FPGAI11.26(estimated)の実装では， CPU/GPUの実装結果と比べてわずかに計算速度が遅くなっているが，消費電力は10分の 1以下に抑えることができる.演算時間の 90%以上が境界データのグローパルメモリからローカルメモリへの通信時間であることに注意すると，データ圧縮などの通信データ削減
手法を適用する必要があると考えられる.

3. むすび
演算精度をできるだけ落とさずに高速化を行うために，高い演算精度が必要な領域を倍精度で，あまり演算精度が必要とされない領域を単精度または固定小数点で計算する精度ハイブリツ
ドアプローチを提案した.さらに，精度ハイブリッドアプローチを GPU， FPGAを用いて実装し，高速化に有用であることを実証した.

謝辞
本研究は MEXT科研費 12020735の助成を受けたものである.

1)htt
p:jjww
w.
top
500.
orgjsystemjl05872)H.S. Yee， Numerical Solution of1ni‑1ueProblems1nvolv
ingtial Boundary Vaell'sEquationsinIsotropic ~ledia人
M砿 wIEEETransactionsonAntenn
asandPropa‑.ll4，No.
3，pp.
302・307，1966.
ga
tion，Vo394503Logi
cb
locks(92.
8%)
417140Regi
錦 町s(98.
1%)(191PEs)

参考文献

5)HasithaMuthumalaWaidyasooriya，Yasuhiroei，lV
lasanori Hariyama and MichitakaT叫ceterogeneousPlat‑
Kameyama，Low‑PowerHfor
mおrHighPerfor
manceComputingand
Its Application to 2D‑FDTD Computa‑tion"，
Inter
nationa
1ConferenceonEngineer‑
ingofReconfigurableSystemsandA
lgorithms(ERSA)(tobeappeared).
6)http://www.
altera.
com/education/univ/materials
jbo
町 ds
jde4junv
‑
de
4・bo
町 d.
html7)Z.Bo，X.Z
heng‑
hui，R.Wu，L.Wei‑ming，S.
X
in‑qing，AcceleratingFDTDa
1gorithmus‑
ingGPUcomputing"，InternationalConfer‑enceonMicrowaveTechnology& Computa‑
tionalE
lectromagnetics (ICMTCE)，pp.
41
仏413，2011.
8)T. Nagaoka and S. Watanabe， A GPU‑
1basedcalculationusingthethree‑dimensiona
FDTDm凶hodforelectromagneticf
ieldanal‑
ysis"，1nternationalConferenceonEngineer‑lVIBC)，
ingi
nMedicineandBiologySociety(Epp.
327‑
330，2010.

，M. Hariyama and9)H. M. Waidyasooriya
M. Kameyama， Architectureo
fanFPGA‑
OrientedHeterogeneousMulti‑coreProcessorwithS1MD‑
AcceleratorCores"，1nternationa
1ConferenceonEngineeringofRecon
figur
ablepp.
179・186，
S
ystem
sandA
lgor
ithms(ERSA)，
2010.
10)A.Taflov
eandM.E.Brodwin，Numer
ical80・
lutionofSteady‑StateElectromagneticScat‑teringProblemsU
singtheTim
争 D
ependent
Maxwel1'sEquations"，
1EEETransactionson
MicrowaveTheoryandTechniqu
民 Vo
123.
1s‑
su
e8，pp.623・630，1975.

‑6‑