ソフテック・トップページへ
ホーム 製品 セキュリティ・サービス HPCサービス ダウンロード 企業情報



PGI コンパイラ製品の購入をご検討の方は、こちらからお問い合わせください



New Release Information
最新リリース情報
ソフテックは、PGI 製品の公認正規代理店です


PGI® Workstation & PGI® Server 6.1 Release
米国 PGI 社の PGI Workstation/Server コンパイラ製品のバージョン6.1 をリリースしましたのでお知らせいたします。本リリースにおける製品の主な新機能、特徴に関して以下に説明します。なお、ソフトウェアは http://www.softek.co.jp/SPG/ftp.html ページにてダウンロード可能です。 (2006年1月12日にリリースしました)

このドキュメントはVersion 6.1 に関するものです。サブスクリプション(保守)契約をご購入あるいはご継続中のお客様は、新リリースのソフトウェアをダウンロードの上、再インストールをお願いいたします。最新の「日本語インストールの手引き」を必要なお客様は、support@softek.co.jp へメールにて依頼いただければ、送付いたします。新リリースのソフトウェアの入れ替えは次のステップで行うことができます。

バージョンアップの方法についての詳細は、こちらをご覧ください

STEP1 : 新リリースのソフトウェアのダウンロード
STEP2 : 新リリースのソフトウェアのインストール
STEP3 : 新リリースのライセンス・キーの取得と license.dat の入れ替え


ライセンスの更新に関する FAQ は、こちらをご覧ください

旧バージョン PGI® 6.0 のリリースノートは、こちらのページで閲覧できます。


Version 6.1 の新機能、特徴
PGI® 6.1 のリリース・ノートの詳細版は、PDF ファイルで提供しております。
サポートするプロセッサタイプ

PGI 6.0 と同様に、32ビット X86 系のプロセッサ並びに 64 ビットの AMD64、Intel EM64T の両方のプロセッサに対応します。PGI コンパイラの大きな特長は、CPU ターゲットを指定するコマンド・ライン・オプションである -tp p7-64 を指定することで、Intel(R) EM64T に特化した最適化を行います。PGI コンパイラは、AMD64 ネイティブな最適化と Intel(R) EM64T 用の最適化を切り替えることが可能なクロス・コンパイル機能を有します。さらに、PGI 6.1 では、AMD64 あるいは EM64T のどちらにも最適な性能を提供可能な PGI Unified Binaries の機能を業界で初めて提供しました。
PGI コンパイラを利用することで、将来、ご使用システムを EM64T もしくは AMD64 のどちらかの CPU プラットフォームに変更したとしても、共通コンパイラ基盤としてどちらのプラットフォームに対してもご利用いただけます。 PGI 6.1 コンパイラがサポートするプロセッサに関しては、こちらをご覧ください


PGI がサポートするプロセッサのデフォルトで使用する最適化機構
prosessor Prefetch SSE1 SSE2 SSE3 32-bit 64-bit Scalar FP
Default
AMD Athlon                 x87
AMD Athlon XP/MP          x87
AMD Athlon64    SSE
AMD Opteron     SSE
AMD Opteron Rev.E SSE
AMD Turion SSE
Intel(R) Celeron                x87
Intel(R) Pentium II                x87
Intel(R) Pentium III          x87
Intel(R) Pentium 4       SSE
Intel(R) Pentium M       SSE
Intel(R) Centrino       SSE
Intel(R) Pentium 4 EM64T SSE
Intel(R) Xeon EM64T SSE


サポートするOS の追加

最新の Linux ディストリビューションである SUSE 10.0 を新たにサポートしました。従来からサポートしている RedHat Enterprise Linux 3, 4 並びに Fedora Core 3, 4, 5(PGI 6.1-5より) もサポートされます。 PGI コンパイラがサポートする Linux Distributions に関しては、こちらをご覧ください
PGI 6.1 から64ビット Windows(R) x64 対応バージョンがリリースされました。

