|
32ビットあるいは64ビットプロセッサを含むPGI コンパイラ製品がサポートするプロセッサの種別とその利用可能なハードウェア機能を以下に纏めました。
以下の表の中にある 'target' をコンパイルコマンドのオプションとして指定すると、指定された
CPU の特性に応じた最適化が可能なクロス・コンパイルが可能となります。CPU
target オプションの詳細は、こちらに説明しています。また、「クロスコンパイルの方法」については、こちらのページをご覧ください。
|
PGI コンパイラは、AMD 社の NUMA アーキテクチャにも「最適化」する機能を有するだけでなく、インテル社の従来の UMA アーキテクチャにも最適化可能なコンパイラです。関連リンク |
|
|
コンパイラ技術は、AMD64/EM64T のコード生成機能だけではなく、NUMA/UMA と言ったメモリアーキテクチャに対しても柔軟に最適化できる能力が求められています。PGI
コンパイラは、次世代 NUMA アーキテクチャに対しても最適化機能を有した「先頭を走るコンパイラ」です。
|
| PGI Workstation 6.1 Supported Processors |
| Supplier |
CPU |
<target> |
Dual
Core |
Memory Address |
Floating Point HW |
| x86-64 |
x87 |
SSE1 |
SSE2 |
SSE3 |
| AMD |
Opteron/Athlon64 |
k8-64 |
Yes |
64-bit |
Yes |
Yes |
Yes |
No |
| AMD |
Opteron/Athlon64 |
k8-32 |
Yes |
32-bit |
Yes |
Yes |
Yes |
No |
| AMD |
Opteron Rev. E |
k8-64e |
Yes |
64-bit |
Yes |
Yes |
Yes |
Yes |
| AMD |
Opteron Rev. E |
k8-32 |
Yes |
32-bit |
Yes |
Yes |
Yes |
No |
| AMD |
Turion64 |
k8-64e |
no |
64-bit |
Yes |
Yes |
Yes |
Yes |
| AMD |
Turion64 |
k8-32 |
no |
32-bit |
Yes |
Yes |
Yes |
No |
| Intel |
Xeon, P4 EM64T |
p7-64 |
Yes |
64-bit |
Yes |
Yes |
Yes |
Yes |
| Intel |
Xeon, P4 EM64T |
p7 |
Yes |
32-bit |
Yes |
Yes |
Yes |
Yes |
| Intel |
Xeon/Pentium4 |
p7 |
no |
32-bit |
Yes |
Yes |
Yes |
No |
| AMD |
Athlon XP/MP |
athlonxp |
no |
32-bit |
Yes |
Yes |
No |
No |
| Intel |
Pentium III |
piii |
no |
32-bit |
Yes |
Yes |
No |
No |
| AMD |
Athlon |
athlon |
no |
32-bit |
Yes |
No |
No |
No |
| AMD |
K6 |
k6 |
no |
32-bit |
Yes |
No |
No |
No |
| Intel |
Pentium II |
p6 |
no |
32-bit |
Yes |
No |
No |
No |
| Other |
Other x86 |
p5 or px |
no |
32-bit |
Yes |
No |
No |
No |
|
|
※ 新たに、k8-64e が追加されました。Opteron リビジョン E 以降のプロセッサは、 SSE3機構を実装しています。この特徴を有する CPU target は、 k8-64e となり、SSE3機構を含めた最適化を行います。
※ 旧バージョン PGI 6.0 がサポートするプロセッサとその特性についてはこちらのページ
|
AMD64 と PGI 社の取組みについて
「AMD64」は、AMDが独自開発した、32bit と 64bit のハイブリッドなプロセッサ・アーキテクチャです。既存の
32bit の x86 命令をベースに 64bit モードと 64bit 命令を追加したものです。 これまでの
x86 プロセッサの進化と同様、既存の x86 命令との互換性を維持しながら、その延長線上で
64bit 化を行ったことにより、32bit と 64bit 環境の共存や、32bit から 64bit
環境への移行が容易である特長があります。また、x86 命令も 64bit 命令もほぼ同等の性能を発揮すると言われております。PGI
社は、Opteron の発表前から AMD 社との協調体制の下で、AMD64 用の最適化コンパイラを開発してきました。Opteron
用のコンパイラとして、市場に最初に提供したのが PGI コンパイラです。なお、インテル(R) コンパイラでは、AMD社の Opteron 等に適した細部の最適化は行えない部分があります。特にメモリアクセス、キャッシュ最適化に係る部分の最適化は大きく異なるため、インテル社製コンパイラで生成された
EM64T コードは、AMD64マシン上では性能が大きく劣化する場合があります。AMD Opteron/Athlon プロセッサ用のコンパイラは、 PGI 社のコンパイラをお求めください。
PGI コンパイラの大きな特長は、AMD 社の AMD64 プロセッサとインテル社の EM64T プロセッサ、それぞれの CPU 命令に応じた最適化を行うことができるコンパイラ・スイッチ (cpu target) を有している唯一のコンパイラであることです。 詳細は、こちらをご覧ください。
例えば、 EM64T の場合、CPU ターゲットを指定するコマンド・ライン・オプションである
-tp p7-64 を指定することで、Intel(R) EM64T に特化した最適化を行います。PGI
コンパイラは、AMD64 ネイティブな最適化と Intel(R) EM64T 用の最適化を切り替えることが可能なクロス・コンパイル機能を有します。従いまして、PGI
コ ンパイラを利用することで、将来、ご使用システムを EM64T もしくは AMD64
のどちらかの CPU プラットフォームに変更したとしても、共通コンパイラ基盤としてどちらのプラットフォームに対してもご利用いただけます。
PGI コンパイラは、インテル(R) のプロセッサに対しても AMD のプロセッサに対しても最適なコードを生成します。各社商用コンパイラの性能比較にて、どちらのプロセッサ上でも速い PGI の性能をお確かめください。
Intel(R) Extended Memory 64 Technology について
インテル(R) EMT64T は、基本的に AMD64 アーキテクチャとの互換を図り、64bit
命令(演算、アドレッシング)を追加した技術です。従って、EM64T は、既に市場に出回っている AMD64 と互換性が保たれています。PGI コンパイラは、EM64T をサポートしています。
|