PGIトップ › PGIサポートセンター › PGIリリースノート

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

PGI 2015 コンパイラ製品 リリースノート

support

 NVIDIA 社 PGI の PGIコンパイラ製品のバージョンPGI 2015 (PGI 15.x) をリリースしましたのでお知らせいたします。本リリースにおける製品の主な新機能、特徴に関してPDFファイルに記述しておりますので、詳細は、以下のPDFファイルをご覧下さい。なお、ソフトウェアは こちらのページにてダウンロード可能です。
 現在の最新バージョンは、PGI 2015(旧バージョン形式で言うと PGI 15.x) となります。年間サブスクリプション契約をご購入あるいはご継続中のお客様は、新リリースのソフトウェアをダウンロードの上、インストールをお願いいたします。「バージョンアップの方法」や最新の「日本語インストールの手引き」は、お客様専用のページへご案内いたしますので、そのページをお分かりにならない場合は、弊社 support@softek.co.jp までご連絡下さい。

Current Version

製品名 現バージョン
PGI (Accelerator) Workstation / Server for Linux
15.10
PGI (Accelerator) Workstation / Server for Windows 15.10
PGI (Accelerator) Workstation for OS X 15.10
PGI (Accelerator) Visual Fortran (Windows) 15.10
PGI CDK for Linux (ご契約ユーザ様専用ページにて) 15.10
PGI製品のお求めは、米国 PGI と 20 年以上に及ぶ強力なパートナーであるソフテックへ

▶ PGI 2015 (PGI 15.x) リリースノート(PDF)

PGI コンパイラ製品の最新バージョン(Release 2015) の日本語版リリースノートについては、PDFファイルをご覧下さい。
英語版のリリースノートは、こちらをご覧下さい

PDF

PGI 15.10 (2015年10月)

■ PGI Accelerator OpenACC Features and Enhancements

  • マルチコア x86 CPUをターゲットとした OpenACC プログラミングモデルをサポートする機能を正式に追加しました。これは、OpenACC プログラムをマルチコアCPU上で並列実行動作させる機能です。従来の GPU 上で OpenACC parallel Loop をオフロード実行させるためのオプションである -ta=tesla、-ta=radeon に加え、CPUのマルチコア上で同様な機能を提供する -ta=multicore オプションを追加することで、同じ OpenACC ソースコードを使用してシームレスかつ、スケーラブルなプログラミング環境を享受できます。
  • OpenACCプログラムをマルチコア CPU あるいは マルチソケット CPU サーバの全てのコアを利用した並列実行ができるようにコンパイルが可能。
  • PGIコンパイラの最適化・並列化のフィードバックを参考にしながら、OpenACC KERNELs ディレクティブを使ってマルチコ アCPUs と GPU 用にアプリケーションの並列化を徐々に行うことが可能。
  • Fortran, C, C++プログラムにおいて、GPUとCPUを含めた均一の並列プログラミング・モデルを使用することが可能。

バグフィックス

PGI 15.9 (2015年9月)

■ PGI Accelerator Features and Enhancements

  • マルチコア x86 CPUをターゲットとした OpenACC プログラミングモデルをサポートする機能のベータ版が利用できます。-ta=multicore オプションを付加することで、OpenACCプログラムがマルチコアCPU上で、実行できます。
  • CUDA 7.5 toolkit がバンドルされ、サポートされました。なお、デフォルトでは、CUDA 7.0 toolkit が使用されます。
  • OpenACC Compute regions 内のスカラ、ならびに配列変数の自動プライベート化機能を追加しました。
  • OpenMP !$ conditional sentinelと同じような機能を提供するために、新しいCUDA Fortran (!@CUF) and OpenACC (!@acc) と言うconditional sentinelsを導入しました。
  • CUDA 7.0 and 7.5 Thrust headersをサポートしました。
  • CUDA Fortran DEVICE 配列を使用した cuRAND 関数をcall できるように、新しい cuRAND Fortran module を導入しました。
  • CUDA 7.0 cuFFT library のバージョンをアップデートしました。
  • OpenACC regions 内での Fortran computed goto 構文を使用できるようになりました。

■ Platform Updates

  • Windows 10 をサポートしました。
  • Open MPI 1.8.8 を PGI CDK Cluster Development Kit にバンドルしました
  • 32bitアプリケーションにおける CUDA-x86 機能のサポートは終了しました。

バグフィックス

PGI 15.7 (2015年7月)