PGI 6.1 コンパイラの新機能、特長等

  • PGI Unified Binaries − 以前より提供してきました、AMD社並びにインテル社のプロセッサのマイクロアーキテクチャ特性(AMD64 or EM64T)に応じた最適化機能に加えて、PGI 6.1 コンパイラは、PGI Unified Binary オブジェクトあるいは実行モジュールを生成することができます。この PGI Unified Binary とは、AMD64 と EM64T のどちらのプラットフォームに対しても性能ペナルティがない形でフル最適化を行い、実行モジュールを生成する機能です。プログラム開発においては、プログラムの性能がどちらのプラットフォームにも透過的に維持できることで、最適化のために費やすコストが軽減されます。これは、PGIが業界で初めて実現した機能です。この PGI Unified Binary を生成するためには、コンパイラオプション -tp x64 を明示的に指定してコンパイルする必要があります。これに伴い、-tp オプションに x64 フラグが新たに追加されました。
  • OpenMP 2.5 − PGI リリース6.1 は、OpenMP Application Program Interface Version 2.5, May2005 をサポートしました。これにより、最新のOpenMP 規格をご利用できます。なお、-mp オプションを指定することで、OpenMP コードのコンパイルが可能です。
  • ANSI C99 − PGCC 並びに PGC++ コンパイラは、ANSI C99 をサポートしました。C のソースコードが C9x Standard である場合、コンパイラオプション -c9x スイッチを付加してコンパイルを行います。
  • デュアルコアプロセッサにおける自動並列化 − −Mconcur 自動並列化オプションを使用した際、デュアルコアプロセッサに対するループ処理の自動並列化効率向上のための最適化(並列性検出とランタイムライブラリのサポート)が強化されました。
  • ベクトル化の強化 − ベクトライザの更なるチューニングがなされました。これには、スカラコード並びにベクトルコードの条件付コード生成、イディオム(idiom:慣用句)の認識の向上、関数の参照のあるループのベクトル化、プロセッサ特有のインストラクションの選択、コンパイラ・ディレクティブ/プラグマの追加等が含まれます。さらに、ダイナミックに配列の整列並びにプリフェッチを行う機能を追加しました。
  • SSE3 − ベクトル化のために SSE3 インストラクションをサポートしました。さらに、従来の SSE/SSE2 を使用したループ内ベクトル化をさらに強化しました。
  • NUMAアーキテクチャへのチューニング強化 − NUMA アーキテクチャへのさらなるチューニングを行いました。
  • C/C++ 性能 − C/C++ に特化した以下の最適化を強化することにより、C/C++ のプログラム性能が全体として大きく向上しました。強化された最適化部分としては、ポインタの曖昧性の削減による向上、構造的な最適化を含みます。
  • IPA(内部手続き間解析・最適化)の強化− PGIコンパイラの内部手続き間解析・最適化(IPA) の自動的ンインライン機能が強化されました。さらに、追加の機能として -Mipa=cg スイッチと新規に提供された pgicg コマンド・ユーティリティを使用して、プログラムのコール・グラフを出力できるようになりました。
  • gcc互換性の強化 − gcc-style の "asm" ステートメント(インラインアセンブル)の互換性が向上しました。以前は、基本インラインアセンブル構文のみのサポートでしたが、拡張インラインアセンブル構文がサポートされました。なお、このサポートは C言語(pgcc) のみで C++言語(pgCC) は、従来の基本インラインアセンブル構文のみをサポートします。その他、いくつかのマイナーな gcc 互換性の問題を解決しました。
  • 32-bit x86上でのスカラSSEのデフォルト化 − PGI コンパイラは、SSE1/SSE2 機構をサポートしている 32-bit x86 プロセッサ(例えば、Pentium 4) 上のスカラ浮動小数点演算の実行のために、SSE コードをデフォルトで生成するように変更しました。以前のリリースでは、全ての 32-bit システムにおいてスタックベースの x87 浮動小数点演算機構をデフォルトで使用していました。この変更に伴い、以前のリリースで使用した同じコンパイルオプションで実行モジュールを作成したとしても、演算結果の数値誤差が現れる場合があります。
  • ACML 3.0 − AMD Core Math Library の最新エディションである ACML 3.0-1 がPGI 6.1 にバンドルされております。バンドルされている ACML ライブラリは、SSE1 とSSE2 命令を有する 32-bit x86 並びに 64-bit AMD64 互換 CPU(EM64T含む) をサポートします。なお、SSE 命令を有しない CPU 上で使用するために、性能が落ちますが従来の互換性の高い libblas.a と liblapack.a もバンドルされています。 【注意】 ACML 3.0 は、-Mcache_align を内包しているコンパイル/リンク・オプション -fastsse を使用して生成されております。従って、この ACML 3.0 を使用する際は、必ず、全てのプログラムのコンパイル・リンク時に、-Mcache_align あるいは -fastsse オプションを付して実行してください。
  • サポートOS − SUSE 10.0 、Fedora Core 5 (PGI 6.1-5)をサポートしました。

PGDBG(デバッガ)とPGPROF(プロファイラ) の新機能、特長等

  • PGDBG stack traceback − stack traceback の性能が向上し、stacktrace コマンドは許容できる性能を提供します。
  • PGDBG step into − "step into" 共有ライブラリの中へのステッピングがサポートされました。(.so on Linux or .dll on Windows x64 edition)
  • 強化された F95 デバッギング − F95 モジュールとその派生データのサポートに関連した変更を行い、その機能が強化されました。
  • Java(TM) 2 Runtime Envirenmnet, Standard Edition 1.5.0_05 がバンドルされました。

