遺伝的アルゴリズムを用いた超伝導体の電界-電流密度特性評価の GPGPU による高速化に関する研究

木内研究室
秋吉祐弥
平成 25 年 2 月 14 日
電子情報工学科

第1章

序論
1.1 はじめに1908 年にオランダの Leiden 大学の Kamerlingh Onnes が世界で初めてへリウムの液化に成功し、1911 年には液体ヘリウムを用いた水銀の抵抗測定実験において、4.2 K 付近で突然電気抵抗が測定不能なほどに小さくなることを発見した。この現象を超伝導現象といい、ある温度以下で超伝導現象を示す物質を超伝導体と呼ぶ。1933 年には Fritz Walther Meissner
によって超伝導体が完全反磁性(Meisner 効果) を示すことがわかった。超伝導体は電気抵抗がないということから、大量の電流を通電できると期待されていた。しかし超伝導体はある磁界を超えると超伝導状態を保つことできないことが分かった。超伝導状態が崩れ電気抵抗が発生した状態を常伝導状態といい、超伝導状態から常伝導状態に転移する温度、磁界をそれぞれ臨界温度(Tc)、臨界磁界(Bc) と呼ぶ。その後、超伝導現象についての研究が進められてきたが、超伝導発現のメカニズムについては不透明なままであった。しかし 1957
年に John Bardeen, Leon Neil Cooper, John Robert Schrieffer によって提唱された BCS 理論によって、超伝導発現のメカニズムについて明らかになっていった。BCS 理論によると臨界温度は 30 K を超さないだろうと考えられていた。しかしその予想は 1986 年に Johannes
Georg Bednorz と Karl Alex Müller による臨界温度 30 K を超える酸化物系超伝導体の発見によって覆された。その 1 年後には Tc が液体窒素温度(77.3 K) を超える YBa2Cu3O7−δ や
Bi2Sr2Can-1CunOy などの酸化物超伝導体が発見された。これらは銅酸化物超伝導体または高温超電導体と呼ばれ、その Tc の高さから応用が期待されている。また 2001 年には青山学院大学の秋光純教授らによる MgB2 の発見、2008 年の東京工業大学の細野秀雄教授らの鉄ヒ素系超伝導体の発見など、現在に到るまで盛んに新たな超伝導体の発見が試みられている。

1

1.2 磁束ピンニング
超伝導体は磁気的な振る舞いの違いから第一種超伝導体と第二種超伝導体に分類される。
第一種超伝導体では臨界温度以下の温度で超電導状態となり臨界磁界（Bc）まで完全反磁性（Meisner 効果）を示すが、それ以上磁界が増加したとき超伝導状態は消失する。一方、第二種超伝導体は第一種超伝導体と同様に Tc 以下の温度である磁界までは Meisner 効果を示し、それ以上の磁界を加えても、超伝導体内に一定の磁界の侵入を許すことで超伝導状態を維持する。この超伝導体内に磁束が侵入しつつ超伝導状態を維持している状態を混合状態と呼ぶ。そしてさらに磁界が増加すると超伝導状態を保てなくなる。Meisner 効果を示さなくなる磁界を下部臨界磁束（Bc1）、さらに磁界が増加して超伝導状態を保てなくなった時の磁界を上部臨界磁界(Bc2)という。
第１種超伝導体の Bc に比べ第二種超伝導体の Bc2 は遥かに高い。そのため工学的応用に関して主に第二種超伝導体が混合状態で用いられる。混合状態では内部に磁束が侵入しているため内部を流れる電流により磁束線が Lorentz 力 FL を受ける。この FL は超伝導体内部を流れる電流密度 J と侵入した磁束線の磁束密度 B を用いて、
FL= J ×B と表せる。FL の力を受けた磁束線が速度 v で動いたとする。電磁誘導により、E = B × v の電界が生じ、超伝導状態が保てなくなる。実際にはこの磁束線の運動を妨げるため Lorentz 力と反対の向きに力が働く。この力をピン力といい、ピン力が働く作用のことをピンニングという。格子欠陥や常伝導析出物、結晶界面などピンニングに作用するものをピンニング・センターと呼ぶ。また単位体積当たりのピン力密度を Fp という。JB＝|J×B|とすると JB が Fp を超えなければ電界が発生しない。このことから電気抵抗が発生せずに流せる最大の電流密度 Jc
はJc= Fp ⁄Bと表せ、これを臨界電流密度という。超伝導の応用において Tc や Bc2 とともに
Jc も重要なパラメータである。Tc や Bc2 は材料によって決定されるが、Fp は後天的に決まる。ピンニング・センターの導入によって Fp を強くすることによってより大きな Jc を得る
ことができる。

