PGIトップ › PGI コンパイラの概要 › PGI コンパイラ特長

ソフテックは、PGI 製品の公認正規代理店です

ワールド・クラスのマルチコア・パフォーマンスの提供

SPEC ACCEL 1.2 Benchmark Comparison

PGIコンパイラは、GPUアクセラレーションシステムで開発された OpenACC および CUDA Fortran を使用する HPC アプリケーションを CPU 上においても必要とされる性能を提供できます。さらに、 OpenACC と CUDAプログラムは、デュアルソケットサーバのすべてのマルチコア性能と比較して、単一の Tesla V100 GPU でさえも数倍高速に動作し、MPIとOpenMPと相互運用することで、今日のマルチGPUサーバのフルパワーを実現します。

OpenACCでコードを高速化する

Run same code stream on CPU and GPU

アプリケーションの資産として、1万行とか10万行から成る Fortran、C、および C ++ プログラムを有することは普通のことです。 OpenACC ディレクティブを使用すると、すべてを一度に並列化する必要はありません。 PGPROF プロファイラを使用してホットスポットのループとコード領域を特定し、順次並列化して調整することができます。 OpenACC コードは 標準に準拠し、他のコンパイラやプラットフォームに移植可能であり、同一のソースコードを使用して、CPUマルチコア上と GPU 上で並列処理が可能です。

一つのソースコードで、パフォーマンスの移植性を実現できる!

CloverLeaf Performance Comparison

Lagrangian-Eulerian の陽的な流体力学ミニアプリケーションである CloverLeaf は、英国の原子力兵器施設(AWE)で使用されるコードを代表する小型(4,500行)の軽量アプリケーションです。 GPU用に書かれた OpenACC コードは、そのまま PGI コンパイラでコンパイルするとマルチコアCPU上でも並列動作します。デュアルソケットの 40コア Intel Skylake CPU 上で、インテルコンパイラで生成された OpenMPコードの性能と比べても性能は大差がありません。IBM POWER CPU 上でも同様で、IBMコンパイラ OpenMP コードと比較しても OpenACC コードは性能ポータビリティを維持しています。また、NVIDIA V100 GPU を利用したパフォーマンスは、デュアルソケットの 40コア Intel Haswell CPU よりも 8 倍以上高速で、bm32 データセットで完全に最適化されたコードを実行します。 MPI + OpenACC を使用して、4 x V100 で 29 倍以上の高速化が可能です。

PGI は様々なプラットフォーム用コンパイラ基盤に!

PGI Supports All Major HPC Platforms

HPCサーバは、マルチコア x86 CPU から OpenPOWER、さらに、ARM、GPUアクセラレータに至るまで、急速に拡大しています。 PGI Fortran、C および C++コンパイラおよび OpenACC は、これらのすべてのプロセッサで高性能を実現するように設計されています。 マルチコア CPU または GPU のすべてのコアで OpenACC の並列化を含む、x86/OpenPOWER および GPU 用の PGI コンパイラが利用可能になりました。 NVIDIA Tesla GPU に結合された OpenPOWER CPU 上 のPGI コンパイラも正式にリリースされております。 PGI と OpenACC は、今日必要なパフォーマンスと将来へ必要な柔軟性を提供します。 PGI コンパイラはあなたをそこに導くことができます。

パフォーマンスプロファイリングと最適化

PGPROF Profiler GUI

PGPROF® は、OpenMP または OpenACC ディレクティブ、または CUDA を使用して書かれた並列プログラムのための強力で使いやすい対話型パフォーマンスプロファイラです。 Fortran、C、およびC ++プログラムのパフォーマンスを検証および分析するには、PGPROF を使用します。 PGPROF は、実行時間とプロシージャ、ソースコード、および命令を関連付けることができます。これにより、実行時間と実行時間の場所と方法をすばやく確認できます。 PGPROF は、リソース使用率データとコンパイラのフィードバック情報を使用して、プログラムの一部で実行時間が長い理由と、ソースコードやコンパイラオプションを変更してパフォーマンスを向上させる方法を理解するのに役立つ機能を提供します。 PGPROF はすべての PGI 製品に含まれています。

Fortranに優しいデバッガ

PGDBG Debugger GUI

PGDBG® は Fortran、C、C ++ 用のグラフィカルデバッガで、MPI、OpenMP、およびハイブリッドMPI/OpenMPアプリケーションなどのデバッグ用のセッションおよびパラレルプログラムをサポートしています。 PGDBG は、各ノードに複数のマルチコア x86 プロセッサが搭載されている SMP ワークステーション、サーバ、分散メモリクラスタ、ハイブリッドクラスタ上のプログラムをデバッグできます。 PGDBG を使用すると、スレッドまたはプロセスを個別に、またはグループ単位で制御できます。また、レジスタ・レベルまでの状態を調べることができます。 PGDBG は OpenPOWER 版を除くすべての PGI 製品にも含まれています。

PGI へのお客様からのコメント

Mr. Buddy Bland  オークリッジ国立研究所のプロジェクトディレクター

“別のプラットフォームから HPC アプリケーションを移植することは、様々なハードウェア技術を取り入れ採用する上で、最も重要なコストの一つです。 マルチコア x86 CPU 上でも動作する OpenACC は、TITAN supercomputer のようなマシンから今後の主要システムのすべてに至るまで、既存の CPU 専用アプリケーションや GPU 対応アプリケーションにその継続性とコード移植性を提供し、さらに、これらの異なるシステム間の移植性も提供します。”