我通常会在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
任何帮助将不胜感激
用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]