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

Richmond のモーメント法解析におけるベクトル化率の向上

N/A
N/A
Protected

Academic year: 2021

シェア "Richmond のモーメント法解析におけるベクトル化率の向上 "

Copied!
7
0
0

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

全文

(1)

Richmond のモーメント法解析におけるベクトル化率の向上

東北大学大学院工学研究科 陳 強  澤谷 邦男 1. はじめに

  Richmondのモーメント法[1]はアンテナや電磁界の数値解析によく用いられる手法である.

この手法は分割セグメント数が少なくても計算精度がよいというすぐれた特徴[2]を持って いるが,大型のアレーアンテナや平面アンテナ解析などの大規模な数値解析において CPU 時間が長いという問題点がある.そのため,大規模な数値解析に対して高速な計算を行える アルゴリズムの開発が必要である.スーパーコンピュータはベクトル演算の機能[3]を持って おり,ベクトル化率の高いプログラムに対して高速な計算が行える.本報告ではスーパーコ ンピュータのベクトル演算機能を利用してRichmondのモーメント法による数値解析を高速 に行うためのベクトル化率の高いアルゴリズムを開発した結果を述べる.

2. 高いベクトル化率のアルゴリズムの開発

  Richmondのモーメント法は,基底関数と重み関数として正弦状関数を用いた手法である.

そのプログラムのフローチャートを図 1に示す.まずアンテナの形状をダイポールセグメン トに分割して,各セグメントの位置情報を計算しておく.その後位置情報に基づいて,各セ グメント間の自己,相互インピーダンスを計算してインピーダンス行列を生成する.さらに インピーダンス行列の逆行列を求めることにより,アンテナ上の電流分布,入力インピーダ ンス,放射電磁界などを求めることができる[1].

 モーメント法による数値解析の一連の流れで,計算時間の大分部はダイポールセグメント 間のインピーダンス行列を求めるための積分計算と,インピーダンス行列の逆行列計算で占 められている.逆行列計算は東北大学大型計算機センターにスーパーコンピュータ用のベク トル化率の高いサブルーチンが用意されているので,それを用いることにより高速化が図る ことができる.プログラム全体の計算時間の高速化を図るには,いかにインピーダンス行列 を生成するサブルーチンに対してベクトル化率を向上させて,高速化するかが問題となって くる.

一般的にプログラムのベクトル化率を上げるにはプログラム中にベクトル演算対象となる DO ループ文を多くつくることと,DO ループの振り返し数(ループ長)を大きくすること が考えられる.繰り返し数を大きくする方法としては

・多重DOループは最深のDOループのループ長が大きくなるようにループを入れかえる.

・小さなループ長のDOループは分離させる.

・多重DOループを一重のDOループに変換する. 

という手法がある.

(2)

START

アンテナ形状をダイポールセグメント に分割し,座標を配列に代入

電流分布 入力インピーダンス 放射電磁界を計算する

DO I=1,N J=I,N

STOP 座標変換 積分計算 RETURN Z行列要素を求める

Z行列の逆行列を 計算する

(N:セグメント数)

図 1  Richmondのモーメント法のフローチャート

図 2に従来のモーメント法のアルゴリズムを示す.外側のループは分割セグメントの相互 インピーダンスを計算するものであり,計算の規模が大きいほど,ループ長が大きい.それ に対して,内側のループはインピーダンス行列要素を計算する積分分点数であり,4〜6ぐら いの短いものである.外側の大きなループはベクトル演算の対称とはならず,最深の小さな ループに対してのみベクトル化されるのでプログラム全体のベクトル化率はわずか 10〜

30%である.そのため,ベクトル化率が上がるような新しいアルゴリズムの開発が必要であ る.そこで,図 3に示すように,まず繰り返し数の小さい積分計算のループを分離し,積分 計算に必要なセグメント間の位置情報をあらかじめ計算して配列に入れ,その後,ループ間 の配列の受け渡しにより大きな繰り返し数のループ内で積分計算を行うようにした.さらに,

積分計算のループの繰り返し数を大きくするために,二重ループを一重ループに変換した.

これによりインピーダンス行列要素を求める部分のベクトル化率が99%以上に向上し,プロ グラム全体のベクトル化率も99%以上になった.

(3)

N:セグメント数(大きい数) M:積分分点数(小さい数)

DO I=1,N DO J=I,N

[座標変換]

DO K=1,M [積分計算] ENDDO

Z(I,J)=Z ENDDO ENDDO

ベクトル演算 対象ループ

ベクトル演算 対象外ループ N×Nのインピーダンス行列を計算するサブルーチン

図 2 従来のアルゴリズム

N:セグメント数(大きい数)

DO I=1,N DO J=I,N

[座標変換]

(変換した位置情報を配列に入れる) ENDDO