■ PGI 6.1 における新オプション並びに変更点について(2006年1月)

PGI コンパイラ 6.1 において新規に導入されたオプションについて説明 しているPDF ファイルです。 



既知の制限事項

  • PGI 6.1 で生成されたオブジェクトあるいはモジュールは、PGI 5.x並びにそれ以前のリリースのオブジェクト、モジュールとは互換性がありません。PGI 6.0並びにそれ以前のリリースにおいて -Mipaオプションを付加して作成されたオブジェクトファイルは、PGI 6.1上で再コンパイルが必要です。
  • -i8 オプションの使用において、プログラムを MPI 及び ACML ライブラリととともに使用する場合、互換性がありません。典型的には、Integer*8 配列の引数の使用により、これらのライブラリと共に使用する場合、異常終了します。
  • -mcmodel=medium オプションを使用してコンパイルされたオブジェクトを組み込んだプログラムは、静的にリンクされることはできません。これは、linux x86 の 64 ビット環境における制約事項であり、PGI コンパイラによる制約事項ではありません。
  • PGCC の -Mipa=linopt と-Mipa=vestigial オプションを使用した場合、リンク時に未解決な参照が生じる場合があります。これは、-Mipa にサブオプション vestigial を付加することにより、エラーとなる関数が削除されるために起こります。この場合は、vestigial を付加せずに、-Mipa のみの指定で対処してください。
  • -Mprof=func 並びに-mcmodel=medium と -mp を一緒に使用した場合、生成された実行モジュールはセグメンテーション・フォールトが生じます。これらのオプションを同時に使用することは避けてください。
  • gprof スタイルのプロファイリング機能 (-pg) を使用してコンパイル・リンクしたプログラムは、2.6.4 Linux カーネルのシステム上でセグメンテーション・フォールトが生じます。また、いくつかの Linux distributions 上で、gprof によって各々のプログラム・ユニットの報告された時間が、実際の時間より10 倍以上大きな数値になることがあります。これは、これらの Linux distributions に含まれる、ある共有ライブラリのバグによるものです。
  • -mp を使用して生成された OpenMP プログラムが、SuSE9.0 システム上の複数プロセッサで並列実行した場合、極端に遅くなります。しかし、これと同じ実行モジュールが SuSE9.1上で動作させると期待される性能と効果が得られます。この問題は未だ解析中ですが、将来のリリースで解決できた場合、その説明をする予定です。
  • ACML3.0 ライブラリは、-cache_align を含んだ -fassse コンパイルオプションを使用して構築されております。32-bit ターゲットシステム上で、-lacml オプションを使用して ACML ライブラリをリンクする際に、必ず、全てのプログラムに -cache_align もしくは、このオプションを含む複合オプションである -fastsse を付加してコンパイル/リンクを行ってください。64-bit ターゲットシステム上では、デフォルトでスタック 16byte アラインメントであるため、この問題は生じません。
  • マルチスレッドのサンプルベースのプロファイル(gprofスタイルのプロファイリング)でレポートされる時間は、累積されたものとなっています。PGI 形式のプロファイリング (-Mprof=lines|func)では、個々のスレッドあるいはプロセスの時間データが個別に表示されます。
  • PGDBG - Unified Binaries (-tp x64を付けて構築されたモジュール)のデバッギングは、フルにサポートされません。いくつかのサブプログラム名が unified binaries を生成する過程で変更されています。PGDBG は、アプリケーションのソースコード内で使用されているプログラム名とこれら変更された名前との間の変換を行いません。デバッグにおいては、Unified Binaries 生成オプションと付けずに、native なプロセッサターゲットで実行モジュールを生成してください。

    ※なお、文中で使用されている商品名、名称は、各社の商標あるいは登録商標です

バグフィックス・リスト

PGI 6.1-1 までに、バグ・フィックスされた過去の TPR (Technical Problem Report)
 http://www.pgroup.com/support/release_tprs.htm

