要約
最近、Dell EMC PowerEdge C4140に新しい「構成M」ソリューションが追加されました。この最新オプションがC4140ファミリーに加わったことをうけ、この記事では、HPL、GROMACS、NAMDなど、さまざまなHPCアプリケーションについて、構成Mと構成Kのパフォーマンスを評価した結果について説明します。
概要
PowerEdge C4140は、2ソケット、1Uのラック サーバーです。これには、インテルSkylakeプロセッサー、最大24のDIMMスロット、4枚のダブル幅NVIDIA Volta GPUカードのサポートが含まれています。C4140サーバー ファミリーには、NVLINKをサポートする構成Kと構成Mの2つがあります。図1に、両方のトポロジーの比較を示します。これら2つの構成の主な相違点を次に示します。
p2pBandwidthLatencyTest
図2:C4140構成KおよびMでのP2Pが無効な場合のカード間レイテンシー
P2pBandwidthLatencyTestは、CUDA SDKに含まれるマイクロベンチマークです。これは、GPUDirect™ピアツーピアが有効および無効な場合のカード間レイテンシーと帯域幅を測定します。このテストで重要なのは、このプログラムが同時に帯域幅を測定しないため、レイテンシーの部分です。アプリケーションで使用可能な実際の帯域幅については、以下のHPLセッションを参照してください。図2に示されている数字は、単一方向カード間レイテンシーの100回の平均(マイクロ秒単位)です。コードが1枚のカードから別のカードに1バイトを送信するたびに、このチャートではP2Pが無効な場合の数字が選ばれます。これは、P2Pが有効になっている場合、代わりにNVLINKを介してデータが転送されるためです。構成MのPCIeレイテンシーは、PCIeトポロジーが異なるため、構成Kよりも1.368 us低くなります。
High Performance Linpack(HPL)
図3(a)は、1、2、4、8台のV100-SXM2 GPU搭載C4140プラットフォームでのHPLパフォーマンスを示します。1~4台のGPUの結果は1台のC4140から得られたもので、8台のGPUパフォーマンスの結果は2台のサーバーにまたがります。このテストでは、使用されたHPLバージョンはNVIDIAによって提供されており、最近リリースされたCUDA 10とOpenMPIを使用してコンパイルされています。HPLの結果から次の点が分かります。
1)シングル ノード。テストした4台のGPUすべてで、構成Mは構成Kよりも最大16%速いことが分かります。HPLアプリケーションは、コンピューティングを開始する前に、すべてのカードが同時にデータを転送するときに使用可能なデバイスからホスト(D2H)およびホストからデバイス(H2D)のPCIe帯域幅をGPUカードごとに測定します。この情報は、HPLがN*NマトリクスをすべてのGPUメモリーに同時にコピーするときに、各カードの実際のPCIe帯域幅についての役立つ洞察を提供します。図3(b)に示すように、構成MのD2HとH2Dの両方の数の方が非常に高く、PCIe x16の理論上のスループットに達しています。これは、構成Mの各GPUにCPUへの専用PCIe x16リンクがあるため、ハードウェア トポロジーと一致します。構成Kでは、4台すべてのV100が、1つのPCIe x16リンクをPLX PCIeスイッチを介して共有する必要があるため、それぞれが使用できるのは2.5GB/秒だけです。帯域幅の差があるため、構成Mでは、4つの16GB N*Nマトリクスを各GPUのグローバル メモリーにコピーするのに1.33秒かかり、構成Kでは5.33秒かかりました。HPLアプリケーション全体は23~25秒間動作します。すべてのV100-SXM2は同じであり、コンピューティング時間は同じであるため、データのコピーでのこの4秒の節約により、構成Mが16%より速くなります。
2)複数ノード。8台のGPUを搭載した2つのC4140ノードの結果は、2つのノードで15%以上のHPLの改善を示しています。つまり、構成Mは、前述のシングル ノードでの4枚のカードのときと同じ理由で、構成Kよりもノード間での拡張性が優れていることを意味します。
3)効率性。電力消費量はiDracで測定されました。図3(c)は、時系列でのワット数を示しています。どちらのシステムも、GFLOPS数がより大きいため、ピーク時に約1850 Wまで到達します。構成Mは、HPL効率と同様により優れたワット数あたりのパフォーマンスを提供します。
HPLは、システム レベルのベンチマークで、その結果は、CPU、GPU、メモリー、PCIe帯域幅などのコンポーネントによって決定されます。構成Mは、2つのCPUにわたってバランス設計されています。したがって、このHPLベンチマークで構成Kよりも優れたパフォーマンスを提供します。
GROMACS
GROMACSは、多くの複雑な相互作用を持つタンパク質、脂質、および核酸などの生化学的分子をシミュレートするように設計されたオープンソースの分子動力学用アプリケーションです。バージョン2018.3は、300万の原子を持つ水分子3072データセットでテストされています。
図4:C4140構成KおよびMでの複数V100を使用したGROMACSのパフォーマンス結果
図4は、構成Mの構成Kより高いパフォーマンス向上を示しています。1枚のカードでのパフォーマンスは、データ パスに違いがないため、2つの構成全体で同じです。2台と4台のGPUを使用すると、構成Mは構成Kよりも最大5%速くなります。2つのノードでテストした場合、構成Mのパフォーマンスの方が最大10%良くなります。主な理由は、PCIe接続数の増加です。これにより、多くの帯域幅を提供し、より多くのデータをより早くGPUにフィードできます。GPUを使用するとGROMACSを大幅に高速化できますが、このアプリケーションはCPUとGPUの両方を並行して計算するために使用します。したがって、GROMACSがクラスター内の一番上のアプリケーションである場合は、強力なCPUを推奨します。また、このグラフでは、サーバー数やGPU数が増えた場合のGROMACSパフォーマンスの拡張を示しています。アプリケーションのパフォーマンスは、GPUやサーバーの数が増えるにつれて高くなりますが、GPU追加によるパフォーマンスの向上は直線的にはなりません。
NAnoscale Molecular Dynamics(NAMD)
NAMDは、大規模な生体分子システムの高パフォーマンス シミュレーション向けに設計された分子動力学シミュレーション コードです。これらのテストでは、事前ビルド済みバイナリーは使用されませんでした。代わりに、CUDA 10で最新のソース コード(NAMD_Git-2018-10-31_Source)を使用してNAMDが構築されました。図4は、STMVデータセットを使用したパフォーマンス結果を示しています(1,066,628原子、周期的、PME)。f1atpase(327,506原子、周期的、PME)およびapoa1(92,224原子、周期的、PME)などの小規模なデータセットをテストすると、構成Mと構成K間で類似した比較結果が出ますが、簡略化するためにここでは説明しません。
図5:C4140構成KおよびMでの複数V100を使用したNAMDのパフォーマンス結果
GROMACSのように、4倍以上のPCIe帯域幅は、NAMDでのパフォーマンスに役立ちます。図5は、2枚および4枚のカードを使用した構成Mのパフォーマンスが、STMVデータセットで構成Kよりそれぞれ16%および30%高いことを示しています。GPU 1台だけでテストした場合、PCIe帯域幅が同一であるため、1枚のカードでのパフォーマンスも同じであると予想されます。
結論および今後の計画
このブログでは、HPC、GROMACS、およびNAMDでのHPCアプリケーションのパフォーマンスを、PowerEdge C4140の2つの異なるNVLINK構成で比較しました。HPL、GROMACS、およびNAMDは、構成Mで構成Kより最大10%優れたパフォーマンスを示します。すべてのテストにおいて、構成Mは、構成Kの優れた機能をすべて持ち合わせ、それに加えてより多くのPCIeリンクを提供し、PCIeスイッチがないため、少なくとも構成Kと同じパフォーマンスを提供します。将来的には、RELION、HOOMD、AMBERなど、より多くのアプリケーションでの追加テストが計画されています。また、V100 32G GPUを使用したテストも計画されています。