| RMGB | |
|---|---|
| 安定版リリース | 4.1 |
| 書かれた | C/C++ |
| オペレーティング·システム | Linux、Unix、Windows、OS X |
| ライセンス | GPL |
| Webサイト | http://www.rmgdft.org/ |
RMG(Real Space MultiGrid)は、GNU General Public Licenseに基づいて配布されているオープンソースの密度汎関数理論電子構造コードです。[ 1 ] [ 2 ]基底関数を使用せずに、3D実空間グリッド上でコーン・シャム方程式を直接解きます。 [ 2 ] RMGは非常にスケーラブルで、数千のCPUコアを備えたスーパーコンピュータで実行されています。
RMGの主な特徴は、平面波や他の種類の基底関数ではなく、実空間メッシュを基底として用いることである。[ 2 ]この定式化は、各プロセッサに空間領域を割り当てることができるため、並列化が容易である。これによりフーリエ変換が不要となり、RMGは高度にスケーラブルとなる。ポアソン方程式を解き、収束を加速するためにマルチグリッド法が用いられる。運動エネルギー演算子を表すために、一般的に用いられる中心差分離散化よりも短い範囲のMehrstellen離散化が用いられる。[ 2 ]これによりプロセッサ間通信のコストが削減され、超並列スーパーコンピュータでの使用に有利となる。
ドメイン分割は、個々のCPUコアまたはノードに異なる空間領域を割り当てるために使用されます。RMGは、Cray XK6上で10万個のプロセッサコアと2万個のGPUまでほぼ直線的に拡張できます。[ 3 ]
RMGは、1993年から1994年にかけてノースカロライナ州立大学で開発されました。[ 4 ]当初はC言語で記述され、一部はFORTRANで記述されています。現在のバージョンでは、CとC++が混在しています。ノード間通信にはMPIが、ノード内並列化にはC++11スレッドが使用されています。その他のライブラリとしては、 Lapack、ScaLAPACK、FFTW、libxc、spglibが使用されています。[ 3 ]
RMGは、ラップトップ、デスクトップ、ワークステーション、クラスター、スーパーコンピュータで動作します。Linux、Unix 、 Windows 、 Mac OS Xの各オペレーティングシステムで動作します。[ 3 ]