STMicroelectronicsは、同社100%子会社であるPortland Group(PGI)が、Linux、Mac OS XおよびWindows向け高性能並列化コンパイラ「PGI 2011」と開発ツールの提供を開始したことを発表した。

PGI 2011は、NVIDIA CUDA対応GPUを統合したx64プロセッサ・ベースのシステム上で、PGI Acceleratorプログラミング・モデル1.2仕様をフル・サポートする初のリリースとなり、Red Hat Enterprise Linux 6、Fedora 13、SLES 11 PS1、Ubuntu 10.10など、各OSの最新リリースをサポートしている。

また、同リリースでは、マルチコアx64プロセッサ・ベースのHPCシステムに対する機能強化が多数搭載されており、Intel Sandy BridgeとAMD Bulldozer CPUのx64インストラクション・セット・アーキテクチャに対する 新しい「Advanced Vector Extensions(AVX)」のサポート、Fortran 2003言語標準のサポート、デフォルトで高速例外処理を適用することによるC++の性能向上やBoost C++ライブラリ・サポートの改良、OpenMPネスト化並列処理、新しいメモリ階層の最適化、コンパクトな並列レジスタ表示やタブ・ベースのサブ・ウィンドウなどのデバッガ改良、マルチコア・プロファイルのブラウジングを簡略化するための性能プロファイラの強化が含まれている。

この他、GPU性能プロファイリング、およびダウンロードとインストールを高速化するためのパッケージングの改良によるメリットも提供される。現在、主要HPCシステム・ベンダであるCrayやHP、IBMなどは、GPUアクセラレータを統合したシステムを供給しているが、PGIとNVIDIAは、NVIDIA GPUアクセラレータを搭載しているかどうかに関係なく、あらゆるマルチコアx64プロセッサ・ベースのシステムにCUDAプログラムの移植を可能にするPGI CUDA C/C++コンパイラを開発しており、PGI 2011ソフトウェア・アップデートの一環として、今後1年間にわたってPGIユーザに段階的に提供される予定となっている。

PGI 2011 CUDA Fortranで強化された機能には、CUDA Fortranカーネルを自動生成する新しい機能、CUDA Fortranモジュール・データの共有やアレイ・スライス割り当ての最適化などがあるほか、自動ループ展開などの新しいコード生成とスケジューリング最適化により、PGIアクセラレータとCUDA FortranによるGPUコードの性能向上が可能となる。

さらに、PGI 2011では、CUDA言語の拡張の他、高レベルなPGIアクセラレータ・プログラミング・モデルのサポートも拡張された。同プログラミング・モデルは、ホストCPUからGPUアクセラレータに処理をオフロードして性能高速化を行うため、標準FortranとCプログラム内にそのアクセラレータ領域をコンパイラ・ディレクティブ(指示行)で指定することでGPU並列化を行うもの。

また、PGI Accelerator 1.2プログラミング・モデルのフル・サポートも追加された。これには、効果的に性能加速されるアプリケーション部分を拡大できるようにする、プロシージャ間デバイス常駐データ機能の追加や、プログラマがGPUカーネルをチューニングできるようにするcache節、unroll節などがある。

加えてPGIは同時に、今後の開発計画のロードマップを含むPGI Accelerator 1.3プログラミング・モデル仕様も発表している。

なお、PGI 2011コンパイラの評価用コピーは、Portland GroupのWebサイトで登録後、入手可能だ。