数理最適化セミナーのご案内

7.2 外部CLAPACK(CBLAS)の使用方法

 本節では,外部CLAPACK(CBLAS)をNuorium Optimizerライブラリへリンクする方法について説明をします.基本的な設定方法はコンパイラのバージョンが異なっても同じであるため,ここではMicrosoft Visual Studio 2017を例にします.

 

 まずは,「7.1 Microsoft Visual Studioプロジェクトの設定」を行い,正しくソリューションがビルドできることを確認してください.

 

 次に,Nuorium Optimizerのライブラリを外部CLAPACKとリンクするためのものに変更します.具体的には,プロジェクト→プロパティ→構成プロパティから,「構成プロパティ」→「リンカー」→「入力」と選択し,ウインドウ内にある「追加の依存ファイル」の

libnuopt_MT_m.lib;psapi.lib;ws2_32.lib;bcrypt.lib;%(AdditionalDependencies)

を次のように変更します.

libnuopt_MT_nolapack.lib;psapi.lib;ws2_32.lib;bcrypt.lib;%(AdditionalDependencies)

 この後,ソリューションのビルドを行うと,以下のようなエラーメッセージが出力され正しくビルドが完了しません.これは外部CLAPACK(CBLAS)の関数のリンクに失敗しているためです.そのため,以下で外部CLAPACK(CBLAS)ライブラリの設定を行います.

1>libnuopt_MT_nolapack.lib(nptOut.obj) : error LNK2019: 未解決の外部シンボル mkl_get_version_string が関数 "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl getMKLVersion(void)" (?getMKLVersion@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ) で参照されました。
1>C:\app\x64\Release\loadmodule.exe : fatal error LNK1120: 1 件の未解決の外部参照
1>プロジェクト "loadmodule.vcxproj" のビルドが終了しました -- 失敗。

 先の「追加の依存ファイル」に外部CLAPACK(CBLAS)のライブラリを入力してください.ライブラリ名は使用する外部CLAPACK(CBLAS)により決まりますので,必要ならCLAPACK(CBLAS)のマニュアル等をご覧ください.次に,この(これらの)ライブラリがあるフォルダを指定します.「構成プロパティ」→「リンカー」→「全般」と選択し,ウインドウ内にある「追加のライブラリディレクトリ」の右側にあるボタンをクリックし.「編集」を選択してください.

 すると次のようなダイアログが表示されます.

 このダイアログから,先に指定した外部CLAPACK(CBLAS)のあるフォルダを追加してください.ライブラリが複数ある場合は複数のフォルダを指定する必要があるかもしれません.適切なフォルダに関しては外部CLAPACK(CBLAS)のマニュアル等をご覧ください.

 

 以上で外部CLAPACK(CBLAS)の設定になります.ご不明な点がございましたら

nuopt-support@ml.msi.co.jp

までお問い合わせください.


 

 

上に戻る