■ PGI Fortran/C/C++ Compilers

  • Fortran2008 機能を追加しました:新しいiso_c_binding 関数、C_sizeof、新しい iso_Fortran_env 関数(compiler_options、compiler_version)、MOLD=指定子を用いた多類型変数(polymorphic variables)の割付、プロシジャーコール内で、ポインタ型仮引数に対する非ポインタ型実引数の連結
  • 定数を含む論理演算、論理処理を有するループのSIMDベクトル化に関する機能を向上しました。
  • 一つ以上の入力引数がコンパイル時に定数と認識される場合の内部組み込み関数の性能を向上しました。

■ PGI Accelerator Fortran/C/C++ OpenACC Compilers

  • Titan X を含む Maxwell GPUs をサポートしました
  • NVIDIA Tesla targets に対する OpenACC or CUDA Fortran コンパイル時のデフォルト Compute Capability(CC) は、cc20, cc30, cc35, and cc50となります。すなわち、Fermi, Kepler K10 and K20, and Maxwell用のコードがデフォルトで生成されます。従って、コンパイル時間が従来よりも長くなります。このデフォルトは、-ta=tesla,cc?? あるいは -Mcuda=cc?? コンパイルオプションを使用して変更出来ます。
  • PGI Linux 64bit版において、NVIDIA cuBLAS and cuRANDライブラリの呼び出しに関するサポートを更に強化しました。 この example は、PGI 2015 examples の directory 内の CUDA-Libraries ディレクトリにあります。
  • PGI 15.7 の -ta=tesla:beta オプション・フラグは、生成コード内の 128-bit ロード・ストアオペレーションを有効化するためのものです。これは、最内側ループ内で短い構造(short structure)にて動作する時に、著しい性能向上をもたらします。この機能は現在、ベータテスト中であり、将来のリリースにおいてデフォルトとなる予定です。

■ Other Features and Additions

  • Shared Objects 内のブレークポイントをセットするデバッガ機能を強化しました。
  • デバッガ内のプログラム・ロード状況のコミュニケーションを強化しました
  • PGIパッケージにバンドルした JRE を 1.8 u45 バージョンに更新しました。
  • Eclipse Plug-in for C/C++ compilersをダウンロードパッケージとして分離しました。

バグフィックス

PGI 15.5 (2015年5月)

■ PGI Accelerator Fortran/C/C++ Features & Enhancements

  • OpenACC Unified Memory Evaluation Packageは、全ての linux 64-bit パッケージ内に含まれました。但し、Beta License Agreement への許諾が必要となります。使用前に、"doc" directory 内のREADME_UM_EVAL.txt の内容を確かめてください
  • 強化されたコンパイラメッセージを通して、OpenACCユーザーエクスペリエンスの向上
  • デバイスコード内の配列の bounds-check(境界チェック)はサポートされません。-Mbounds オプションは抑止されました
  • アクセラレータコードに対するIPAリンキング処理時における「引数の削除」機能は、抑止されました
  • OpenACC Fortran for NVIDIA GPUs and CUDA Fortran は、デバイス・カーネル内のデフォルト出力ユニット(PRINT * or WRITE(*,*))へのリスト指示 I/O をサポートしました。CUDA Fortran Programming Guide and Referenceマニュアルの 3.6.7 項に現在サポートしているデータ型等を説明しています

バグフィックス

PGI 15.4 (2015年4月)

■ PGI Accelerator Fortran/C/C++ Features & Enhancements

  • リンク時におけるCUDA 6.5 Toolkit をデフォルトとして使用
  • CUDA 7.0 Toolkit 搭載(オプションの変更で6.5 と 7.0 を使い分ける)
  • 新しい OpenACC SDK の examples を追加

■ PGI C++ Features and Enhancements

  • GNU 4.9 対応
  • C++14 機能の追加(lambdas, binary literals, apostrophes as digital separators)
  • Class type resultsを有する GNU statement 式の追加
  • 一般的な性能の向上

■ PGI Fortran Features and Enhancements

  • Fortran 2008 機能の追加(transformational Bessel functions, storage size intrinsic, complex inverse trigonometric intrinsics, function for C sizeof in iso_c_binding, find location in an array)

■ その他

  • デバッガのブレイクポイントはヒットカウントをサポートしました
  • Linux 64-bit リンクオプションは、例外をハンドルするフレーム情報を保存するための Meh_frame をデフォルト・オプションとして含みました。

バグフィックス

PGI 15.3 (2015年3月)

PGI 15.1 (2015年1月)

