FAQ & TIPs

ここでは、お客様から寄せられたローグウェーブソフトウェア製品に関する質問の回答例を掲載しています。 対象製品を以下のカテゴリーから選択してご覧下さい。
お客様のご質問がみつからない場合は、サポートフォーム をご利用いただくか、カスタマーサポートセンター support@roguewave.com / 03-5211-7761 までお問合せ下さい。

製品カテゴリ

IMSL 数値計算ライブラリに関する FAQ

Q1: IMSL Cライブラリ v7.0 をスタティックリンク設定で Debug ビルドを行うと、libFNPload.lib に関してwarning LNK4099 が発生します。

本警告はデバッグモードでビルドされたアプリケーションの実行時のみに発生し、弊社製品機能(計算精度)には影響ございませんので、無視していただいて問題ございません。

IMSL C 7.0
Windows

Q2: IMSL C ライブラリ v7.0 を使ったアプリケーションを実行環境(Visual StudioのないPC)で実行しようとしたところ、「サイド バイ サイド構成が正しくない」「アプリケーションの初期化に失敗しました」というエラーが出て実行できません。

Microsoftダウンロードセンターより、アプリケーション開発に使用したVisual Studio/C++のバージョンに相当する再頒布可能パッケージを入手し、実行環境にインストールしてください。

IMSL C 7.0
Windows

Q3: デバッグモードで使用中に、IMSL からの計算結果(戻り値)を受ける領域をfreeするとassertion failed が発生します。リリースモードでは正常に動作しているようです。

この問題が発生する場合、freeステートメントの代わりにIMSLライブラリが提供する領域解放用関数をご利用ください。Math/Statそれぞれにご用意があります。
■ v6.0

  • Math用: imsl_free_allocated_memory (imsl.h)
  • Stat用: imsls_free_allocated_memory (imsls.h)

■ v7.0

  • Math用: imsl_free (imsl.h)
  • Stat用: imsls_free (imsls.h)

IMSL C 6.0, 7.0
Windows

Q4: 1台のPCに複数の環境向けIMSL C ライブラリ v7.0 をインストールしようとすると、2つ目がエラーでインストールできません。

まずは以下3点をご確認ください。

  1. お客様がお持ちのライセンスが本構成(複数の環境向けライブラリの同時インストール)下で許諾されていること
  2. インストールメディアの番号
  3. サポート契約の有無

有効なサポート契約をお持ちで、インストールメディアの番号がP10488のお客様は更新版メディアのご用意がございますので、お手数ですが弊社カスタマーサポートセンター(support@roguewave.com / 03-5211-7761)までご請求ください。
契約上複数の環境向けライブラリの同時インストールが許諾されないお客様はP10488をお使いいただいても製品機能上問題はございませんが、今後を考え更新版メディアとの差し替えをお勧めします。

IMSL C 7.0
Windows

Q5: imsl(s)_output を使用して標準出力をファイルに変更し、imsl(s)_write_matrix で結果を出力させると、「ハンドルされない例外が発生しました」のメッセージが出てアプリケーションが異常終了します。

以下、バージョンごとに回答がございますのでご確認下さい。

  • IMSLC6.0 ではデバッグモードで imsl(s)_output を使用できません。リリースモードのみでお使い下さい
  • IMSLC7.0 ではファイルのopen/close にユーティリティ関数 imsl(s)_fopen/fclose を使用することでご利用いただけます

なお、IMSL C7.0 にて上記ユーティリティ関数をお使いになる場合は、お客様コード内に関数宣言を追加していただく必要がございます。詳細はCMath/CStatユーザーガイドの各関数の説明・サンプルプログラム(それぞれ12章/15章)をご参照ください。

IMSL C 6.0, 7.0
Windows

Q6: 複数(同一プログラミング言語用の異なるバージョン・異なるビット数版等)のIMSLライブラリを1台のマシン上に導入し、使い分けることができますか?

