计算化学公社

标题: PGI编译器调用Intel MKL库 [打印本页]

作者
Author:
didi_dudu    时间: 2019-9-17 14:19
标题: PGI编译器调用Intel MKL库
本帖最后由 didi_dudu 于 2019-9-17 14:19 编辑

利用GPU加速一般需要用到PGI编译器。但是如果代码中有较多对blas库的调用(比如dgemm),intel mkl库应该是目前运行速度最快的。所以需要在使用PGI编译器的同时,也能保证调用intel MKL库。利用Intel® Math Kernel Library Link Line Advisor (https://software.intel.com/en-us ... l-link-line-advisor)可以得到用pgi编译器编译代码时候的库文件调用方式,如图。 -L${MKLROOT}/lib/intel64 -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm -ldl

我安装的intel parallel_studio_xe_2019_cluster_edition版本,pgi用的是19.4版本
但是在MKLROOT/lib/intel64中, 并没有-liomp5也就是libiomp5.a 这个文件。然后就卡在这里没办法编译。

再然后发现在compilers_and_libraries_2019.3.199/linux/compiler/lib/intel64_lin里面有libiomp5.a等文件,直接将这个libiomp5.*拷贝到MKLROOT/lib/intel64下面。然后编译就通过了。

能够调用MKL可以保证在利用GPU对部分代码加速的同时,其他代码不会因为不能调用intel mkl库而降低速度
=========================================



作者
Author:
plus    时间: 2019-9-17 18:48
使用openacc吗?
作者
Author:
Warm_Cloud    时间: 2019-9-17 19:23
滴滴老师大法好
作者
Author:
didi_dudu    时间: 2019-9-17 20:02
plus 发表于 2019-9-17 18:48
使用openacc吗?

恩 OPENACC和CUBLAS混合用吧。能用CUBLAS的都用CUBLAS。
作者
Author:
Mikasa    时间: 2019-9-18 00:32
本帖最后由 Mikasa 于 2019-9-18 00:35 编辑

求19.4 PGI 啊发现现在还可以下载19.4的Community Edition Version

作者
Author:
didi_dudu    时间: 2019-9-18 09:09
Mikasa 发表于 2019-9-18 00:32
求19.4 PGI 啊发现现在还可以下载19.4的Community Edition Version

额我用的就是免费版的。
作者
Author:
LSNGM    时间: 2024-5-3 12:37
能否分享一下 pgi 编译器,19 或者 20,官网上没有了
作者
Author:
snljty2    时间: 2024-5-3 16:08
LSNGM 发表于 2024-5-3 12:37
能否分享一下 pgi 编译器,19 或者 20,官网上没有了

如果不是考虑版本兼容性问题,现在有被Nvidia整合的免费版本 Nvidia HPC sdk
作者
Author:
LSNGM    时间: 2024-5-3 19:34
就是因为版本的问题,而且 HPC SDK 只有 linux 没有 windows 系统
作者
Author:
didi_dudu    时间: 2024-8-12 11:05
LSNGM 发表于 2024-5-3 19:34
就是因为版本的问题,而且 HPC SDK 只有 linux 没有 windows 系统

pgi我一直用的linux版本。




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3