NAG Library, Mark 30.1, Multithreaded
NSL6I301BL - Licence Managed
Linux, 64-bit, Intel Classic C/C++ or Intel Classic Fortran

インストールノート内容
1 はじめに................................................................................................................................................ 22 ライブラリの詳細............................................................................................................................. 22.1 動作環境 ....................................................................................................................................... 2
2.2 開発環境とテスト環境 ........................................................................................................... 22.3 追加情報 ....................................................................................................................................... 33 配布 ......................................................................................................................................................... 33.1 内容 ................................................................................................................................................. 34 インストール ...................................................................................................................................... 5
4.1 ライブラリソフトウェアのインストール..................................................................... 54.2 追加情報 ....................................................................................................................................... 85 サポート................................................................................................................................................ 96 コンタクト情報 ................................................................................................................................. 9

1 はじめにこの文書は、タイトルに記載されている NAG ライブラリのインストールに関する実装固有の情報を提供します。
このソフトウェアをインストールすることで、NAG の利用規約に同意したことになります。
これらの利用規約は予告なく変更される可能性があることにご注意ください。NAG ソフトウェアライセンス条項および改訂の詳細は、NAG 利用規約でご確認いただけます。

2 ライブラリの詳細
2.1 動作環境
この実装は、コンパイル済み、テスト済み、すぐに使用可能な NAG ライブラリのバージョン
で、以下のコンピューターシステムでの操作に適していると考えられています：
ハードウェア：Intel 64 システムおよび互換機（AMD64 を含む）
オペレーティングシステム：Linux 4.11.12-100.fc24.x86_64（GNU C ライブラリ（libc）2.23）および互換性のあるもの[注：GCC 5.1.0 以降の libstdc++が必要]
Fortran コンパイラ：Intel Classic Fortran コンパイラ
バージョン 2021.4.0 および互換性のあるもの
C コンパイラ：Intel Classic C コンパイラ
バージョン 2021.4.0 および互換性のあるもの
OpenMP ランタイム： Intel OpenMP ライブラリ、libiomp5 および互換性のあるもの
ベンダーライブラリ：Intel MKL バージョン 2021.0.4 および互換性のあるもの

NAG AD ライブラリはこの実装には含まれていません。
この実装で使用される C 言語の Integer 型と Pointer 型の定義とサイズは、ユーザーノートのセクション 3.5 に記載されています。
2.2 開発環境とテスト環境
この実装は、NAG Ltd.（オックスフォード）で以下のコンピューティングシステムを使用して製作されました：
ハードウェア：Intel(R) Xeon(R) Gold 6148
オペレーティングシステム：Linux 4.11.12-100.fc24.x86_64（Fedora 24（Workstation Edition））
GNU C ライブラリ（libc）2.23 およびGNU C++ライブラリ（libstdc++）3.4.22 を使用
Fortran コンパイラ：Intel Classic Fortran コンパイラ
バージョン 2021.4.0 ビルド 20210910_000000
C コンパイラ：Intel Classic C コンパイラ
バージョン 2021.4.0 ビルド 20210910_000000
OpenMP ランタイム： Intel OpenMP ライブラリ、libiomp5
ベンダーライブラリ：Intel MKL バージョン 2021.0.4

Fortran コンパイラオプション： -O3 -axCORE-AVX2,AVX -no-fma -fp-model precise-fp-speculation=safe -auto -fPIC -threads-fexceptions -qopenmp（64 ビット整数の場合は-i8 を追加）
C コンパイラオプション：-O3 -axCORE-AVX2,AVX -no-fma -fp-model precise-fp-speculation=safe -fPIC -m64 -fexceptions-qopenmp