共存は可能ですが、事前に以下をご確認ください。

  • お客様のご契約が共存構成での利用を許諾されたものであることをご確認ください。ご不明な場合はライセンス番号を添えて弊社カスタマーサポートセンター(support@roguewave.com / 03-5211-7761)までお問い合わせください
  • 実行時に正しいライブラリを参照するよう、各IMSLライブラリを使用するたびに環境変数を設定する必要があります。アプリケーション実行時にバッチファイルやシェルスクリプトを利用して環境変数 Path (Windows)/ LD_LIBRARY_PATH (Linux)の設定を行ってください
  • インストールディレクトリは原則自由にお選びいただけますが、以下製品に関しては注意が必要です - IMSL C# ライブラリの同一バージョンの 32bit/64bit 版を共存させる場合は別ディレクトリにインストールしてください - IMSL Fortran ライブラリ 5.0 以前/C ライブラリ 5.5 以前の場合は個別対応が必要ですので、弊社カスタマーサポートセンターまでお問い合わせください
  • ライセンス管理モジュール FLEXnet のバージョン管理の観点から、お手持ちの製品は古いものから順にインストールされることをお勧めします

IMSL 全製品
全環境

Q7: IMSLライブラリは無償版のVisual Studio Expressエディションでも使えますか?

一部 Visual Studio Express エディションの機能による制限がございますが、その他に弊社では製品機能を損なう重大な問題は確認しておりません。ただし、弊社でリリーステストを行った環境は Professional エディションであるため、弊社からは有償版であるProfessionalエディション以上のご利用を推奨させていただきます。
詳細はこちらの資料をご確認ください。

IMSL C/C#
Windows

Q8: IMSLライブラリは並列計算をサポートしていますか?

全てのIMSLルーチン/関数/クラスで可能というわけではございませんが、製品ごとの対応状況をお知らせします。
詳細情報やご利用いただく上での設定に関しては各製品に添付のReadmeやマニュアル、および弊社作成の日本語版インストールガイド等をご参照ください。

  • IMSL Fortranライブラリは以下の条件にて並列計算をサポートします - バージョン5.0/6.0においては、お手持ちのIMSLライブラリがOpenMPをサポートするコンパイラに対応している場合、ベンダーライブラリのご利用に関係なくOpenMPによる並列化が可能です - ほとんどの製品にMPI対応メソッドを同梱しておりますので、お使いの環境のMPIライブラリがお手持ちのIMSLライブラリでサポートされている限りMPI並列化も可能です - ベンダーライブラリとともにご利用の場合、バージョンに関係なくベンダーライブラリが対応する範囲でOpenMPによる並列化が可能です。
  • IMSLCライブラリは以下の条件にて並列計算をサポートします - バージョン7.0においては、お手持ちのIMSLライブラリがOpenMPをサポートするコンパイラに対応している場合、ベンダーライブラリのご利用に関係なくOpenMPによる並列化が可能です - ベンダーライブラリとともにご利用の場合、バージョンに関係なくベンダーライブラリが対応する範囲でOpenMPによる並列化が可能です。
  • IMSL C#ライブラリは以下の条件にて並列計算をサポートします - バージョン6.5/.NET Framework 4用はTask Parallel Libraryによる並列化が可能です。ただしベンダーライブラリとの同時使用はできません - バージョン5.0以降でベンダーライブラリとともにご利用の場合、ベンダーライブラリが対応する範囲で並列計算をサポートします。
  • JMSLライブラリは並列計算をサポートしていません。

IMSL 全製品
全環境

Q9: IMSL C#ライブラリ 6.5 での並列化対応状況を教えてください。

IMSL C#ライブラリ 6.5 では下記2つの並列化をサポートしていますが、同時にはご利用いただけません。お客様プログラムのパフォーマンスはもちろん、メンテナンスや実行環境への展開等幅広い視点から、どちらをお使いいただくかご検討ください。

  • .NET Framework 4 Task Parallel Library (TPL): .NET Framework 4用パッケージに含まれるImslCS.dllを参照することで利用可能です。
  • Intel Math Kernel Library (MKL): 全てのパッケージに含まれるImslCS_mkl.dllを参照することで利用可能です。

なお、TPL対応のクラス/メソッドは製品同梱のReadmeファイルにてご確認いただけます。

