快速解決Intel MKL FATAL ERROR: Cannot load libmkl_avx2.so or libmkl_def.so.問題

問題描述

  • 在升級tensorflow版本之後,更新了cudnn,再重新 import caffe 報錯 Intel MKL FATAL ERROR: Cannot load libmkl_avx2.so or libmkl_def.so
  • 在嘗試把libmkl_avx2.solibmkl_def.so對應路徑加入LD_LIBRARY_PATH均未解決;
  • 網上提供的解決方法有重新安裝mkl,numpy,scipy等

快速解決方法

  • 無需重新安裝,添加命令export LD_PRELOAD=/<option your path>/anaconda2/lib/libmkl_rt.so~/.bashrc中即可,親測有效;
  • 個人覺得該問題是因爲環境配置過程中mkl庫與其他庫的依賴關係出現混亂導致的,即mkl動態庫對應有多處路徑
  • LD_PRELOAD是個環境變量,用於動態庫的加載,動態庫加載的優先級最高,一般情況下,其加載順序爲LD_PRELOAD > LD_LIBRARY_PATH > /etc/ld.so.cache> /lib > /usr/lib,因此使用最高級別的直接指定,由於我是anaconda中的python內部報錯,所以指定anaconda/lib
  • 疑惑:按理說指定的庫應該是libmkl_avx2.so 或者 libmkl_def.so,但我嘗試之後,均無效,具體原因不知,
  • 網上其他的替代方法也有把其他的庫都指定後解決的,但有點多。

Adding export LD_PRELOAD= /path/to/anaconda/lib/libmkl_def.so:/path/to/anaconda/lib/libmkl_avx.so:
/path/to/anaconda/lib/libmkl_core.so:/path/to/anaconda/lib/libmkl_intel_lp64.so:/path/to/anaconda/lib/libmkl_intel_thread.so:/path/to/anaconda/lib/libiomp5.so

to my ~/.bashrc causes the problem to disappear.

發佈了47 篇原創文章 · 獲贊 67 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章