用 LD_LIBRARY_PATH 覆盖 BLAS
Override BLAS with LD_LIBRARY_PATH
我通常使用 sudo update-alternatives ...
在 blas 版本之间切换。但是,我需要让它在没有 sudo 的情况下工作。我尝试了几种选择,但 none 似乎有效。
我有以下 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 使其达到 link,但它仍然使用 MKL linking:
创建一个符号 link 从 ~/.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
如有任何帮助,我们将不胜感激
Override BLAS with LD_LIBRARY_PATH
在搜索路径的"Intel MKL Blas"之前设置openblas
:
常用的方法就是在编译的时候在LD_LIBRARY_PATH中先设置"the preferred":
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/openblas:$LD_LIBRARY_PATH && [other command]
我通常使用 sudo update-alternatives ...
在 blas 版本之间切换。但是,我需要让它在没有 sudo 的情况下工作。我尝试了几种选择,但 none 似乎有效。
我有以下 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 使其达到 link,但它仍然使用 MKL linking:
创建一个符号 link 从 ~/.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
如有任何帮助,我们将不胜感激
Override BLAS with LD_LIBRARY_PATH
在搜索路径的"Intel MKL Blas"之前设置openblas
:
常用的方法就是在编译的时候在LD_LIBRARY_PATH中先设置"the preferred":
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/openblas:$LD_LIBRARY_PATH && [other command]