IMSL C# 6.5
Windows

Q10: 使用している製品の情報(サポート環境・新機能・変更点・制限事項等)はどこで確認できますか?

CD-ROM/DVDメディアからインストールされた場合、次のファイルでご確認いただけます。

■ UNIX/Linux
/imsl///notes/readme.
■ Windows
\imsl\\\notes\readme.

ここで、
:製品名(CNLまたはFNL)
:製品のバージョン(通常700等3桁の数字)
:製品のアーキテクチャ名(OS、コンパイラ等の識別するための記載)

なお、同ファイルに記載された情報は開発ライセンス許諾下(=アプリケーション開発を行う場合)の情報です。ランタイムライセンス許諾下(=別の環境で開発されたアプリケーションの実行のみを行う場合)も原則として開発環境に準じますが、より詳しい情報をご希望の方は弊社カスタマーサポートセンター ( support@roguewave.com / 03-5211-7761) までお問い合わせください。
IMSL C 6.0, 7.0
IMSL Fortran
6.0, 7.0
Windows

Q11: Intel MKLを導入済みの環境でIMSLを利用する際に注意すべきことは何ですか?

Intel MKL対応のIMSLライブラリは製品同梱(非同梱の場合は指定)のIntel MKLとの組み合わせでのみ動作を保証させていただいておりますため、弊社からは以下を推奨させていただきます。

  • すでにIntel MKLを利用するアプリケーションが存在する環境に別途IMSLおよびIMSLを組み込むアプリケーションを導入される場合 アプリケーション実行時に双方が対応/要求するMKLを正しく参照するよう、シェルスクリプト等で下記環境変数を設定してください。 -Windowsの場合: Path -Linuxの場合: LD_LIBRARY_PATH
  • すでにIntel MKLを組み込んだアプリケーションにIMSLを追加で組み込む場合 お客様の状況をご考慮いただき、以下いずれかをご選択ください。 - IMSLライブラリはIntel MKLを利用しない設定でインストール・利用 - お客様アプリケーションもIMSLライブラリがサポートするバージョンのIntel MKLを利用するよう更新されることを前提に、IMSLライブラリをIntel MKLを利用する設定でインストール・利用
詳細はこちらの資料でご確認いただけます。
MKL使用の全製品
全環境

Q12: ライセンスマネージャー付きのIMSLライブラリをインストールしましたが、ライセンス環境(<IMSLdir>/license以下)がインストールされていません。

インストールメニューの中のInstall Online Documentation ONLY (deselects all other modules) を選択した時にこの現象が発生することがあります。

この場合はインストールした環境を一旦削除し Install Online Documentation ONLY (deselects all other modules) を選択しないようにして再インストールを行って下さい。

IMSL C、Fortran
Linux、Unix

Q13: JMSLを利用したアプリケーションを作成する際、参照すべきJARファイルはどれですか?

JMSLインストール先のlibディレクトリ下にある6つのJARファイルのうち、JMSLの機能のご利用範囲に合わせて以下の3つから1つだけ選択してください。

  • Math, Stat, Chartの全てをご利用: jmsl.jar
  • Math, Statの両方またはいずれかのみをご利用: jmslnumerics.jar
  • Chart機能のみご利用: jmslchart.jar
なお、通常は全機能を含むjmsl.jarを選択いただいて問題ございませんが、配布時の容量をなるべく削減したい等のご事情のある場合はサブセットであるjmslnumerics.jarやjmslchart.jarのご利用もご検討ください。
JMLS全バージョン
全環境

Q14: Intel MKL対応版のIMSL C ライブラリ7.0を使う際に気をつけることはありますか?