2

1.3

不可逆磁界

前述のように第二種超伝導体は混合状態になることによって第一種超伝導体より高い磁界で超伝導状態を維持できる。混合状態では上部臨界磁界Bc2まで電気抵抗0で流せる電流が存在すると考えられる。しかし実際はBc2付近ではピンニングが有効でなくなり、Jcも0になる。またピンニングによる超伝導体の磁化の不可逆性も無くなり、磁化が可逆になる。このJc = 0とJc ≠ 0の境界の磁界を不可逆磁界Biという。また温度ごとの不可逆磁界の値を連ねた曲線を不可逆曲線(irreversibility line)といい、これを図1.1に示す。

B

可逆領域
Jc=0

Bc2(T)
不可逆領域

Bi(T)

Jc≠0

図1.1：不可逆曲線

3T

1.4 磁束クリープ・フローモデル
1.4.1 磁束クリープ
磁束クリープとは、ピンニング・センターに捉えられた磁束線が熱振動によって、ある確率で
ピン・ポテンシャルから外れてしまう磁束線の運動のことである。この現象の影響が顕著に現れるのが、超伝導永久電流の緩和である。理論的には超伝導体に流れる電流は外部環境が変わらな
い限り減衰しないと考えられるが、実際には超伝導体試料の直流磁化を長時間にわたって測定す
ると減衰する。すなわち、外部環境が一定で遮蔽電流が時間と共に減衰しており、ピンニングに基づく超伝導電流が真の永久電流ではないことを示している。また、高温になると熱活性化運動がより盛んになるため、ピンニング電流の減衰が著しくなり、特に高温超伝導体の場合が顕著であるが、Jcが0になってしまうことがある。

磁束クリープの際に磁束線は集団で移動すると考えられ、その磁束線の集団を磁束バンドルという。今、電流が流れている状態での一つの磁束バンドルを考える。その磁束バン
ドルをLorentz 力の方向に仮想的に変位させていった場合のエネルギー変位は図1.2 のよ
うになると考えられる。ただし、磁束バンドルは右向きのLorentz 力を受けていると仮定する。エネルギーが右下がりになっているのはこうしたLorentz 力による仕事を考慮しているためである。図の谷の部分は磁束バンドルがピン止めされている状態である。磁束バンド
ルがピン止めされた状態から外れるためには、エネルギー・バリアを超えなければならな
い。熱振動がなければ磁束バンドルが動くことがないため、この図の状態で安定である。

図 1.2 磁束クリープの磁束バンドルの位置とエネルギーの関係
熱エネルギー(はBoltzmann 定数) がエネルギー・バリアU よりも十分に小さい場

