Fortran:在Linux下配置并调用mkl库(前提:安装好了oneAPI)

最近借用了师兄的服务器,得在Linux下运行fortran。今天花了点时间找资料,配置成功了。在这里记录一下怎样在Linux下配置mkl库。首先,在装好oneAPI的情况下,oneAPI是自动包含mkl库的,无需另外下载。要是用mkl库,只需要配置环境变量即可!具体操作请看下文。

配置环境变量分为两步。

第一步:找到mkl库,以及mkl库中intel64的位置。具体操作如下:

先进入终端,使用whereis ifort命令找到oneAPI的安装路径:

 从上面可以看到oneAPI的安装路径,这样我们就可以使用cd /opt/intel/oneapi命令切换到oneapi目录下,再使用ls命令看看oneapi下装了哪些文件:

 可以看到oneAPI里确实有mkl,接着使用cd /opt/intel/oneapi/mkl命令进入mkl,再使用ls命令看看mkl有什么:

 再使用cd /opt/intel/oneapi/mkl/2022.0.2进入2022.0.2,再使用ls命令看看这个文件夹有什么:

 

找到了lib文件夹,我们使用cd /opt/intel/oneapi/mkl/2022.0.2/lib和ls命令看看lib里面有啥:

 好了,终于找到我们需要的interl64了!它的位置是/opt/intel/oneapi/mkl/2022.0.2/lib/intel64。

第一步就完成了,找到了mkl库中intel64的位置。

然后是第二步:我们需要在主目录下的bashrc里添加我们第一步找到的路径:

使用cd ~命令切换到主目录,再使用ls -a命令查看主目录下的所有文件(包括隐藏文件):

 我们可以看到有个 bashrc文件,我们使用vim ~/.bashrc命令进入bashrc文件,然后在最后面按以下格式添加我们第一步找到的mkl中intel64的路径:

export LD_LIBRARY_PATH=/opt/intel/oneapi/mkl/2022.0.2/lib/intel64:$LD_LIBRARY_PATH

 然后保存并退出vim,再使用一下source ~/.bashrc命令,第二步就完成了!

终于,mkl的环境变量配置成功了!

接下来简单记录一下怎样编译并且运行需要调用mkl的fortran文件。

假设name1.f90需要调用mkl,那么为了方便可以写一个makefile文件对其进行编译:

使用vim name2进入文本编辑,将以下内容添加到name2(此处参考文末链接):

mkllib=/opt/intel/oneapi/mkl/2022.0.2/lib/intel64
mklinc=/opt/intel/oneapi/mkl/2022.0.2/include
FCCFLAG= -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lmkl_lapack95_lp64 -liomp5 -lpthread
FCC = ifort
name1: name1.o
        $(FCC) -o a a.o -I$(mklinc) -L$(mkllib) $(FCCFLAG) -g
name1.o: name1.f90
        $(FCC) name1.f90 -c -g -qmkl
clean: 
        rm -rf *.o name1

你需要把上述代码第一行和第二行的路径改成你的安装路径(查找步骤可以参照文章开头的第一步),并且把name1改成你的文件名。注意上述代码倒数第1、3、5行的空位使用Tab键打,不是用空格。如果需要使用并行计算将上述代码倒数第三行改成如下:

$(FCC) name1.f90 -c -g -qmkl -qopenmp

写好这个vim文本后,保存退出,然后使用make -f name2命令make一下,就编译好了。

然后使用ls命令查看,你会看到这时生成了一个名为name1的可执行文件:

然后使用./name1即可运行

注意,如果你重复make该文本时,会出现:

 这时你只需要使用make -f name2 clean(这是因为name2文本最后加上了clean),再make -f name2就行。

 参考:
Linux和windows下,安装intel fortran编译器及MKL(Intel Math Kernel Library)的环境配置问题 - 知乎 (zhihu.com)icon-default.png?t=M276https://zhuanlan.zhihu.com/p/353582430

MKL程序编译与连接:Lapack篇_weixin_30451709的博客-CSDN博客icon-default.png?t=M276https://blog.csdn.net/weixin_30451709/article/details/95318367?utm_medium=distribute.pc_relevant_bbs_down.none-task--2~all~first_rank_v2~rank_v29-17.nonecase&depth_1-utm_source=distribute.pc_relevant_bbs_down.none-task--2~all~first_rank_v2~rank_v29-17.nonecase

  • 1
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
要在Linux系统上安装Intel Fortran Compiler(ifort)和Intel Math Kernel Library(MKL)中的FFTW函数,您可以按照以下步骤进行操作: 1. 首先,确保您已经安装了ifort和MKL。您可以从Intel官方网站上获取适用于Linux系统的ifort和MKL安装包。 2. 打开终端,在命令行中导航到您下载的ifort和MKL安装包的目录。 3. 解压安装包。您可以使用以下命令解压.tar.gz文件: ``` tar -zxvf ifort.tar.gz tar -zxvf mkl.tar.gz ``` 4. 切换到解压后的ifort目录: ``` cd ifort ``` 5. 运行ifort的安装程序。执行以下命令启动ifort的安装向导: ``` ./install.sh ``` 6. 按照安装向导的指示进行ifort的安装。您可能需要接受许可协议、选择安装目录等。确保按照您的需求进行设置。 7. 安装完成后,切换到解压后的MKL目录: ``` cd ../mkl ``` 8. 运行MKL安装程序。执行以下命令启动MKL安装向导: ``` ./install.sh ``` 9. 按照安装向导的指示进行MKL安装。您可能需要接受许可协议、选择安装目录等。确保按照您的需求进行设置。 10. 安装完成后,您需要配置环境变量以使ifort和MKL可用。打开您的shell配置文件(例如:~/.bashrc)并添加以下行: ``` source /path/to/ifort/bin/ifortvars.sh intel64 source /path/to/mkl/bin/mklvars.sh intel64 ``` 替换"/path/to/ifort"和"/path/to/mkl"为您实际的ifort和MKL安装路径。 11. 保存并关闭配置文件,并执行以下命令使配置生效: ``` source ~/.bashrc ``` 12. 现在,您可以在Fortran代码中使用FFTW函数了。请确保在代码中包含正确的FFTW头文件和链接到FFTW。 希望这些步骤对您有帮助!如果您有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值