お使いの環境上でのIntel MKLのバッティングがないことを確認された上で、以下をお勧めします。

  • インストール時の標準設定は「MKLなし」ですので、「MKLあり」の製品を選択の上インストールを行ってください
  • お客様アプリケーションをIntel MKL非利用時/利用時で比較いただき、パフォーマンスのみでなく展開やメンテナンスを考慮して総合的に採否をご判断ください
  • マルチコア対応ハードウェアを最大限に活用するため、アプリケーションはダイナミックリンクで作成されることをお勧めします
  • 事情によりスタティックリンクをご利用になる場合、以下にご注意ください
    • マルチコア環境下でも1コアのみでの実行になります
    • 環境による挙動の差異をなくすため、実行時に環境変数OMP_NUM_THREADSが1に設定されるようにしてください
IMSL C 7.0
Windows

Q15: ローグウェーブ ソフトウェア製品は仮想環境上で利用できますか?

弊社では製品の機能を損なう重大な不具合は確認しておりませんが、仮想環境は弊社の品質確認テストの対象ではございませんので、ベストエフォートでの対応(※)とさせていただいております。お客様ご自身でのご評価の後、ご利用可否のご判断をお願いいたします。

※仮想環境上での弊社製品の挙動に関するお問い合わせをいただいた場合、弊社では該当製品がサポートされる物理環境(OS・CPU・コンパイラの組み合わせおよび環境構成)上で検証いたします

なお、大変お手数ではございますが、仮想環境でのご利用を希望される場合は、事前に弊社営業部(support@roguewave.com / 03-5211-7760)までご一報をお願いいたします。

全製品
全環境

Q16: Visual Studio 2005用IMSL C ライブラリ v6.0を使い、Visual Studio上でデバッグモードでビルド・実行を行うと、R6034エラーが発生し正しく実行できません。なお、コマンドラインおよびVisual Studio上でもリリースモードでは正常に動作します。

インストールCDの番号をご確認いただき、P10312の場合はIMSLライブラリ(DLLファイル)のアップデートをお願いします。

■ アップデート用ファイルをこちらからダウンロード・解凍の上、生成された4つのDLLファイルで元のファイルを上書きしてください。標準インストールでは以下になります。
C:\Program Files\VNI\imsl\cnl600\vs05pc\lib

■ 本件には修正版インストールCDが用意されています。有効なサポート契約をお持ちで、本CDを未入手のお客様は弊社カスタマーサポートセンター(support@roguewave.com / 03-5211-7761)までご請求ください

IMSL C 6.0
Windows

Q17: IMSLライブラリをデフォルト設定(C:\Program Files\VNI)のままインストールすると、ディレクトリの作成やファイルコピーに失敗しインストールすることができません。

インストールを行うユーザーアカウントの権限に関わらず、インストーラを右クリックメニュー「管理者として実行」にて実行してください。

全製品
Windows Vista以降

Q18: 64bit版のIMSLライブラリをインストールしようとすると、デフォルトディレクトリが C:\Program Files (x86)\VNI になります。

弊社製品の構成上、本現象は仕様となります。
64bit Windows 環境上では C:\Program Files ディレクトリ下ではなく、C:\Program Files (x86) ディレクトリ下もしくは C:\Windows 等システムディレクトリ以外の任意のディレクトリとなるようにご選択ください。

64bit版全製品
Windows x64

Q19: 64bit の .NET Framework 4 に対応した IMSL C# 6.5 ライブラリを組み込んだアプリケーションを実行環境(Visual StudioやIMSL C#ライブラリをインストールしていないPC)に展開し実行しようとすると System.TypeInitializationException が発生します。

IMSL C#ライブラリを組み込んだアプリケーションを展開される際に、お客様アプリケーションに通常同梱いただくファイル(IMSL C#ライブラリ本体のDLL、ライセンス管理モジュール)に加えて、Microsoft Visual C++ 2010 再頒布可能パッケージ (x64) の展開・導入をお願いします。

IMSL C# 6.5
Windows x64

Q20: IMSL C# ライブラリバージョン 6.5 へのバージョンアップに伴いアプリケーションを .NET Framework 4 対応に書き換えましたが、TPL 対応となっているクラス/メソッドを使っているのに並列処理されていないように感じます。

TPL 対応のクラス/メソッドは基本的にその時点で利用可能なコアを全て使うよう作成されておりますが、Imsl.Math.Matrix.Multiply() メソッドのように一部には利用するコア数を明示的に指定するインタフェースが追加されているものがございます。この場合、従来のインタフェースをご利用になると1コアのみによる処理となるため、並列化の効果が現れません。