ENDDO

DO K=1,N(N+1)/2 [積分計算]

Z(K)=Z ENDDO

ベクトル演算 対象ループ

ベクトル演算 対象ループ N×Nのインピーダンス行列を計算するサブルーチン

図 3 開発したアルゴリズム

 分かりやすく説明するために,図 4と図 5に9行×9列のインピーダンス行列の計算例を 示す.白い部分は計算されていない行列要素を表し,黒く塗られた部分は計算された行列要 素を表す.従来のアルゴリズムにおけるインピーダンス行列計算では,図 4に示すように行

(4)

列の各要素を一つづつ計算している.一方,開発したアルゴリズムにおけるインピーダンス 計算では,プログラムのベクトル化によって 10 倍高速になったとすると図 5に示すように 一命令で 10 個要素を計算できる.つまり,従来のアルゴリズム計算ではインピーダンス行 列を計算するのに 15 命令必要だったのに,開発したアルゴリズムによる計算ではわずか 2 命令で計算できることがわかる.

  Richmond のモーメント法のプログラムがベクトル化によって高速化を実現できるとする

と,多くのセグメント数で分割された大型のアンテナ解析でもインピーダンス行列が少ない ベクトル計算命令で求められ,モーメント法によるアンテナ解析の計算時間を大幅に減少す ることが期待できる.

Z11 Z12 Z13 Z14 Z15 Z21 Z22 Z23 Z24 Z25 Z31

Z41 Z51

・・ ・・ ・・

Z52 Z53 Z54 Z55 Z42 Z43 Z44 Z45 Z32 Z33 Z34 Z35

Z11 Z12 Z13 Z14 Z15 Z21 Z22 Z23 Z24 Z25 Z31

Z41

Z51 Z52 Z53 Z54 Z55 Z42 Z43 Z44 Z45 Z32 Z33 Z34 Z35

Z11 Z13 Z14 Z15 Z21 Z22 Z23 Z24 Z25 Z31

Z41

Z51 Z52 Z53 Z54 Z55 Z42 Z43 Z44 Z45 Z32 Z33 Z34 Z35

Z11 Z13 Z14 Z15 Z21 Z22 Z23 Z24 Z25 Z31

Z41

Z51 Z52 Z53 Z54 Z55 Z42 Z43 Z44 Z45 Z32 Z33 Z34 Z35

Z12

Z12 Z11 Z13 Z14 Z15

Z21 Z22 Z23 Z24 Z25 Z31

Z41

Z51 Z52 Z53 Z54 Z55 Z42 Z43 Z44 Z45 Z32 Z33 Z34 Z35 Z12

図 4 従来のアルゴリズムにおけるインピーダンス行列計算

(5)

Z11 Z12 Z13 Z14 Z15 Z21 Z22 Z23 Z24 Z25 Z31

Z41

Z51 Z52 Z53 Z54 Z55 Z42 Z43 Z44 Z45 Z32 Z33 Z34 Z35

Z11 Z12 Z13 Z14 Z15 Z21 Z22 Z23 Z24 Z25 Z31

Z41

Z51 Z52 Z53 Z54 Z55 Z42 Z43 Z44 Z45 Z32 Z33 Z34 Z35

Z11 Z12 Z13 Z14 Z15 Z21 Z22 Z23 Z24 Z25 Z31

Z41

Z51 Z52 Z53 Z54 Z55 Z42 Z43 Z44 Z45 Z32 Z33 Z34 Z35

図 5 開発したアルゴリズムにおけるインピーダンス行列計算 3. 数値解析結果

 従来のアルゴリズムのプログラムをWSとSXで実行し,計算時間の比較を行った.その 結果を図 6に示す.横軸がアンテナのダイポールセグメント分割数 N,縦軸が CPU TIME

[sec]を表す.図からWSの計算時間がSXの約10分の1であることがわかる.この結果か

ら,SX を使用して計算の高速化を図るためには高いベクトル化率のプログラムが不可欠で あることがわかる.

100 101 102 103

Number of Segment N

10-4 10-3 10-2 10-1 100 101 102 103

CP U T ime [ se c ]

SX

WS

図 6 従来のアルゴリズムにおけるWSとSXでの計算時間比較

(WS:Alpha21164A-600MHz,SX:Super Computer SX4 in Tohoku University)  開発したアルゴリズムと従来のアルゴリズムのプログラムをSX で実行し,インピーダン ス行列計算時間の比較を行った.その結果を図 7に示す.横軸がアンテナのダイポールセグ メント分割数N,縦軸がCPU TIME [sec]を表す.この図から,開発したアルゴリズムの方が 従来のアルゴリズムより約40倍計算時間が高速化できたことがわかる.

(6)

100 101 102 103

Number of Segment N

10-4 10-3 10-2 10-1 100 101 102 103

