PGIトップ › PGIサポート › リビジョンアップの方法

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

PGIソフトウェアのリビジョンアップの方法

QUESTION

 PGIコンパイラ製品のソフトウェアは、年に6回程度の機能向上ならびにバグフィックスを含めたリビジョンアップが行われます。PGIのソフトウェアは、システム自体のディスク容量に余裕があるのであれば、基本的に過去のバージョンやリビジョンのソフトウェア実体を削除しなくても、新しいリビジョンを実装できるような実装レベルでの階層化が行われています(上書きされないと言うことです)。過去のリビジョンは、コンパイルオプションに -V{revision_number} (例:-V18.5) と言ったリビジョン番号を付加することによって簡単に使用することができます(ただし、この機能は PGI 18.10 までの機能です)。あるいは、明示的に現バージョンを削除してから、新規インストールすることも可能です。このページでは、各OS上のPGIソフトウェアをリビジョンアップする方法を説明します。

PGIソフトウェアのリビジョンアップ

PGIバージョン(リビジョン)番号の付番ルール

 PGI 9.0 (2009年リリース)までの製品バージョンの表し方は、メジャー、マイナーおよびバグフィックスの 3 種類の数字を用いて表します。最初の 1 桁目がメジャーバージョン、2 桁目がマイナーバージョン、最後のハイフォンで続く数字がバグ・フィックス番号となります。
  一方、PGI 2010 (2010年リリース)以降は、メジャーバージョン番号リビジョン番号の表記となりました。サブスクリプション契約を行っていないお客様、あるいは、サブスクリプションの有効期限が過ぎているお客様は、その購入時点、あるいは有効期間が切れた時点でリリースされていたリビジョン・レベルまでのソフトウェアを使用することができます。 (もちろん、その下位のバージョンも利用できます。)

(例)Version 2019 の場合 (PGI 19.x という風にも表記します) 

   2019 : 総称バージョン名 
     19 : メジャーバージョン番号 
      1 : リビジョン番号 (x) 
(例)Version 9.0 以前 (例えば、表記PGI 9.0-1 の場合) 

    9.0 : 総称バージョン名 
      9 : メジャーバージョン番号 
      0 : マイナーバージョン番号
      1 : バグ・フィックス番号 

現在所有している PGI コンパイラのバージョンを調べるには、以下のコマンド・オプション(-V) を設定して実行してください。

$ pgfortran -V
pgfortran 19.1-0 LLVM 64-bit target on x86-64 Linux -tp nehalem
The Portland Group - PGI Compilers and Tools
Copyright (c) 2019, NVIDIA CORPORATION.  All rights reserved.

(2019年2月更新、2017年1月更新、2010年3月更新)  2010年にリリースしました製品は、従来のバージョン名の慣習で言いますと、PGI 10.x に相当します。このリリース以降、PGI の正式な製品の「総称バージョン名」に、「西暦年」を用いることとなりました。2010年にリリースのものは、 PGI 2010 と総称します。今後、メジャーリリースは、1 年に一度、1 月に行われるように変更され、たとえば、2019 年 1 月にリリースされるバージョンは、総称名 PGI 2019 となります。毎年 10 月までの間に、年に 6 回程度のリビジョン・アップを行います。この暦月リリースするソフトウェアを「リビジョン」と称します。その内部的なリビジョン番号の管理方法は、旧来のバージョン番号と同じ方法です。例えば、総称名 PGI 2010 は PGI 10.x に相当します。上記に示した、-V オプションで表示されるものは、この旧来のバージョン名表示が用いられます。月のリリースでは、それを表すために、ビリオド以降のリビジョン番号を付しております。例えば、 PGI 10."1" は、暦月の 1 月にリビジョン・リリースした意味となります。 PGI 10.4 は、4 月にリリースしたリビジョンと言う意味です。なお、PGI 2010 (10.x) 以降は、所有ライセンスのサブスクリプションの有効期限”日”までにリリースされた「リビジョン」までのソフトウェアを使用することができます。

Linux or OS X 版のリビジョンアップの前の共通事項の説明