並列化の効果があまり感じられない場合は、API Documentation を参考に、適切なインタフェースを適切なパラメータでご利用いただいているかの確認をお願いいたします。

IMSL C# 6.5
Windows

Q21: .NET Framework 4 32bit 対応版の IMSL C# ライブラリ 6.5 を使って Visual Studio 2010 上でアプリケーションをデバッグ実行すると PInvokeStackImbalance が検出されます。

ご心配をおかけして申し訳ございません。本件は弊社でも認識しており、ライセンス管理機構(アンマネージドモジュールであるLicenseFlexLM.dll)へのアクセス時に一度だけ発生します。

弊社のテストでは現状でも動作・計算結果とも特に問題を確認しておりませんこと、また通常(デバッグなし)での実行時には発生いたしませんので、このままお使いいただけますようご案内差し上げます。

本件に関してさらにご質問がございましたら、お手数ですが弊社カスタマーサポートセンター (support@roguewave.com / 03-5211-7761) までご連絡をお願いします。

IMSL C# 6.5
Windows

Q22: .NET Framework 2.0/3.5 64bit 用 IMSL C# ライブラリ 6.5 をインストールした後に .NET Framework 4 64bit 用をインストールしようとしたところ、インストーラがエラーで終了します。

お客様がお持ちのライセンスが本構成(異なるバージョンの .NET Framework 向けライブラリの同時インストール)下で許諾されていることをご確認いただいた上で、弊社カスタマーサポートセンター (support@roguewave.com / 03-5211-7761) までご連絡いただきますようお願いいたします。

IMSL C# 6.5
Windows

Q23: IMSLライブラリのアンインストール方法を教えてください。

製品にはアンインストーラをご用意しておりませんが、Windowsの標準機能を利用してアンインストールしていただけます。

  • Windows XP: コントロールパネル > プログラムの追加と削除
  • Windows Vista以降: コントロールパネル > プログラムと機能
なお、製品のアンインストールにおいては以下にご注意ください。
  • ライセンスマネージャを実行している場合は事前に停止してください。今後弊社製品をお使いにならない場合は、ライセンスマネージャの設定も削除してください。手順の詳細はこちらの資料でご確認いただけます
  • 念のためこれまでお使いのライセンスファイルをバックアップしてください
  • アンインストール後にディレクトリが残ることがありますが、上記手順にてアンインストール後はWindowsエクスプローラ上で手動削除いただいて結構です。その際は他の弊社製品やライセンスファイルの要否を十分ご確認ください
全製品
Windows

Q24: IMSLライブラリのスレッドセーフ対応について教えてください。

以下をご参照下さい。

  • IMSL Fortranライブラリ: Math/Statともスレッドセーフです。
  • IMSL Cライブラリ: Math/Statともスレッドセーフです。
  • IMSL C#ライブラリ:
    • Staticメソッドとして実装されているものはスレッドセーフです。
    • インスタンスメソッドとして実装されているものはスレッドセーフが保証されていません。
    • お客様プログラムを .NET Framework 4 TPL にてマルチスレッド化して各スレッドが自身専用のインスタンスを生成するケースはサポートされますが、その場合は必ず TPL 対応版(ImslCS.dll)をお使いください。
  • JMSLライブラリ: スレッドセーフが保証されていません。
全製品
全環境

Q25: IMSL C#ライブラリを組み込んだ.NETアプリケーションを作成しますが、Visual Studio上での「ソリューションプラットフォーム」は何を選択すれば良いですか?

IMSL C#ライブラリは32bit環境および64bit環境それぞれ向けにご用意がございますので、Visual Studio上では「Any CPU」ではなく、明示的に以下のいずれかをお選び下さい。

  • x86(Win32およびWOW64上での実行)
  • x64(Win64上での実行)
IMSL C#
Windows

Q26: IMSL Fortran 7.0/C 8.0からNVIDIA CUDAを利用する際に注意すべきことは何ですか?

