エラー内容 「エラー: * BLAS 読み込みエラー: mkl_custom.dll: 指定されたモジュールが見つかりません。」

6 views (last 30 days)
Mitsunori Takeda
Mitsunori Takeda on 27 Aug 2018
[1 1]*[1 1]'というような簡単な行列計算でエラーがでます。 行列の掛け算、割り算でエラーが出ます。
おそらくパソコンを変えたことが原因だと思われます。 前使っていたパソコンのcpuはcore2QuadQ8400で、行列計算でエラーは出ませんでした。現在使っているパソコンのcpuはcorei7 8700Kで、行列計算でエラーがでます。mklは、インテル® マス・カーネル・ライブラリー (インテル® MKL)のことです。
エラーを消すにはどうすればよいでしょうか?

Accepted Answer

michio
michio on 5 Sep 2018
やり取りが長くなってしまったので解決方法をこちらにまとめます。
****
今回のエラーは、環境変数 BLAS_VERSION で示されている mkl_custom.dll が存在しないが原因でした。環境変数 BLAS_VERSION を削除することで正常に機能します。
この環境変数は MATLAB で特定の MKL ライブラリを使用するための環境変数であり、この環境変数が存在しない場合は、通常 MATLABのインストールパッケージに含まれる mlk.dll が呼ばれます。
MATLABで
getenv('BLAS_VERSION')
と実行すると環境変数が定義されているかどうかを確認することができます。

More Answers (2)

Hirokazu Tanaka
Hirokazu Tanaka on 28 Aug 2018
こちらにもおそらく同じエラーに関する質問がありましたが、再インストールが勧められています。
  3 Comments
michio
michio on 4 Sep 2018
Edited: michio on 4 Sep 2018
もしかしたら特定のMKLライブラリを使用するための環境変数 BLAS_VERSION が定義されていることが原因かもしれません。MATLABで
getenv('BLAS_VERSION')
を実行して環境変数が定義されているかどうかを確認してみてください。定義されている場合は、定義先に読み込むべき DLL があるかどうかの確認をお願いいたします。この環境変数が存在しない場合は、通常 MATLABのインストールパッケージに含まれる mlk.dll が呼ばれます。

Sign in to comment.


Mitsunori Takeda
Mitsunori Takeda on 5 Sep 2018
Edited: michio on 5 Sep 2018
回答ありがとうございます。 0~4の順番を試しましたが、エラーは消えませんでした。
getenv('BLAS_VERSION')を実行したところ 'mkl_custom.dll' という結果が出力されました。
気になる点があるのですが、 https://software.intel.com/en-us/articles/using-intel-mkl-with-matlab を参考に version -blasを実行すると
エラー: matlab.internal.language.versionPlugins.blas
BLAS 読み込みエラー:
mkl_custom.dll: 指定されたモジュールが見つかりません。
というエラーが出ます。 上記のURLは以前に参考にしたことがあるのですが、4.Building a Custom DLLの項の二つ目の箇条書きで、matlab_custom_dll.zipからファイルを抽出してコピーし、$ {MKL}\tools\builderにコピーするという部分が理解できませんでした。 \tools\builderというフォルダを見つけることができませんでした。
  5 Comments
Mitsunori Takeda
Mitsunori Takeda on 7 Sep 2018
結論から言うと、環境変数BLAS_VERSIONは https://software.intel.com/en-us/articles/using-intel-mkl-with-matlab を参考に私が作成したものです。パソコンを新しくしたところ添付の写真(8月22日に撮ったもの)のようなエラーが出でるようになりました。そこでmklについて調べていたところ上記のURLにたどり着き、URLに書いてあることを実行すればエラーが消えるのでは?と思い、よく理解しないまま実行しているうちに環境変数を作成していました。環境変数が何なのかは知りませんでした。 おそらくBLAS_VERSIONを作ってから、エラー内容が「エラー: * BLAS 読み込みエラー: mkl_custom.dll: 指定されたモジュールが見つかりません。」になったのだと思います。「エラー: * BLAS 読み込みエラー:mkl.dll:メモリ ロケーションへのアクセスが無効です。」の原因はわかりませんが、現在MATLABを使っていて問題はありません。

Sign in to comment.

Categories

Find more on 環境と設定 in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!