この実装には、32 ビット整数（lp64 で表記）と 64 ビット整数（ilp64 で表記）の両方で使用するためのライブラリ（および関連ファイル）が含まれています。
上記のフラグは、数値結果の一貫性を優先するために、パフォーマンス最適化の観点から保守的に選択されました。ただし、NAG ライブラリの主要な計算カーネルは、より高度な最適化レベルでコンパイルおよびテストされています。
この実装がテストされた他のシステムの詳細については、補足情報ページをご覧ください。
MKL に関する詳細情報については、Intel のウェブサイト
（https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.
html）をご覧ください。
2.3 追加情報
この実装の適用性や使用方法に関する新しい情報の詳細については、以下の URL をご確認ください：https://support.nag.com/doc/inun/ns30/l6i1bl/supplementary.html
また、テストされた他のシステムの詳細もこのページでご確認いただけます。

3 配布
このソフトウェアは、NAG のウェブサイト（連絡先詳細はセクション 6 を参照）からダウンロードできます。
3.1 内容以下は、インストール後の実装資料のディレクトリとファイル構成を示しています。
nsl6i301bl ─┬─ doc ─────────┬─ in.html（インストーラーノート - この文書）│├─ un.html（ユーザーノート）|├─ styles ─ *（CSS と JavaScript サポートファイル）│├─ nag_tsandcs.txt（NAG ソフトウェアライセンス利用規約）│└─ alt_c_interfaces.html （C/C++から FL インターフェースを呼び出し）│├─ lp64 ────────┐（32 ビット整数ライブラリ用ファイル）│││├─ lib ─────┬─ libnag_nag.a（NAG BLAS/LAPACK を含む│││
静的自己完結型ライブラリ）││├─ libnag_nag.so.30.1（NAG BLAS/LAPACK を含む│││共有自己完結型ライブラリ）││├─ libnag_nag.so（libnag_nag.so.30.1 を│││指すシンボリックリンク）││├─ libnag_mkl.a（MKL BLAS/LAPACK を│││必要とする静的ライブラリ）││├─ libnag_mkl.so.30.1（MKL BLAS/LAPACK を│││必要とする共有ライブラリ）││└─ libnag_mkl.so（libnag_mkl.so.30.1 を││指すシンボリックリンク）│││├─ include ─ *.h（NAG ライブラリルーチン用 C インクルードファイル）│││└─ nag_interface_blocks ─ * （NAG ライブラリルーチン用│Fortran インターフェースブロック）│├─ ilp64 ───────┐（64 ビット整数ライブラリ用ファイル）│││├─ lib ─────┬─ libnag_nag.a（NAG BLAS/LAPACK を含む│││
静的自己完結型ライブラリ）││├─ libnag_nag.so.30.1（NAG BLAS/LAPACK を含む│││
共有自己完結型ライブラリ）││├─ libnag_nag.so（libnag_nag.so.30.1 を│││指すシンボリックリンク）││├─ libnag_mkl.a（MKL BLAS/LAPACK を│││必要とする静的ライブラリ）││├─ libnag_mkl.so.30.1（MKL BLAS/LAPACK を│││必要とする共有ライブラリ）││└─ libnag_mkl.so（libnag_mkl.so.30.1 を││指すシンボリックリンク）│││├─ include ─ *.h（NAG ライブラリルーチン用 C インクルードファイル）│││└─ nag_interface_blocks ─ * （NAG ライブラリルーチン用│
Fortran インターフェースブロック）│├─ c_examples ──┬─ source ──── *.c（CL インターフェース用サンプルプログラム）│││├─ data ────┬─ *.d││└─ *.opt│││└─ results ─── *.r│├─ f_examples ──┬─ source ──── *.f90（FL インターフェースサンプルプログラム）│││├─ data ────┬─ *.d││└─ *.opt│││└─ results ─── *.r│├─ c_headers ───┬─ c_examples ─── *.c（FL インターフェースルーチン用││
代替 C インターフェースの│├─ cpp_examples ─ *.cpp サンプルプログラム（一部））│││└─ data ───────── *.d│├─ scripts ─────┬─ nag_example（NAG サンプルプログラムをコンパイルし││実行するスクリプト）│││├─ nagvars.{sh,csh}（NAG ライブラリの場所などを設定する││
環境変数スクリプト）│││└─ nag_recompile_mods（Fortran インターフェースブロックを│再コンパイルするスクリプト）│├─ mkl ─────────── * （Intel 数学カーネルライブラリ）│├─ rtl ─────────── * （Intel コンパイラランタイムライブラリ）│└─ license ─────┬─ bin ─ * （サポートされているプラットフォーム用の│ライセンス管理バイナリのディレクトリ）├─ README.txt│└─ doc ─ * （ライセンス管理ドキュメント）以下は、ライブラリマニュアル資料の構成を示しています。
nagdoc_30.1 ─┬─ index.html│├─ nlhtml（NAG ライブラリの一般的なドキュメント）├─ flhtml（FL インターフェースのドキュメント）├─ clhtml（CL インターフェースのドキュメント）├─ adhtml（AD ライブラリのドキュメント）│├─ figures （図）│├─ styles（ドキュメントで使用される CSS と JavaScript）│└─ examples ─┬─ baseresults （サンプル結果の HTML 表示）├─ source（サンプルソースの HTML 表示）└─ data（サンプルデータファイルの HTML 表示）

