|
本帖最后由 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库而降低速度
=========================================
|
-
示例2.png
(41.38 KB, 下载次数 Times of downloads: 81)
-
示例.png
(7.59 KB, 下载次数 Times of downloads: 85)
评分 Rate
-
查看全部评分 View all ratings
|