【重要】 PGI 2019リリースでは、ライセンス管理ソフトウェアの FlexNet バージョンが 11.16.2 に更新されました。この新しい管理デーモンは、以前のバージョンのPGIコンパイラを動作させることができる下位互換性がありますが、以前の PGI リリースにバンドルされた FlexNet 管理デーモンをそのまま使用した場合、 PGI コンパイラ 19.x は動作しません。必ず、PGI 19.1 以降のリリースにバンドルされた FlexNet ライセンスデーモンに入れ替えてください。PGI 19.x 以降のバージョンを初めてインストールするときは、ソフトウェアのインストールだけでなく、初回のみ、FlexNet ライセンスマネージャの再セット作業も行ってください。(初回のみ、弊社お客様専用サイト内の「サブスクリプション更新後のインストールの手順・方針」で実施してください)

 PGI 2019 バージョン中のリビジョンアップの方法を説明します。PGI 2010 バージョン、すなわち、PGI 10.0 以降は、バージョン番号に "-" ハイフンがつきません。17.1、17.2、... と言う形で、新リビジョンが原則毎月リリースされます。その中で、新機能追加や、バグフィックスを繰り返します。「サブスクリプション」が有効な場合は、新リビジョンをダウンロードして使用できます。 現時点での PGI 18.x のリビジョンの実装の中に、新しいリビジョン・ソフトウェアを追加インストールしていだだくだけで、当該リビジョンのサブ・ディレクトリが新規に生成され、その配下に実装されます(過去のリビジョンへの上書きはしません)。PGI コンパイラのソフトウェアは、デフォルトでは、/opt/pgi 配下に実装されます。その配下に、各リビジョンのディレクトリが作成され、追加インストールされます。 ここでは、一例として、現在、19.1 をインストールしている状態で、新しい 19.2 をインストールする場合の方法を説明します。

 PGI 7.0 以降においては、「総称ディレクトリ(総称バージョン名)」が常に存在し、PGI 2019 の場合は、総称ディレクトリ 2019 と言うディレクトリの配下で、最も新しいリビジョンのソフトウェアの実体ディレクトリへ「シンボリック・リンク」されております。64 ビット環境の場合は、/opt/pgi/linux86-64 の配下に各メジャーバージョンの総称ディレクトリと各リビジョンの実体を含むディレクトリが配置されております。また、OS X の場合は、 /opt/pgi/osx86-64 (64bit) の配下に同じように構成されたディレクトリが存在します。以下に、ディレクトリ構成の配置を具体的に説明します。 PATH環境変数の設定に関しては、こちらをご参照下さい。

PGI 2019 のインストール実装 directory の配置 (Linux 64bit版の例)

/opt/pgi/linux86-64/2018(19.1のsymbolic linkから19.2のsymbolic linkへ変更される)
                        /19.1(今までの実装リビジョン)
                        /19.2(新規インストールリビジョン)

 以下に記すディレクトリ・パス名の記述では、PGI ソフトウェアをインストールしたディレクトリが、"/opt/pgi"であることを前提にします。PGI 6.1 以前のデフォルトの「インストール・ディレクトリ」は、"/usr/pgi でした。ご注意ください。

 インストールする前に、念のため PGI のインストール・ディレクトリ配下にある、現在の /opt/pgi/license.dat ファイル(正規ライセンスファイル)のバックアップを行って下さい。(なお、リビジョンアップ時は、license.dat ファイルの内容の更新は必要がありません)

     $ cp /opt/pgi/license.dat /opt/pgi/license.dat.back

(注意)

  1. 通常、現在の PGI インストーラは、既存の license.dat ファイル自体の上書きは行いません。
  2. 現在動作している FLEXlm ライセンスマネージャは、そのまま稼働していても問題ありません。(FLEXlm マネージャのリスタートも必要ありません)
  3. PGI 10.0 以降、インストール・スクリプト実行の途中で、'Do you wish to generate license keys or configure license service? (y/n)' 「ライセンスキーの生成をしますか?」と言う問いがありますが、新たに生成(更新)する必要がありませんので、"n" として下さい。(ライセンスキーは、サブスクリプションの有効期限内にリリースされた「リビジョン」まで使用有効となっていますので、インストールしようとするリビジョンがこの条件に合っていれば、既存の license.dat をそのまま使用できます)。

もし、過去に、サブスクリプションを更新した後で、一度も、新しい有効期限が更新されたライセンスキーを入手していない場合は、こちらをご覧の上、新ライセンスキーを入手して下さい。この場合は、license.dat を所定の場所へ設置後、FLEXlmライセンスマネージャの再起動が必要です。(/etc/init.d/lmgrd restart)

PGI 16.4 以降、license.dat の記述書式が変更されております。古いライセンスファイルでは動作しません。PGI 16.5 以降にバージョンアップする際は、当該最初のバージョンアップ時のみ、新しい license.dat を取得して、ライセンスマネージャの再起動をお願いいたします。(取得方法)