ソフトウェアの詳細は、ユーザーノート（un.html）に記載されています。

4 インストール
4.1 ライブラリソフトウェアのインストール
NAG のウェブサイトから tar gzip ファイル（nsl6i301bl.tgz）としてライブラリ資料をダウンロードしたと仮定します。ファイルが保存されているディレクトリに移動し、以下のコマンドを使用してインストール資料を展開します：

tar xvzf nsl6i301bl.tgz

これにより、install.sh、ns30.tgz、nag_tsandcs.txt、in.html、un.html の各ファイルとstyles ディレクトリが展開されます。
次に、コマンドウィンドウで以下のようにシェルスクリプト install.sh を実行することで、ダウンロードディレクトリから資料をインストールできます：./install.sh

デフォルトでは、資料は$HOME/NAG/の下にインストールされます。$HOME ディレクトリが存在しない場合は、/opt/NAG/の下にインストールされます。ただし、別の場所を選択することもできます。この文書では、$HOME/NAG/nsl6i301bl または/opt/NAG/nsl6i301bl ディレクトリを[INSTALL_DIR]と呼びます。この表記はユーザーノートでも使用されています。
ライブラリマニュアルは、NAG のウェブサイト（https://support.nag.com/numeric/nl/nagdoc_30.1/）から閲覧するか、オフライン使用のために https://support.nag.com/numeric/nl/nagdoc_30.1/nagdoc_30.1.zip からダウンロードできます。
4.1.1 サイレントインストール
install.sh を無人またはサイレントモードで実行することも可能です。インストーラーはこの目的のためにコマンドラインスイッチを受け付けます：•-silent サイレントインストールを実行することを意味します。この場合、-accept と-installdir スイッチも使用する必要があります。

•-accept NAG のライセンス契約に同意することを意味します。

•-installdir=DIR ライブラリがディレクトリ DIR の下にインストールされることを意味します。
4.1.2 ライセンス管理
この製品の使用は、Kusari ライセンス管理システムによって制御されています。このライブ
ラリのリリースでは、Kusari のバージョン 2.2-88 を使用しています。
【ライセンスキー申請方法】 ライセンスキーをリクエストするには、ソフトウェア配布のlicense/bin/linux_x64 サブディレクトリにある khostid プログラムを実行します。このユー
ティリティはコマンドプロンプトから実行する必要があります。表示された情報を、製品コード（この場合は NSL6I301BL）をもってライセンスキーの申請を以下のウェブページから行ってください。
https://www.nag-j.co.jp/kusari/userReg/
申請の際に、上述のコマンドで得たマシン固有情報 KUSARI ID をご記入いただきます。

例）
KUSARI ID = "kbitVgaAcoibD6gbRoAZogpkLpcVId"

申請後、通常２営業日程度で以下のような一行または複数行のライセンスキー（テキスト形式）を、ご記入の電子メールアドレスにお送り致します。
NSL6I301B FULL "EMnxidA3oeoj0F1Yvi5ibxPjB7"

短期（デモンストレーションまたは試用）ライセンスキーには、以下のような 1 行以上の行が含まれています：<PRODUCT_CODE> TRIAL <EXPIRY_DATE> "EMnxidA3oeoj0F1Yvi5ibxPjB7"

