PGI Compiler 2018 サポートプロセッサ

対象 PGIコンパイラ ターゲット CPU プロセッサ

サポートするプロセッサと利用可能な機能

PGI コンパイラ製品がサポートするプロセッサの種別とその利用可能なハードウェア機能を以下に纏めました。 以下の表の中にある 'target' をコンパイルコマンドのオプションとして指定すると、指定された CPU の特性に応じた最適化が可能なクロス・コンパイルが可能となります。CPU target オプションの詳細は、こちらに説明しています。また、「クロスコンパイルの方法」については、こちらのページをご覧ください

現在コンパイラを使用しているシステムのプロセッサのタイプを見る方法は、以下のようにコンパイラコマンドに -V オプションを付して実行してください。そのターゲットプロセッサ名が表示されます。

$ pgfortran -V
pgfortran 18.1-0 64-bit target on x86-64 Linux -tp sandybridge
PGI Compilers and Tools
Copyright (c) 2018, NVIDIA CORPORATION.  All rights reserved.					

 PGI コンパイラは、AMD 社の NUMA アーキテクチャにも「最適化」する機能を有するだけでなく、インテル社のUMAや最新の Core i7 系の NUMA アーキテクチャにも最適化可能なコンパイラです。

 コンパイラ技術は、AMD64/Intel(R)64 のコード生成機能だけではなく、NUMA / UMA と言ったメモリアーキテクチャに対しても柔軟に最適化できる能力が求められています。PGI コンパイラは、 NUMA アーキテクチャに対しても最適化機能を有した「先頭を走るコンパイラ」です。

PGI Workstation 2018 Supported Processors
Supplier CPU -tp
<target>
Memory
Address
Floating Point HW
SSE1 SSE2 SSE3 SSSE3 SSE4 ABM
&SSE4a
Intel Knights Landing processor knl 64-bit Yes Yes Yes Yes Yes Yes
Intel Skylake以降 skylake 64-bit Yes Yes Yes Yes Yes Yes
Intel Haswell haswell 64-bit Yes Yes Yes Yes Yes Yes
Intel Ivy Bridge ivybridge 64-bit Yes Yes Yes Yes Yes Yes
Intel Sandy Bridge sandybridge 64-bit Yes Yes Yes Yes Yes Yes
Intel Nehalem nehalem 64-bit Yes Yes Yes Yes Yes Yes
Intel Penryn penryn 64-bit Yes Yes Yes Yes Yes No
Intel Core 2 core2 64-bit Yes Yes Yes Yes Yes No
Intel Xeon, P4 EM64T p7-64 64-bit Yes Yes Yes Yes No No
AMD Zen architecture (Epyc, Ryzen) zen 64-bit Yes Yes Yes No Yes Yes
AMD Piledriverr piledriver 64-bit Yes Yes Yes No Yes Yes
AMD Bulldozer bulldozer 64-bit Yes Yes Yes No Yes Yes
AMD Six-core Istanbul istanbul 64-bit Yes Yes Yes No Yes Yes
AMD Opteron/QuadCore shanghai 64-bit Yes Yes Yes No No Yes
AMD Opteron/QuadCore barcelona 64-bit Yes Yes Yes No No Yes
AMD Opteron/Athlon64 k8-64 64-bit Yes Yes Yes No No No
AMD Opteron Rev. E/F k8-64e 64-bit Yes Yes Yes No No No
AMD Turion64 k8-64e 64-bit Yes Yes Yes No No No

Intel(R)社のプロセッサにも、AMD社のプロセッサにも、どちらにも最適化可能

 

 PGI コンパイラの大きな特長は、AMD 社の AMD64 プロセッサとインテル社の インテル64(EM64T) プロセッサ、それぞれの CPU のマイクロアーキテクチャに応じた最適化を行うことができるコンパイラであることです。詳細は、こちらをご覧ください。

 

 特に、インテルプロセッサと AMDプロセッサでは、メモリアクセス、キャッシュ最適化に係る部分の最適化は大きく異なるため、インテル社製コンパイラで生成された Intel64 コードは、AMD64 マシン上では性能が大きく劣化する場合があります。AMD プロセッサ用のコンパイラは、 PGI 社のコンパイラをお求めください。 例えば、Intel(R) 64 の場合、CPU ターゲットを指定するコマンド・ライン・オプションである -tp nehalem-64 等を指定することで、Intel(R)64 である Nehalem (Core i7 等)に特化した最適化を行います。PGI コンパイラは、AMD64 ネイティブな最適化と Intel(R)64用の最適化を切り替えることが可能なクロス・コンパイル機能を有します。従いまして、PGI コンパイラを利用することで、将来、ご使用システムを Intel64 もしくは AMD64 のどちらかの CPU プラットフォームに変更したとしても、共通コンパイラ基盤としてどちらのプラットフォームに対してもご利用いただけます

 

 Intel64 は、基本的に AMD64 アーキテクチャとの互換を図り、64bit命令(演算、アドレッシング)を追加した技術です。従って、Intel64は、 AMD64 とバイナリレベルで互換性が保たれています。PGI コンパイラは、最新のインテル社のプロセッサを常にサポートします。