Linux 版のリビジョンアップ

 root 権限でログインしてください。インストール時のシェルの言語モードの確認を行ってください。PGI コンパイラのインストール時のみ、その端末セッションのシェルは「英語モード」である必要があります。インストールの時だけ、環境変数 LANG に以下の設定を行ってください。

sh、bash の場合 
 $ export LANG=C(または、export LANG=en_US) 
  Ubuntu の場合は、さらに、以下の設定も行う。
  $ export LC_ALL=C
csh、tcsh の場合 
 $ setenv LANG C(または、setenv LANG en_US)
  Ubuntu の場合は、さらに、以下の設定も行う。
  $ setenv LC_ALL C

(重要)PGI 12.1 以降では、Linux 上に Linux Standard Base(LSB) package の実装が必須です。PGIソフトウェアのインストール前に、必ずご確認下さい。ライセンスマネージャ FLEXlm(lmgrd) の起動時にエラーが生じる場合があります。これに関しての FAQ として、Ubuntu関連SUSE 関連RedHat関連 をご用意しております。

 最新 PGI バージョンをダウンロードしたファイルを /tmp/PGI 等のテンポラリなディレクトリ下に展開した後、install スクリプトを実行するとPGIソフトウェアをインストールする directory 名を聞いてきますので、現在インストールしている directory 名を指定してください (デフォルトは、/opt/pgi です)。

(注意) ダウンロードした tar ファイルを展開する場合は、/tmp と言った領域サイズが大きな場所に展開して下さい。root の home 領域は、クオータ等のサイズ制限がある場合がありますので、PGIの全てのファイルが展開されない場合があります。こうした場合、インストールが失敗します。

 PGI 2019 では、JAVA のコンポーネントをインストールするようにしています。これは、過去の 17.x or 18.x or 19.x のリビジョンのインストールにおいて、すでに実装されていますので、インストールする必要がありません。インストール時の最初の手続きにおいて、以下のような JAVA JRE をインストールするかどうかを尋ねてきます。これは、no としてください。(すでに実装済みですので、インストールする必要がありません。デフォルトは no となっています)

A previously installed version of JAVA JRE has been detected.
If you want to overwrite this copy with a new installation, enter yes

Overwrite the installed JAVA JRE jre1.8.0_112 ? [no] no

 インストール中に、2018 ディレクトリを更新/作成しますか?と言う問いがありますので、これは y として下さい。これを行うと、新たに 18.2 のソフトウェアが追加インストールされ、「総称ディレクトリ」 2018 配下のシンボリックリンクが、新しい 18.2 へ変更されます。

 Do you wish to update/create links in the 2019 directory? (y/n)  y
 Making symbolic links in /usr/pgi/linux86-64-llvm/2019
  Making symbolic links in /usr/pgi/linux86-64-nollvm/2019
 

 これ以降、インストール・スクリプトの実行を継続したのち、ソフトウェアの実装を終了して下さい。(注意)スクリプト実行時の「ライセンスキーの生成」に関して

 これで、最新版のソフトウェアがデフォルトで使用できます。なお、PATH 環境変数に関しては、「総称ディレクトリ(上記の例では2019)」を用いて指定している場合、修正せずに現状のままで良いです。個別リビジョン番号を用いて指定している場合は、新しいリビジョン番号に書き換えて下さい。(例:/opt/pgi/linux86-64/18.2/bin)

macOS (OS X) 版のリビジョンアップ

 ルート権限で Apple Mac にログオンしてください。ダウンロードした最新リビジョンのファイルをダブルクリックすることで、インストールが開始されます。ウイザードに従って、インストール手続きを進めることで、実装が終了します。

 macOS の Xcode 開発環境の実装に関する確認は、こちらに説明しています。PGI コンパイラにインストール開始時点で、インストールの問題が生じる場合は、再度 Xcode のバージョン等をご確認ください。。

 これで、最新リビジョン(下記の例では 19.2) を使用できます。FlexNet ライセンスマネージャの設定変更は必要ありません。ルート権限から抜けて、ユーザ・ログイン・モード上で、以下のコマンドで、実際のコンパイラのバージョンをご確認ください。

 なお、PATH 環境変数に関しては、「総称ディレクトリ(上記の例では2018)」を用いて指定している場合、修正せずに現状のままで良いです。個別リビジョン番号を用いて指定している場合は、新しいリビジョン番号に書き換えて下さい。(例:/opt/pgi/osx86-64/18.2/bin)