製品の構成上、以下のようにお使いください。

  • NVIDIAドライバはそれぞれの製品が対応するCUDAバージョンのものを導入ください
    • Fortran 7.0: CUDA3.1用(Windowsは257.21、Linuxは256.40)
    • C 8.0: CUDA4.0用(Windowsは270.81、Linuxは270.41.19)
  • お客様プログラム部分を NVIDIA CUDA 対応とされない場合は Toolkit および GPU Computing SDK の導入は必須ではありませんが、CUDA そのものの正常動作確認のため、導入をお勧めします
上記のように環境を構築いただくと、LINK_FNL_NVIDIA(Fortran 7.0) またはLINK_CNL_CUDA (C 8.0) リンクオプションのご指定でIMSLライブラリからNVIDIA CUDAに含まれるBLASを利用できます。 なお、対応ルーチンおよび詳細情報はユーザーガイドにてご確認いただけます。
IMSL Fortran7.0
IMSL C8.0
NVIDIA対応環境

Q27: IMSLの環境変数を設定するためにシェルスクリプト cnlsetup.sh または fnlsetup.sh を実行すると、そのスクリプトを実行したターミナルウィンドウが終了します。

お使いのコンパイラ用の環境変数が正しく設定されていない時に、この現象が発生することがあります。開発環境ではコンパイラのインストールおよびコンパイラ用の環境変数を設定してから、IMSLのインストール/環境変数設定を行って下さい。

ランタイム環境などコンパイラが導入されない環境の場合は、該当環境では必要のない環境変数設定部分の削除をお願いいたします。

具体的には、< IMSLdir>/imsl/< Product>< Ver>/< arch>/< arch>.sh ファイルの先頭にある、環境変数 $MKLROOT および $PGI を設定する if 文のコメントアウトをお願いします。
<IMSLdir> : IMSLインストールディレクトリ
<Product> : CNL または FNL
<Ver> : バージョン
<arch> : 製品種別略称
IMSL C、Fortran
Linux

Q28: JMSLを利用したアプリケーションをビルド・実行する際に、あるはずのクラス・メソッドに対してjava.lang.NoSuchMethodError例外が発生し実行できません。

参照しているJMSLライブラリ(JARファイル)が、用途に応じて以下のうち1つだけであることをご確認ください。

  • JMSLの全機能をご利用: jmsl.jar
  • 数値計算・統計解析機能のみご利用: jmslnumerics.jar
  • Chart機能のみご利用: jmslchart.jar
JMSL全バージョン
全環境

Q29: IMSL Cライブラリをバージョンアップした後に、以前のバージョンで開発したソースをリコンパイルすると、"IMSL_"または"IMSLS_"で始まる変数で「変数名が定義されていない」といったコンパイルエラーが出ます。

IMSL Cライブラリはバージョンアップ時のコードの変更によって、そのバージョンで発生しなくなったエラー変数名の定義をインクルードファイルから取り除いているため、取り除いたエラー変数名をプログラム中で使用している時、このエラーが発生します。 この場合は該当するインクルードファイルの2行目に、以下のコードを挿入して下さい。

エラー変数名=任意の整数
例:  IMSLS_NORMAL_UNDERFLOW = 0,

インクルードファイルは以下の場所にあります。

  • UNIX/Linux:<installdir>/imsl/CNL<Ver>/<arch>/include
  • Windows:<installdir>¥imsl¥CNL <Ver>¥<arch>¥include
ここで
<installdir>: 製品のインストールディレクトリ
<Ver>: 製品のバージョン(通常850等3桁の数字)
<arch>: 製品のアーキテクチャ名(OS、コンパイラ等の識別するための記載)
例:Ver. 8.5, Windows, Visual Studio 2010用32bit版の場合
C:¥Program files¥VNI¥imsl¥cnl850¥winms100i32¥include

修正するインクルードファイルは次のとおりです。

  • 変数名が"IMSL_"で始まる場合: imslerr.h
  • 変数名が"IMSLS_"で始まる場合: imsls_e.h
IMSL C
全環境

Back to top