next up previous contents index
Next: ノンコリニアDFT法に対するNEGF法 Up: 電気伝導計算 Previous: バイアス電圧効果の補間法   Contents   Index

NEGFの並列化

NEGF計算にはMPIを用いた並列化が実装されています。 MPI並列化に加えて、ACML(AMD Core Math Library)またはMKL(Math Kernel Library)を用いると、 グリーン関数を評価するときの行列乗算および逆行列計算をOpenMPにより並列化することもできます。 この場合、OpenMP/MPIによるハイブリッド並列化を実行可能で、さらに計算時間を短縮することができます。 並列計算の実行方法は以前に述べたものと全く同じです。

図33に、NEGF計算におけるOpenMP/MPIハイブリッド並列の速度向上比を示します。 これは0.5 eVの有限バイアス電圧下にある8-ジグザグ型グラフェンナノリボン(ZGNR)の密度行列の計算を行った場合の結果です。 密度行列計算には197個のエネルギー点(101個は平衡密度行列、96個は非平衡密度行列)を用いています。 k点サンプリングには$\Gamma$点のみを用い、スピン分極計算を行いました。 エネルギー点、k点、スピンの三つのループに関して394個の組み合わせをMPIにより並列化しました。 1スレッドに相当するフラットMPI並列化の速度向上比は64プロセスまで順当に向上しています。 さらに、2および4スレッドに相当するハイブリッド並列化により速度向上比が大きく改善されていることが分かります。 64個のプロセスと4スレッドに相当する64個のクアッドコア・プロセッサを完全に用いた場合、速度向上比は約140であり、 NEGF法のスケーラビリティが良いことを実証しています。詳細については文献[54]を参照して下さい。 OpenMX Ver. 3.7では、MPI並列化におけるプロセス数が原子数を超えても効率的に並列化が実行されることにも留意して下さい。


Figure 33: 8-ジグザググラフェンナノリボン(ZGNR)の密度行列の計算におけるOpenMP/MPIハイブリッド並列の速度向上比。 速度向上比は、$T_1$および$T_p$をシングルコア計算および並列計算の経過時間とするとき、$T_1/T_{p}$により定義。 プロセスおよびスレッドは MPIおよびOpenMPの並列計算で使用したコア数。 並列計算はAMD opteron クワッドコア・プロセッサ(2.3 GHz)を搭載するCRAY-XT5マシン上で実行。
\begin{figure}\centering
\epsfig{file=NEGF_para.eps,width=11.0cm}
\end{figure}



t-ozaki 2013-12-23