温馨提示:本文翻译自stackoverflow.com,查看原文请点击:linux - Override BLAS with LD_LIBRARY_PATH
linux openblas

linux - 用LD_LIBRARY_PATH覆盖BLAS

发布于 2020-03-27 16:15:18

我通常会在blas版本之间切换sudo update-alternatives ...但是,我需要不使用sudo使其工作。我尝试了几种选择,但似乎都没有用。

我有以下FORTRAN代码来测试是否成功切换了库

      PROGRAM BLASTEST
         IMPLICIT NONE

         CALL MKL_Set_Num_Threads(1)
         CALL openblas_set_num_threads(1)

      END PROGRAM BLASTEST

我将intel MKL设置为首选替代项,因此当我使用以下命令进行编译时,将导致错误,导致找不到openblas_set_num_threads。

gfortran -o test test.f -lblas

我尝试了以下方法来使其与openblas链接,但仍与MKL保持链接:

  • 创建一个从〜/ .local / alternatives / libblas.so.3-x86_64-linux-gnu到/usr/lib/x86_64-linux-gnu/openblas/libblas.so.3的符号链接,并添加〜/ .local / alternatives到LD_LIBRARY_PATH

  • 与以前相同的方法,但也将其添加到LIBRARY_PATH

  • 使用以下命令进行编译 gfortran -o test test.f -L/usr/lib/x86_64-linux-gnu/openblas/libblas.so.3 -lblas

任何帮助将不胜感激

查看更多

查看更多

提问者
Thijs Steel
被浏览
158
Knud Larsen 2020-02-01 00:41

用LD_LIBRARY_PATH覆盖BLAS

openblas在搜索路径中的“ Intel MKL Blas”之前设置

通用方法只是在编译时首先在LD_LIBRARY_PATH中设置“ preferred”:

export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/openblas:$LD_LIBRARY_PATH && [other command]