具体的には、TRIAL という単語を含む行があります。長期ライセンスキーは特定のコンピュータにロックする必要があります。つまり、1 台のコンピュータでのみソフトウェアを有効にします。これらのライセンスキーには、通常、上記の TRIAL の代わりに NODE または FULL という単語が含まれており、追加のフィールドが含まれる場合があります。
上記のライセンスキーのいずれかを取得したら、最も簡単な方法は、テキストをファイルに保存することです。
$HOME/nag.key

または/opt/NAG/nag.key

または/usr/local/NAG/nag.key

この実装のライセンスソフトウェアは、これらの特定のファイルを自動的に探し、最初に見つかったものを読み取るため、それ以上のアクションは必要ありません。
あるいは、ライセンスを任意の名前と場所のファイルに保存することもできます。例えば、[INSTALL_DIR]/licence.lic

ライセンスファイルの場所が上記のデフォルトの場所のいずれでもない場合は、NAG アプリ
ケーションを呼び出す前に、環境変数 NAG_KUSARI_FILE をファイルの完全なパス名に設定することで、その場所を NAG アプリケーションに知らせる必要があります。
例えば、C シェルでは以下のように入力します：
setenv NAG_KUSARI_FILE [INSTALL_DIR]/licence.lic

または Bourne シェルでは以下のように入力します：
NAG_KUSARI_FILE=[INSTALL_DIR]/licence.lic
export NAG_KUSARI_FILE

Kusari とその設定方法（例えば、ライセンスキーをサーバーにインストールする方法）の詳
細については、ソフトウェア配布の license/doc/サブディレクトリにある Kusari ライセンス管理ドキュメントに含まれています。Kusari よくある質問も参照してください。
4.1.2.1 ライセンスのテスト
a00acc または a00acf のサンプルプログラムを使用して、ライセンスが正しくインストールされているかどうかを確認できます。
4.1.2.2 ライセンス問題のトラブルシューティング
klcheck プログラムを使用して、有効なライセンスファイルが利用可能かどうかを確認できます。NAG ライブラリを呼び出す環境からターミナルウィンドウで、以下を実行します：[INSTALL_DIR]/license/bin/linux_x64/klcheck NSL6I30XB

これにより、様々な特別な場所でライセンスが確認され、NAG_KUSARI_FILE 環境変数で指定されたファイルやライセンスサーバーからもチェックされ、いくつかの診断情報が表示されます。
有効なライセンスが見つかった場合、どこでライセンスが見つかったかが表示されます。有効なライセンスが見つからない場合は、エラーメッセージが表示されます。
4.2 追加情報
4.2.1 インストールの確認
ライブラリ資料へのアクセスは、ユーザーノートのセクション 3.1 に記載されているアドバイスに従って、いくつかのサンプルプログラムを実行することで確認できます。適切なサンプルとしては、d01rkf、e04uca、f07adf、d01rjc、f07adc、g05sjc があります。また、
nag_example スクリプトを使用してインストールをテストすることもできます（ユーザーノートのセクション 3.3 を参照）。

5 サポート
製品のご利用に関してご質問等がございましたら、電子メールにて「日本 NAG ヘルプデスク」までお問い合わせください。その際、ご利用の製品の製品コード（******）並びに、お客様のUser ID をご明記いただきますようお願い致します。
ご返答は平日 9：30～12:00、13:00～17:30 に行わせていただきます。
日本 NAG ヘルプデスク
Email: naghelp@nag-j.co.jp

6 コンタクト情報
日本ニューメリカルアルゴリズムズグループ株式会社（日本 NAG）
〒104-0032
東京都中央区八丁堀 4-9-9 八丁堀フロンティアビル 2F
Email: sales@nag-j.co.jp
Tel: 03-5542-6311
Fax: 03-5542-6312
NAG のウェブサイトでは製品およびサービスに関する情報を定期的に更新しています。
https://www.nag-j.co.jp/ （日本）
https://nag.com/ （英国本社）