エラー内容 「エラー: * BLAS 読み込みエラー: mkl_custom.dll: 指定されたモジュールが見つかりません。」
7 views (last 30 days)
Show older comments
Mitsunori Takeda
on 27 Aug 2018
Commented: Mitsunori Takeda
on 7 Sep 2018
[1 1]*[1 1]'というような簡単な行列計算でエラーがでます。 行列の掛け算、割り算でエラーが出ます。
おそらくパソコンを変えたことが原因だと思われます。 前使っていたパソコンのcpuはcore2QuadQ8400で、行列計算でエラーは出ませんでした。現在使っているパソコンのcpuはcorei7 8700Kで、行列計算でエラーがでます。mklは、インテル® マス・カーネル・ライブラリー (インテル® MKL)のことです。
エラーを消すにはどうすればよいでしょうか?
0 Comments
Accepted Answer
michio
on 5 Sep 2018
やり取りが長くなってしまったので解決方法をこちらにまとめます。
****
今回のエラーは、環境変数 BLAS_VERSION で示されている mkl_custom.dll が存在しないが原因でした。環境変数 BLAS_VERSION を削除することで正常に機能します。
この環境変数は MATLAB で特定の MKL ライブラリを使用するための環境変数であり、この環境変数が存在しない場合は、通常 MATLABのインストールパッケージに含まれる mlk.dll が呼ばれます。
MATLABで
getenv('BLAS_VERSION')
と実行すると環境変数が定義されているかどうかを確認することができます。
0 Comments
More Answers (2)
Hirokazu Tanaka
on 28 Aug 2018
こちらにもおそらく同じエラーに関する質問がありましたが、再インストールが勧められています。
3 Comments
michio
on 3 Sep 2018
ご不便をおかけしております。MKLに関連するライブラリが正しく参照できていない原因は現時点ではわかりませんが、トラブルシューティングのためまずは以下を順番にお試しいただけますでしょうか。
1:userpath の変更
userpath として指定されているフォルダーは、起動時に検索パスの最上位に置かれます。こちらを新しく作成したフォルダ(空でも構いません)に設定したうえで MATLABを再起動して挙動を確認ください。これで解決する場合は、もともとの userpath フォルダ内にあるファイルが悪さをしている可能性が考えられます。
2:余計な pathdef.m の有無 MATLABは起動時に pathdef.m でパス設定を行います。このファイルが複数存在する場合には、意図しない挙動の原因となりますので、確認してみてください。
which -all pathdef.m
とMATLAB上で実行して、1つの pathdef.m であれば、特に問題ないかと思います。もちろん2つでも意図されたものであれば問題ありません。
3:startup.m の有無 MATLABは起動時に startup.m があれば実行し、各種初期設定を行わせることができます。
which -all startup.m
とMATLAB上で実行して、意図しない startup.m がないかを確認下さい。
4:別フォルダへのインストール
例えば C:\ 直下のフォルダなど、既定のフォルダ以外へMATLABをインストールしてみることも、あくまで経験上ですが問題回避につながる可能性があります。
Mitsunori Takeda
on 5 Sep 2018
Edited: michio
on 5 Sep 2018
5 Comments
michio
on 5 Sep 2018
エラーがなくなったとのこと安心いたしました。もし差し支えなければ教えて頂きたいのですが、この環境変数 BLAS_VERSION は Takeda 様が作成されたものでしょうか?それともいつの間にかあった、というものでしょうか?
また回答の採用についても考えてくださりありがとうございます。それでは回答をまとめるという意味でもう1つ回答を作成しますので、そちらを採用頂けますでしょうか?わざわざありがとうございます。
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!