合、磁束バンドルがこのバリアを越える確率はexp(- ⁄ B

で与えられ、この式はArrheniusの式として知られている。また、このUを活性化エネルギーと呼ぶ。磁束バンドルが磁束線
格子間隔だけ変位すると、ほぼ元の状態に戻ると予測できるので、磁束バンドルがクリ4

ープを起こし一度に飛ぶ距離は程度の量であると考えられる。したがって、磁束バンド

ルの熱振動周波数をν0 とするとLorentz 力方向の平均の磁束線の移動速度v+は𝑈

𝑣+ = 𝑎f𝑣0 exp (−

)

(1.1)

となる。Lorentz 力とは逆方向の平均の磁束線の移動速度を考慮して、全体としての平均の磁束線の移動速度v は𝑣 = 𝑎f𝑣0 [exp (−𝑈) − exp (

𝑈

(1.2)

)]

となる。ここで、U′ はLorentz 力と逆方向の運動に対する活性化エネルギーである。またクリープの際の磁束バンドルの振動周波数𝑣0 は
f 0

𝑣0 =

(1.3)

𝑎f

である。ζ はピンニング・センターの種類に依存する定数であり、点状のピンニング・セン
ターではζ ≅ 2π、非超電導粒子の場合ではζ = 4 であることが知られている。 f はフロー抵抗であり、Jc0 は磁束クリープがない場合の仮想的な臨界電流密度である。したがって
E = B × v の関係より、生じる電界の大きさは= 𝑎f 0 [exp (−𝑈) − exp (−

𝑈

)]

(1.4)

となる。
磁束線がピンニング・センターに捕まった状態は一時的な安定状態であり、真の平衡状態ではないため、真の平衡状態への緩和、すなわち遮蔽電流の減衰が起こる。つまり、遮蔽電流の減衰は、磁束クリープによる磁束の運動によって、磁束密度の勾配が減少することに対応している。このため、遮蔽電流が時間と共に減少し、磁化の緩和が起こる。さらに磁束クリープが激しくなると遮蔽電流がなくなる、つまり真の平衡状態への緩和までこの現象が続く。
磁束クリープにより発生する電流は(1.4) 式のように与えられる。一般的には、磁束バンドルの位置に対するエネルギーの変化は、図1.2 のようなポテンシャルで近似的に与えられる。このポテンシャルを

(x =

𝑈0

のように正弦的なものと仮定する。𝑈0−はポテンシャルの振幅、 =5(1.5)
𝑎f はポテンシャ

ルの波数であり、 =はLorentz 力の傾きを表し、V は磁束バンドルの体積である。またx は磁束バンドルの中心の位置である。
磁束バンドルが平衡状態にあるときを = − 0 とし、 = − 0 のときのエネルギーが極大となる。つまりそれぞれの位置でのエネルギー変化率は0となるので、 (= 0 となる。

これより
0 =

𝑎

(

𝑎
)
𝑈0

(1.6)

が決まる。図1.2 からエネルギー・バリアU は𝑈 = ( 0 − (− 0 で与えられるので
𝑈 = 𝑈0

𝑎
𝑎
(
)]
𝑈0

[

𝑎
(
)
𝑈0

= 𝑈0 [{ − (
) } −
𝑈0
𝑈0
(

と表される。ただし、

(
)]
𝑈0

(1.7)

= 𝑎

と置いた。熱振動がな

x = √ − x を用い、いとすると、 U = 0となる理想的な臨界状態が達成されるはずである。そのためには、
⁄𝑈0 =

0

⁄𝑈0 =

とならなければならない。このとき =
(
)=
𝑈0

0

0となることから=(1.8)の関係が得られる。この は規格化電流密度と呼ばれる。また、クリープがないと仮定した場合の仮想的な臨界電流密度 0 は経験的に
0 =

( −

( −

0

(1.9)

)

と表現できる。ここで , m, γ, σ はピンニングパラメータである。これより(1.7)式は𝑈(となる。また、 =⁄= 𝑈0 [( −−(1.10)]⁄𝑎 及び(1.9)式より
𝑈(

𝑈

𝑎 =𝑈

(1.11)

𝑈0となる。この関係を用いて磁束クリープによる発生する電界(1.4)式を整理すると= 𝑎 𝑣0

[−

𝑈(

][ −

(−

𝑈0

]

(1.12)のように求まる。

1.4.2

磁束フロー

磁束フローとは、磁束クリープの状態からさらに電流を流したとき、ピン力がLorentz 力
を支えきれなくなりすべての磁束線が連続的に運動している状態である。超伝導体に電流が流れていて、外部磁界が加わっているとき単位体積の磁束線に働くLorentz 力は6で与えられる。一方、磁束線がこの力で超伝導体内を動こうとすると磁束線は逆向きの力を=⁄| | とすると、静的釣り合いが取れる場=0(1.13)

受ける。Lorentz 力の方向の単位ベクトルを合、つまりJ J の場合は釣り合いの式は−⁄となる。ここからJ== J 0 の関係を得る。

一方、J > Jc0 となると磁束フローを起こすために粘性力が働き、これを考慮した釣り合
いの式は
−

−

=0

0

(1.14)となる。ここでφ0(=2.068 ×10−15 Wb)は量子化磁束であり、
0 =

⁄

及び

=

は粘性係数である。これにの関係を用いてJ について解くと=(1.15)

0となる。ここで式をE について整理すると、磁束フローにより発生する電界が= f(のように求まる。なお、 f は

1.4.3

f =

0⁄

(1.16)

0のフロー比抵抗である。

ピン・ポテンシャル

磁束クリープによる超伝導電流の緩和率や、不可逆曲線を決定する上で重要なピン・ポ
テンシャル・エネルギー0は磁束バンドルの体積
𝑈0 =

ζ

0

、 を用いて次のように表される。

𝑎f(1.17)(1.17) 式から、ピン力ではなく超伝導体の磁束バンドルサイズの体積がU0 を決定する上でも非常に重要なことが分かる。
磁束バンドルとはクラスターとして一緒に動く磁束線の集団であり、ある短距離の並進的秩序が保たれた領域に対応すると考えられる。したがって、最も単純には磁束バンドル
サイズが磁束線格子のピンニング相関距離で与えられる。ここで、磁束バンドルサイズを
図1.3 のようなモデルで考える。磁束の長さ方向及び横方向のピンニング相関距離をそれ
ぞれL、R とし、超伝導体の厚さをd とする。L がd より小さいときは縦方向の磁束バンド
ルのサイズはL となり、L がd より大きいときは縦方向の磁束バンドルのサイズはd となり、超伝導体の厚さに左右される。それぞれの場合に応じてL、R、d を与えることによって、対応したU0 を理論的に計算することが可能であり、以下のようになる。R は磁束線

格子間距離af 程度かその数倍程度であると考えられており(1.18)= 𝑎fのように表す。ここで、 は磁束バンドル内の磁束線の本数であるが、この値は磁束ク7リープ下で 0 が最大となるように決定されると仮定され=が得られる。

は=は完全な磁束格子の場合の

𝑎 𝑣0

(

𝑈

⁄

でのピンニングポテンシャル、(1.19)
は電界基準である。また、

であり、
0

=
と与えられる。ただし、 000(1.20)𝑎0は完全な磁束格子の剪断定数であり、

=

( −

0

)

(1.21)

で与えられる。ここで、Bc は熱力学臨界磁界である。一方で、縦方向の磁束バンドルサイ
ズは超伝導体の厚さが十分に大きい場合には弾性理論により得られるピンニング相関距離⁄=(で与えられる。ここで、

=

0

𝑎

=(

0 0

⁄

)

(1.22)

は磁束線の曲げの歪みに対する弾性定数、αL は磁束クリープがないとしたときのLabusch パラメータである。d がL より大きい3次元ピンニングの場合、磁束バンドルの体積はV = R2L から求められ、この場合(図1.3 の左図) のU0
は(1.17)、(1.18)、(1.22) 式から
𝑈0 =

⁄
0

0
⁄

(1.23)⁄となる。またd がL より小さい2次元ピンニングの場合(図1.3 の右図)、前述したように磁束バンドルの縦方向のサイズが制限されるため、体積はV = R2d で与えられ、U0 は
𝑈0 =

0
⁄

となる。

8

(1.24)

図1.3 ピンニング相関距離Lと超電導層dの関係による磁束バンドルの体積の模式図

1.4.4 磁束クリープ・フローモデル
これまでの議論より、超伝導体では磁束クリープ及び磁束フローによって電界が発生する。
クリープ状態(j<1)=

0 exp [−

𝑈(

] [ − exp (−

0

)]

=0
フロー状態(j ≥ 0)
= 𝑎 𝑣0 [ − exp (−
=

( −

𝑈0

)]

0

これらから発生する電界は=((1.25)と近似的に与えられる。
一般に酸化物超伝導体は超伝導体内の不均一さが著しく、また弱結合などもあってピン力密度が広く分布する。(1.9) 式のピン力の強さを表すパラメータA の分布を以下のような9式で表現する。
(=

exp [−(−](1.26)Am はA の最頻値であり、K は規格化定数であり、σ2 はピン力密度の分散を表すパラメータである。このようなA の分布を考慮すると、発生する全体の電界は
(

=∫

(

(1.27)

0で与えられる。
以上の内容より磁束クリープ・フローモデルを用いた解析において必要なパラメータはAm、σ2、m、γ、g2 である。これらのパラメータの意味をまとめたものを以下に記す。

Am

ピン力の最頻値を表す。この値が大きくなればE は低下しJc は高くなる。

σ2

ピン力の分散を表す。この値が大きくなればE は大きくなりJc は下がる。

γ

Jc0 の磁界依存性を表す。この値が大きくなれば低磁界での磁界依存性が小さくなる。

m

Jc0 の温度依存性を表す。この値が大きくなれば温度が高くなるにつれて急激にJc0 は減少するようになる。

g2

磁束バンドル内の磁束線数を表す。磁束線数なので１以上の値になる。

1.5 n値
超伝導体は通電電流I の増加により強い非線形な電圧V の発生を示す。この電流-電圧特性の急激な立ち上がりをと表せ、この指数nをn値と言う。n値が大きい場合、電流を少し下げることにより発生電圧を急速に下げることが可能である。逆に n 値が小さい場
合、電流を少し下げても発生電圧は急速に小さくならない。そのため、一般的に超伝導体の応用においてn 値が大きほうが良いとされている。高温超伝導体のE-J 特性は電界基準
を用いて
=

(

(1.28)と表すことができる。
1.6 遺伝的アルゴリズム
遺伝的アルゴリズム(Genetic Algorithm, GA) とは1975 年にミシガン大学のJohn
Henry Holland によって提案された近似最適化アルゴリズムである。これより先では遺伝的アルゴリズムのことをGA と呼ぶ。このアルゴリズムはメタヒューリスティックであり、10広い範囲での問題を解くことができる、解の精度に保証がないといった特徴がある。生物の進化の過程を模倣し、選択、交叉、突然変異といった遺伝的操作を行うことによって解の探索を行っていく。これらの遺伝的操作については1.6.2 節で述べる。以下にアルゴリズ
ムの流れの例を示す。
1. ランダムに初期個体集団を生成
2. 任意の評価関数を用いて各個体の評価を行い適応度を計算
3. 集団に対し選択を適用
4. 集団内のペアに対し交叉を適用
5. 集団内の個体に対して突然変異を適用
6. 停止条件を満たさない場合2 に戻る
7. 最終的に最も適応度が高い個体を解とする
なお初期個体集団は解の集団のことであり、適応度とはそれぞれの解がどれほど優れているかを表したものである。
1.6.1 評価関数
各個体に対して、その個体が問題の解としてどれだけ相応しいかを示す適合度を決める
際に評価関数を用いる。この適合度を用いて各個体に対して遺伝的操作を施す。評価関数の設定により各個体の適合度は全く異なる適合度をとることになり、それに伴い解探索の探索速度や解の精度、収束度も変わってくる。
評価関数によって求まる評価値を決める式は次のように表される。
=∑
Pは評価値を示しており、は図1.4に示すように理論値を示すの差を示す。またNはデータ数を表している。

図1.4：
11

の定義

(1.29)と実験データを示す

1.6.2 遺伝的操作
選択
この遺伝的操作は自然界における淘汰をモデルにしたものである。
任意の評価関数によって導出した適応度をもとに次世代に残す個体を決定する。以下に選択操作の例をいくつか示す。
ルーレット選択
個体の適応度に応じた確率を割り当てる方法である。
その個体の適応度を集団内の各個体の適応度の総和で割ったものが個体が選ばれる確率となる。
ランキング選択
各個体の適応度に応じて順位付けをし、順位に対応する事前に準備しておいた確率を割り当て選択する方法である。
エリート選択その世代で適応度の高い個体を上位からいくつか選び、そのまま次の世代に引き継がせる操作である。

交叉
この遺伝的操作は自然界における交配をモデルとしたものである。
個体のペアを作りその個体がもつ変数の値を入れ替える操作を施す。
交叉の例を示す。以下のようにバイナリ表現で記述される2 つの個体があるとする。
個体A:1001001100
個体B:0101011010
一点交叉
各変数をランダムで1/2 の確率で入れ替える。
個体A:100100 | 1100 → 100100 | 1010
個体B:010101 | 1010 → 010101 | 1100
一様交叉
各変数をランダムで1/2 の確率で入れ替える。
個体A:1001001100 → 1101001010
個体B:0101011010 → 0001011100
突然変異
この遺伝的操作は自然界における突然変異をモデルとしたものである。事前に決めた突然変異率から各個体の変数を確率的に変化させる操作である。突然変異を行うことによって局所解への収束を防ぐことになるが、突然変異率の設定を高くし過ぎると収束に支障をきたす。

12

1.6.3 島モデル
島モデルとは分散GA の手法の一つである。個体を複数の集合(島) に分け、各集合内で遺伝的操作を行う。そしてある世代ごとに他の島に個体を移住させるといったものである。
島モデルを用いる利点は各島ごとに遺伝的操作を行うために、個体の多様性を保ち、局所最適解への収束を防ぐことができる。
1.7 GPGPU (general Pirpose Graphics Processing Unit)GPGPUとはGPU (Graphics Processing Unit)を画像処理ではなく、ほかの一般的な用途で利用する技術の総称のことである。GPUは高い並列計算能力を持つため、この能力をグラフィック描画のみならず汎用の数値計算にも利用しよう、という目的で開発された。
1.8 CUDA
CUDA（Compute Unifed Device Architecture）とは、NVIDIA 社が提供するGPU向けのC言
語の統合開発環境であり、コンパイラやライブラリなどから構成されている。
1.9 NVIDIAのGPUの構造
GPUは実際に演算を行うSP(ストリーミングプロセッサ)。プログラムを取得し、プロセッ
サが理解できる形式に変更し、SP に伝えるSM(ストリーミングマルチプロセッサ) と用途の違う複数のメモリで構成されている。

図1.4:NVIDIAのGPUの構造

13

1.8.1 スレッド
SPと呼ばれる演算処理ユニット上で動く最小の単位。
1.8.2 ブロックスレッドをまとめたもの。1ブロック内の最大スレッド数は512、最大三次元まで拡張できる。
1.9 研究目的
磁束クリープ・フローモデルを用いた計算において、最適なパラメータを決定する必要がある。現在はパラメータの決定は手動で行っており、非常に手間がかかってしまう。前年度までの研究で遺伝的アルゴリズムを用いて自動でピンパラメータを探索するプログラ
ムを作成したが、探索に時間がかかりあまり実用的ではない。
本実験では、CUDA による磁束クリープ・フローモデルの計算を並列化し、高速な数値計算の実現し、超伝導体のピンニング特性の解析を円滑にするのが本研究の目的である。

14

第2章
実験
2.1 実験方法
本研究では事前にパラメータを設定し導出したE-J 特性のデータに対して、CUDA実装
前と実装後のプログラムによって解析された値とピンニングパラメータの探索にかかった時間の比較を行う。今回、高速化させる処理は探索時に最も時間がかかっていると予想される1.6.1で示した適応度を計算する評価関数である。
2.2 実験環境
表2.1に実験環境を示す。
表2.1: 実験環境
Intel Core2 Duo E7500

GeForce GTX 550Ti

コア数

2

SP 192動作周波数

2.93 MHz

900 MHz

2.3 解析に用いるデータ
今回は図2.1-に温度20Kのそれぞれ磁界1-6T の場合のE-J データをあらかじめピンニン
グパラメータを設定し解析する。便宜上この値を設定値と呼ぶ。表2.2に設定値と探索範囲を示す。この設定値を最適解と仮定し解析に掛かった時間を比較する。
表2.2 パラメータの設定値と解析時の探索範囲
設定値

最大値

最小値

Am 3.8×1011

1.0×1012

1.0×1011

σ2

7.2×10-3

1.0×10-2

1.0×10-3

γ

6.2×10-1

1.0

1.0×10-2m

2.4

1.0×10１

1.0

g2

1.0

1.0

1.0

15

E[V/m]

10

10

10

6T 5T 4T

–9

3T 2T

1T

–10

–11

10

10

J

[A/m2]

図2.1 20KでのE-J特性

16

10

11

第3章
実験結果
3.1 実行時間の比較
プログラムの実行条件と探索時間を表3.1に示す。実行条件としてCPU1コア、CPU2コア、
CPU+GPUの3つの場合のピンパラメータの探索時間を調査した。
表3.1：プログラムの実行条件と探索時間
実行条件

探索時間 [min]CPU 1コア454

CPU 2コア

169

CPU+GPU1045

3.2 探索の精度の比較
図3.2にCPU1コアの場合の計算結果と実験データを合わせたグラフ、図3.3にCPU＋GPUの場合の計算結果と実験データを合わせたグラフを示す。

10

6T 5T 4T 3T

–9

2T

1T

実験データ

E [V/m]

計算データ

10

10

–10

–11

10

10

J [A/m2]

図3.2：CPU1コアの場合の実験データと計算結果

17

10

11

E [V/m]

10

10

6T 5T 4T 3T

–9

2T

1T

–10

実験データ

計算データ

10

–11

10

10

J

[A/m2]

1011

図 3.3：CPU+GPU の場合の実験データと計算結果

18

4章
考察
4.1 ピンパラメータの探索時間
表 3.1 を見ると CPU1 コアの時に比べて CPU2 コアの場合は探索時間が 1/2 以下になっているのがわかる。しかし CPU+GPU の探索時間と比べた場合、CPU シングルの場合よりも探索時間がかかっている。これは GPU で磁束クリープフローモデルの複雑な計算を行っていること、CPU と GPU 間でのデータの転送量の多さ、GPU 内で条件分岐が行われていることの 3 つが原因として考えられる。
今回、高速化させる評価関数は理論値としての電界 E を求め、実験データと理論値の距離によって適応度を決定している。理論値を求める際に磁束クリープ・フローモデルを用いるが、1.4 に示したように電界 E を導出するまでに様々な変数と式を用いている。そのた
め GPU 内で計算する量も多くなる。GPU は複雑な計算を苦手としているため、計算量が増えて動作速度が遅くなったということが考えられる。
また図 4.1 に示すように CPU と GPU でデータのやりとりを行うと時間がかかる。磁束クリープ・フローモデルを計算するために必要な変数は多く、GPU 間で並列処理をさせる
時間よりも CPU から GPU へとデータ転送を行う時間の方が長くなってしまい、結果的にCPU だけの場合よりも時間がかかったということも原因の 1 つとして考えられる。
もう 1 つの理由として、磁束クリープ・フローモデルは超伝導体の厚さとピンニング相関距離の関係や、今計算している状態が磁束クリープの状態か磁束フローの状態か、など
によって使用する式が変わる(式 1.24-1.26)。GPU は実行する処理に条件分岐が含まれるとすべての条件を計算してから条件判断を行う。前述のように条件によって式が変わる処理を行わせため、計算に時間がかかってしまい探索時間が長くなる原因となったと考えられる。

19

データ転送

GPU

CPU
SM
SM
SM
SM
SM
SM

図 4.1：CPU と GPU 間のデータのやり取りの様子
4.2 探索の精度の比較
図 3.2 と図 3.3 を比較した場合、図 3.3 の方が、計算データを示す線が実験データを示す点よりも離れていることがわかる。これは GPU で処理した時、計算途中でデータに破損があり、精度が保てなかったからだと考えられる。

20

5章
結論
5.1 結論GPGPU (general Pirpose Graphics Processing Unit)による遺伝的アルゴリズムを用いた超伝導体の電界-電流密度特性評価の高速化を行った結果、CPU1 コアで処理した場合よりも特性評価の時間を短くすることができなかった。これは GPU で磁束クリープ・フロー
モデルの複雑な計算を行っていること、CPU と GPU 間でのデータの転送量の多さ、GPU
内で条件分岐が行われていることの 3 つが原因として考えられる。GPU で計算させる場合、複雑で量が多かったり、計算に用いる変数が多かったり、処理内容に条件分岐命令が含まれたりすると、GPU 内での命令の実行に時間がかかってしまう。今回、GPU 内で磁束ク
リープ・フローモデルの計算を行っているため、これらの条件に引っ掛かり実行時間が遅くなってしまったと考えられる。
この対策として最も時間のかかっている磁束クリープ・フローの処理を細かく分割し、1回の GPU 内での処理を少なくするようにアルゴリズムを変更する方法が挙げられる。

5.2 今後の課題
今後の課題として考えられるものが 2 つある。1 つ目が先ほど述べたように GPU 内で 1
回の処理を少なくするようにアルゴリズムを変更することである。2 つ目が GPU を動かしても解の精度が落ちないようにする方法の模索である。この 2 点の課題を解決し、実用性のあるプログラムへと改良していく必要がある。

21

謝辞
本研究を行なうにあたり、多大な御指導と御助力を賜りました小田部荘司教授に深く感謝いたします。また様々な御助言や御協力を頂いた木内勝准教授、松下照男名誉教授に深く感謝いたします。そして CUDA を勉強するにあたり、多大な御協力を頂いた硴崎研究室の中條雅裕さんに深く感謝いたします。最後に公私共々御世話になりました小田部・木内研究室の皆様に深く感謝いたします。

22

参考文献
[1] 松下照男(1994)「磁束ピンニングと電磁現象」産業図書、[2]

E. S. Otabe, M Kiuch, CHAPTER Ⅵ FLUX CREEP-FLOW MODEL.

[3] 棟朝雅晴（2008）「遺伝的アルゴリズム

その理論と先端的手法」森北出版[4] 青木尊之・額田彰（2009）「はじめてのCUDAプログラミング」工学社[5] 岡田賢治（2010）「CUDA高速GPUプログラミング入門」秀和システム[6] 南潤（2010）「遺伝的アルゴリズムを用いた超伝導パラメータ推定手法の検討」九州
工業大学情報システム専攻修士論文[7] 瓜生幸太郎（2011）「遺伝的アルゴリズムを用いた磁束クリープ・フローモデルのパラメータ解析における評価方法の検討」九州工業大学情報工学部電子情報工学科卒業
論文[8] 石橋知裕（2011）「CUDAによる高速な磁束クリープ・フローモデルの数値計算と性能評価」九州工業大学情報工学部電子情報工学科卒業論文

23