$ pgfortran -V
pgfortran 19.2-0 64-bit target on x86-64 Linux -tp nehalem
The Portland Group - PGI Compilers and Tools
Copyright (c) 2019, NVIDIA CORPORATION.  All rights reserved.d
 

旧リビジョン・ソフトウェアの削除方法

 Linux あるいは OS X 上では、ディスク容量を節約するために、上記の例で示した 旧 リビジョンのソフトウェアを削除することが可能です。これは、ルート権限で一般的な rm コマンドを使用して一括削除する方法で行います。但し、ディスク容量に余裕がある場合は、過去のリビジョンを残しておくことをお勧めします。何らかのトラブルが発生した場合、過去のリビジョンもコマンドオプションで指定することで、使用できます。

以下の例は、PGI 18.1 のリビジョンを削除する場合の例

$ cd /opt/pgi/linux86-64
$ ls
2018  18.1 18.2

この中で、旧 16.1 のみを削除してください。2018 は削除しないでください。
$ rm -rf 16.1

Windows版のリビジョンアップ

 まず、現在使用している FLEXlm ライセンスマネージャを停止してください。この停止方法は、こちらを参考の上、Windows 上で停止してください。次に、新ソフトウェアをダウンロードして、Windows 上で自己解凍ファイルをダブルクリックして、インストールを行ってください。

  • 【重要】Windows 版では、Windows 7, 8.1, Windows 10, Windows Server 2008 R2、Server 2012/2016/2019 にインストールする場合、Microsoft Windows SDK の事前導入と KB2999226 更新プログラムの提供が必要ですが、ビジョンアップ作業の場合は、すでに導入済みの環境かと思います。現在、実装されている Windows SDK のバージョンは、コントロールパネル「プログラムと機能」で表示し確認することができます。

PGI 16.4 以降、license.dat の記述書式が変更されております。古いライセンスファイルでは動作しません。PGI 16.4 以降にバージョンアップする際は、当該最初のバージョンアップ時のみ、新しい license.dat を取得して、ライセンスマネージャの再起動をお願いいたします。(取得方法)

リビジョンアップする際は、現行のバージョン、リビジョンのソフトウェアを必ずしも「アンインストール」する必要がありません。PCのディスク領域に余裕があるのであれば、過去のソフトウェアをそのまま存置しておくことをお勧めします。あえて、アンインストールしたい場合は、コントロールパネル中の「プログラムの追加と削除」、7/8/10 上では「プログラムと機能」で行うことができます。各リビジョン名(PGI Workstation 製品の場合は、PGI Workstation 19.x (一例)、PVF 製品の場合は、PGI Visual Fortran 19.x (Compiler only) )で、PGIソフトウェアを識別できますので、これをアンインストールしてください。現在のライセンスファイルが、サブスクリプションの有効期間内であれば、その期限より前のリビジョンは使用できます。また、新リビジョンのソフトウェアをインストールしたとしたとしても、C:\Program Files\PGI\license.dat は上書きされませんので、そのまま、ご使用いただけます。ソフトウェアのリビジョンアップの方法を順番に説明します。

  1. 「PGI License Server」を停止する。(以下を参照のこと
  2. 新リビジョンソフトウェアをインストールする。ウィザードに従い、インストール作業を進める。過去のバージョンと同じ実装場所(デフォルトは C:\Program Files\PGI) を指定する。
  3. ウィザードの後半で、'Would you like to generate license keys?’と言う問いがあるが、これは No (いいえ)として下さい。license.dat は、現在使用しているものが使用できます。これにて、インストールは終了します。

    PGI 13.2 以前は、以下のようなウイザード画面が現れる。

    gen or not

    PGI 13.3 以降は、以下のようなウイザード画面が現れる。「No,I'll do it later」を選ぶ。

    gen or not
  4. 「PGI License Server」を起動する。(以下を参照のこと

Windows上のPGI License Server 停止、起動の方法

 ライセンスを管理する FLEXlm マネージャの停止、起動を制御するには、以下の方法で行います。Windows の「コントロールパネル」を開き、「管理ツール」を起動します。管理ツールを起動した後、以下のような画面が現れますので、この中の「サービス」をクリックします。

 以下の画面は、Windows システムの「サービス」の開始、終了、再起動をコントロールするものです。この中に、「PGI License Server 」と言う名称のサービスがありますので、それをクリックして選択します。「サービスの停止」あるいは、「サービスの開始」をクリックして、停止、あるいは起動を行って下さい。