C P U T im e [s ec]

Old

New

図 7 開発したアルゴリズムと従来のものによる インピーダンス行列計算に要するCPU Timeの比較 (Old: Old Algorithm,N=601の時ベクトル化率:0.0%,

New:New Algorithm,N=601の時ベクトル化率::99.69%.)

 次に開発したアルゴリズムと従来のアルゴリズムのプログラムを SXで実行し,逆行列計 算時間を含めたプログラム全体の計算時間の比較を行った.その結果を図 8に示す.横軸が アンテナのダイポールセグメント分割数N,縦軸がCPU TIME [sec]を表す.この図から,開 発したアルゴリズムの方が従来のアルゴリズムより約 50 倍計算時間が高速化できたことが わかる.

100 101 102 103

Number of Segment N

10-4 10-3 10-2 10-1 100 101 102 103

C P U T ime [s e c ]

Old

New

図 8 開発したアルゴリズムと従来のものによるMoMのCPU Timeの比較

(Old:Old Algorithm,N=601の時ベクトル化率:34.18%,

New:New Algorithm,N=601の時ベクトル化率:99.55%)

(7)

4. まとめ

Richmond のモーメント法におけるインピーダンス行列を計算するサブルーチンに対して

高いベクトル化率で計算するためのアルゴリズムを開発した.その結果,ベクトル化率は

99%以上になり,インピーダンス行列の計算時間で従来のアルゴリズムに対して約 40 倍高

速になった.また,逆行行列計算時間も含むプログラム全体の計算時間でも約 50 倍高速に なった.このような解析結果から,今回開発したアルゴリズムはスーパーコンピュータのハ ードウェア性能を十分に引き出せたものと考えられる.今後,スーパーコンピュータのハー ドウェア性能がさらに向上することによって,今回開発したアルゴリズムはさらに高速な計 算を実現できるものと考えている.

謝辞

 本文は東北大学大学院工学研究科電気・通信工学専攻古屋聡士氏(平成12年博士前期課程 修了)が在学中に行った研究をまとめたものである. 

 本研究の一部は東北大学大型計算機センターのスーパーコンピュータを利用し,同センタ ーとの共同研究で行われたものである.また,研究にあたっては同センターの有益な指導と 多大な協力をいただいた. 

 

参考文献

[1] J. H. RICHMOND and N. H. GEARY, “Mutual Impedance of Nonplanar-Skew Sinusoidal Dipoles”, IEEE Trans. Antennas Propagat., Vol. AP-23, No. 3, pp. 412-414, May 1975.

[2] 澤谷, “モーメント法によるアンテナ解析中級コース”, 電子情報通信学会第 12 回アンテ

ナ・伝搬における設計・解析手法ワークショップ, 1998.

[3] 吉田,FORTRAN90/SXの自動ベクトル化について,東北大学大型計算機センター広報,

SENAC, Vol. 30, No. 4, pp. 27-42, 1997.

図  6 従来のアルゴリズムにおける WS と SX での計算時間比較
図  7  開発したアルゴリズムと従来のものによる インピーダンス行列計算に要する CPU Time の比較  (Old: Old Algorithm,N=601 の時ベクトル化率:0.0%,

参照

関連したドキュメント

静的・動的スライシングの特徴 静的スライシング プログラムの実行を伴わな い 長所 有効な入力データが無い 場合でも解析可能

2.1 はじめに パイプライン型ベクトル計算機 以後は単にベクトル計算機とよぶ は,ベクトル 配 列 の各要素に同一の演算をパイプライン的に実行する演算機構をもうけることによって, ベクトル計算を高速に実行できるようにした計算機である. ベクトル計算機のもっとも重要な族として,Cray-1 を祖とするパイプライン型スーパ

この節では、 Appendix A に掲載した「パワポ 3枚程度」の内容に沿って解説し、合わせて付随 する事がらについても説明する。なお、説明の便

VXA ベクトル・シグナル・アナライザ測定アプリケーション VXA ベクトル信号解析測定アプリケーションを使用すれば、

背景・目的 近年、多数の解析ケースや大規模格子下での CFD解 析の活用が多く見られ、計算時間の短縮は大きな課題で ある。そこで、比較的計算時間の短い粗い格子での計算 結果を段階的に細かい格子の計算初期に引き継ぐことで、 計算時間の大幅な短縮が可能と考えられる。 本研究では、多段階格子による計算時間の短縮および 解析精度に関する検証を行い、適切な引き継ぎ方や、解

 2003 年度(平成 15 年度)改訂の 「高等学校 学習指導要領解説  数学編」 では,空間座標と

龍谷大学 > 理工学部 > 数理情報学科 > 樋口 > 担当科目 > 2006 年 > 応用ベクトル解析∇ > ファイナルトライア