ライセンスの更新に関する FAQ
現在サブスクリプション契約期間中であるお客様は無償でバージョンアップが可能です。是非、この機会に性能が向上した新 6.1 リリースをご利用くださいますようお願いいたします。

  • コンパイラ製品のバージョンの見方と調べ方

    製品バージョンの表し方は、メジャーマイナーおよびバグフィックスの 3 種類となります。最初の1 桁目がメジャーバージョン、2 桁目がマイナーバージョン、最後のハイフォンで続く数字がバグ・フィックス番号となります。サブスクリプション契約を行っていないお客様に関しては、購入時のマイナーバージョンの以降のバグ・フィックスに関しては無償でソフトウェアを入手することができます。
      (例) version 6.1-1
           6 : メジャーバージョン番号
           1 : マイナーバージョン番号
           1 : バグ・フィックス番号

    現在所有している PGI コンパイラのバージョンを調べるには、以下のコマンドを実行してください。
       $ pgf77 -V
        pgf77 6.1-1 <--- バージョンを表す
        Copyright 1989-2000, The Portland Group, Inc. All Rights Reserved.
        Copyright 2000-2005, STMicroelectronics, Inc. All Rights Reserved.

  • 今所有しているライセンスで新バージョンが動作しますか?

    PGI のライセンス・ファイル (license.dat) には、1.7、3.0、3.1、3.2、3.3、4.0、4.1、5.0、5.1、5.2 、6.0 あるいは 6.1 と言った動作可能なバージョンを示すフィールドを持っています。現在、所有しているライセンスファイルの中のフィールドが現在、動作可能な最も高いリリース番号となります。最新のリリースを動作させるためには、最新リリース番号へのフィールド値の更新が必要です。年間サブスクリプション契約(ソフトウェア情報パッケージ購入)を行っているお客様は、ライセンスの発行サイトにおいて、新ライセンスを取得して、 license.dat の内容を変更してください。バージョンアップがサブスクリプション契約期間内で行われた場合、ライセンス発行サイト上で表示されるライセンスは自動的に更新されたものとなっていますので、この内容をコピーして、システム上の license.dat の内容を更新すると新リリース用のライセンスファイルとなります。(もちろん、新しいリリース・ソフトウェアは、インストールされていることが前提です)

======== (License.dat の例 : Release 6.1 の場合) =================
SERVER moj1 0090275c30e8 7496
#
# In the DAEMON line, the location of the pgroupd daemon
# may need to be modified.
DAEMON pgroupd /usr/pgi/bin/pgroupd
FEATURE pgf77-linux86 pgroupd 6.100 31-dec-0 1 3BD8F0B1414C40403DEC \
VENDOR_STRING=109839:4 HOSTID=0090275c30e8 ck=190
FEATURE pgprof pgroupd 6.100 31-dec-0 1 BB986021EC3F71B560B6 \
VENDOR_STRING=109839:4 HOSTID=0090275c30e8 ck=29
FEATURE pgdbg pgroupd 6.100 31-dec-0 1 EBC8706172F613B398F2 \
VENDOR_STRING=109839:4 HOSTID=0090275c30e8 ck=249
======== (License.dat の例 : Release 6.1 の場合) =================

  • 一方、例えば新規購入で、リリース 6.1-1 のライセンスを取得していれば、その後のバグ・フィックスのリリースである 6.1-2、6.1-3 等の製品はサブスクリプション契約なしでも使用可能です。なお、ライセンスファイルのバージョン・フィールドの数字より前のコンパイラリリース製品は、問題なく動作します。

ライセンス発行の手順に関しては、こちらをご覧ください。

  • 現在の自分のライセンス情報をどのように調べればよいでしょうか?

現在の自分が所有しているライセンス情報は、ライセンス発行サイトにてオンラインで入手が可能です。サイトのユーザ認証のために、製品納品時に同封したユーザ登録書に記されたアクセス・コード (ユーザー名とパスワード) を入力し、"Information" --> "Information and current licenses" のボタンをクリックすると、サブスクリプション期間終了日と新しいマイナー・リリースに対する新ライセンス・キーが表示されます。この新ライセンス・キーをコピーして 現在の license.dat を更新してください。

  • 「年間サブスクリプション契約(ソフトウェア情報パッケージ)」とは何ですか?

年間サブスクリプション契約がなされているお客様は、製品のマイナーバージョンアップ時の新しいライセンスを得る権利を有します。製品のライセンスを新規に購入し、同時に年間サブスクリプション料金をお支払いただいた場合、1年以内の最新のリリースに対するアップグレードが可能となります。年間サブスクリプションをご購入いただいていないお客様は、購入の後に50日以内のバージョンアップ・リリースに対しては、新リリースのライセンス更新が可能です。なお、サブスクリプション契約を行わないお客様が、その後再度、新ライセンスの取得を行いたい場合、サブスクリプション契約空白期間も含めたサブスクリプション料金をお支払いただくことにより、新ライセンスの取得が可能となります。

  • お客様のアクセスコード(ユーザID、パスワード)を紛失あるいは忘れた方へ

お客様のお名前、組織名、ソフテック製品出荷ID をお書き添えいただき、support@softek.co.jp へその旨、お知らせください。アクセスコードを再度メールにてお送りいたします。



 ※本ページに記載されている会社名、製品名は、各社の登録商標または商標です。
 ソフテックは、PGI 製品の公認正規代理店です

サイトマップ お問合せ
Copyright 2004 SofTek Systems Inc. All Rights Reserves.