■ PGI C++ Compiler

  • PGC++(pgc++)コンパイラは、Linuxおよび OS X のデフォルトとなる。GNU 互換 name mangling(ABI互換)の採用並びに g++ 4.2~4.8 言語機能をサポート。なお、GNU g++ のコマンドライン・オプションとの互換性はありません。
  • Linuxおよび OS X 上で、C++11 完全準拠
  • NVIDIA ならびに AMD GPU 用のネイティブな LLVM (バックエンド)コンパイル機能を追加
  • 以下の C 言語 C11 機能を実装
    • Lambdas
    • Alignof/alignas
    • No return
    • Type generics
    • Thread-local storage (TLS)
    • long double using x87 80-bit arithmetic
  • デバイス実行のため、 data clause や計算領域内の class/struct のメンバを参照するため、暗黙にOpenACC class methodを使ってコンパイルされる。また、enter/exit data clause を使って明示的に class/struct の deep copy を行うことができるように、OpenACC class method を提供
  • CUDA Unified Memory on NVIDIA GPUs を使って OpenACC implicit deep copyを行う機能(プレビュー機能として別ソフトウェア提供)。(64-bit Linux preview feature、ダウンロード可能)
  • Linux版 pgc++ は NVCC ホスト・コンパイラとして機能する
  • SIMDベクトル化の強化として、条件付きベクトル化、ランタイムにおけるポインタのチェック機構、ベクトル化効果の解析機構を実装
PGI 2015 以降、Linux ならびに OS X において、C++コンパイラは、従来からデフォルトとしてきた pgcpp(pgCC) コマンドによる C++ コンパイラから、pgc++ コマンドによる C++コンパイラに変更となります。明示的に、pgc++ コマンドをお使いください。pgc++ コンパイラは基本的に、ほとんどの言語機能とオブジェクト(ABI互換)に関して GNU C++(g++) のものと互換性を有します。但し、pgc++ と g++ のコマンド・オプションに関しては互換性がありません。なお、従来の pgcpp コマンド・コンパイラは、Linux、OS X、Windows版を含め、 PGI 16.1 以降、廃止されます。
  これに伴い、Windows 版の C++ 言語コンパイラ自体が、PGI 2016 以降、製品として廃止され、「C 言語コンパイラ」と 「Fortran コンパイラ」の製品版の提供となります。なお、PGI 2015 における Windows 版の C++ pgcpp コンパイラは提供されますが、PGI 15.2 以降の機能拡張開発は行いませんので、今後の購入を行う際はご注意ください。
 一方、Linux ならびに OS X 版の C++ コンパイラに関しては従来通り、GNU ABI 互換の C++11 コンパイラとして、PGI 2016 以降も継続してご提供してまいります。

■ PGI Accelerator OpenACC Fortran/C/C++ Compilers

  • 包括的な OpenACC 2.0 のサポート(2015年)
    • Cache directive
    • Auto loop clause
    • Device_type clause
    • Collapse clause
    • Firstprivate clause
    • Gang(num:) and gang(static:) loop subclauses
    • Reduction in routine clause
    • Use of complex data types in reduction clause
  • OpenACC CUPTI-based profiling(NVIDIA CUDA Profiling Tools Interface)を利用したPGI_ACC_TIME
  • OpenACC Unified Memory Evaluation Package for Linux
  • 新しいOpenACC SDK examples追加
  • CUDA 6.0/6.5 and NVIDIA Kepler K40/K80 GPUs

■ PGI Fortran Compiler

  • Fortran 2008 機能取込み
    • SIMPLY CONTIGUOUS
    • ERF/ERFC
    • Inverse hyperbolic functions
    • Bessel functions
    • Storage size intrinsic
  • OpenACC 並びに CUDA Fortran における Fortran Automatic Array のサポート
  • 新しく最適化された CUDA Fortran ホスト側組込関数(sum, maxval, minval)。compute capability 3.0 以降のデバイスで使用可能(CUDA Fortran Programming Guide 3.7.2項参照)
  • CUDA Fortranでのデバイスコード内におけるグローバルな静的配列のサポート
  • cuSPARSE ライブラリへのインタフェースのために新しく CUDA Fortran cuSPARSE moduleの提供
  • NVIDIA GPU のCUDA Unified Memory のフルサポート
  • CUDA 6.0/6.5 and NVIDIA Kepler K40/K80 GPUs

■ バンドルするライブラリの更新

  • MPICH 3.1.3(Linux/OS X)に更新。PGI CDK には、その他に、Open MPI 1.8.4 と MVAPICH2 2.0 ライブラリのPGI用のビルド版を提供

■ 検証済み使用可能プラットフォームの追加

Ubuntu 14.10, Fedora 21, CentOS 7, RHEL 7 and OS X Yosemite 等
PGI 2015 サポート OS の詳細へ

Free PGI for OS X の更新

▶ 過去のバージョンのリリースノート