Intel Visual Fortran Compiler 11调用lapack库实现并行多处理计算

采用fortran进行数值计算的朋友们都应该听说过大名鼎鼎的lapack库,我就不多做介绍了,在此,我只是介绍一个编译好的lapack二进制包ACML(AMD Core Math Library),并且我强烈推荐,有几个原因:

  1. ACML是预编译好的二进制文件,省去了许多重新编译的麻烦;

  2. AMD对ACML中的许多函数针对x86构架进行了优化,执行效率很高;

  3. ACML中有专门针对SMP(不要告诉我你不知道SMP是什么东东)的库,可以实现并行多处理,如果你是多核多线程处理器的话可以最大程度发挥处理器的效能,针对我的电脑我进行了一个测试,分别链接到libacml_mp_dll.dll(支持多处理)和ibacml_dll.dll(不支持多处理),性能提高70%左右(我的只是双核U);

  4. 还有一点ACML是免费的。

  不错吧,使用lapack包的朋友们可以试试,即使你的U是intel的也没有关系,ACML通吃(这里我说明一下ACML对AMD的机器优化的较好,但对于Intel的cpu还不行,如果你是Intel的cpu还是用MKL吧,下面我对MKL的使用也做了说明),呵呵,下面针对windows 7系统我介绍一下ACML的安装和使用过程;

  前提:

  1. Intel Visual Fortran 11(考虑到所使用的win7平台,目前ivf11应该是最好的的选择了,不要给我提cvf6了,太古董了,并且cvf的ide在win7下会崩溃);

  2. Visual Studio 2008 专业版或其它,但不能是速成版,ivf真是太那个了,凭什么不支持速成版啊;

  3. acml-4-4-0-ifort32.exe,下载地址 ;

  安装步骤如下,顺序可不能错哦:

  1. 首先安装visual studio 2008 pro,选择你需要的组件,至少得包含visual c++;

  2. 安装 Intel Visual Fortran Compiler 11;

  3. 安装ACML,记着安装的位置,如我们这里是 "C:\AMD\acml4.4.0",之后我们会用到;

  4. 如果你的处理器是多核的,进入acml安装路径下,并打开ifort32_mp\lib目录,将当前目录位置复制,比如我的是 “C:\AMD\acml4.4.0\ifort32_mp\lib”;

  5. 将之前复制的路径添加到path环境变量,如下图所示:

  6. 我们先测试一下在命令行界面下的情况,新建一个fortran源文件,main.f90, 输入以下内容:

    EXTERNAL         ACMLINFO

    CALL ACMLINFO()

    STOP

    END

    在开始菜单中打开依次打开 Intel(R) Software Development Tools->Intel(R) Fortran Compiler 11.0.061->Fortran Build Environment for applications running on IA-32 输入编译命令,ifort /libs:dll -Qopenmp main.f90 c:\amd\acml4.4.0\ifort32_mp\lib\libacml_mp_dll.lib,编译成功会输出以下内容,则表示设置成功了。

  7. 接着我们在图形界面的IDE下进行配置并测试,打开Visual Studio,新建工程Intel Fortran->Console Application,然后配置编译和链接选项,点Project->Properties,在Fortran的Command Line的Additional Options中填入-Qopenmp /libs:dll,在Linker的Command Line的Additional Options中填上C:\AMD\acml4.4.0\ifort32_mp\lib\libacml_mp_dll.lib,完成后,编译工程即可。

  如果你的机器是Intel的U的话,用Intel自己的MKL中的LAPCK库效率最理想,只需要把mkl的lib路径加入到链接搜索路径,再增加几个链接库文件就可以了,使用mkl需要以下几个库文件:mkl_intel_c.lib  mkl_intel_thread.lib mkl_core.lib libiomp5md.lib。另外,使用mkl时,如果你的U为AMD的话最好禁用优化,即加上选项/Od, 否则可能会出现计算错误,这种情况我就遇到过。

posted on 2013-12-30 18:27 向北方 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/China3S/p/3498301.html

Intel Visual Fortran Compiler 11调用lapack库实现并行多处理计算相关推荐

  1. Intel Visual Fortran + Visual Studio2019 配置 Fortran 环境

    本文介绍如何用 Intel Visual Fortran (IVF) 加上 Visual Studio 2019 来配置 Fortran 环境, 并且编译运行通过第一个程序, 输出 Hellow Wo ...

  2. Compaq Visual Fortran 6.6 (Fortran编译器)

    Compaq Visual Fortran 6.6 (Fortran编译器) 注册码:33106-060-1186591-00003 Visual Fortran 6.6为Fortran编译器类,Co ...

  3. 在Itanium2、Intel Fortran Compiler上安装VASP4.6

    1.VASP4.6 是量子化学计算的一个商业软件,这里是源码包.来自奥地利.这个软件也可用在物理系,做分子动力学等分析. 2.首先声明一点:VASP4.6无法在Intel Fortran Compil ...

  4. linux环境下c语言调用lapack,linux系统下C语言调用lapack ,blas库

    在利用C语言编程,经常调用其他的软件包,其中lapack,blas库是最常用的两个库,这里讲下在linux系统下,C语言编程如何调用这两个库: 1.首先讲下blas库的调用,这里以两个向量内积函数为例 ...

  5. 【C 语言】动态库封装与设计 ( Windows 动态库简介 | Visual Studio 调用动态库 )

    文章目录 一.Windows 动态库简介 二.Visual Studio 调用动态库 一.Windows 动态库简介 在 C:\Windows\System32 目录中 , 存放着 Windows 中 ...

  6. PVF(PGI Visual Fortran) 安装以及openacc在linux和window下调用

    1.  PVF(PGI VisualFortran)安装 1.首先下载软件到这个地址: http://www.pgroup.com/support/download_pgi2015.php 因为已经安 ...

  7. 更换matlab版本需要注意事项,AMD 篇四:更换Matlab调用MKL库版本

    AMD 篇四:更换Matlab调用MKL库版本 2020-03-01 23:37:51 4点赞 5收藏 4评论 前言 这次说一下如何更换MATLAB调用的MKL库.MATLAB所调用的MKL库通常不会 ...

  8. 在VSCode中使用Compaq Visual Fortran编译运行Frotran程序

    本片文章主要是为了使用VSCode编译运行带QuickWin库的老版本Fortran代码. 一.准备工作 安装VSCode和Compaq Visual Fortran6.6,相关安装方法在网上找. 二 ...

  9. ABAQUS关联验证全部pass,但是cmd运行abaqus info=system找不到Fortran compiler ,Abaqus/Standard with user subroutine

    阅读帮助 文中棕色表示无效操作,可以略过,不用跟着做,无用功! 文中绿色表示有效操作,可效仿. 讲故事 vs2019+ivf2020+abauqs2020,关联验证,全部pass(注意:如果你这里验证 ...

最新文章

  1. yolov4网络结构_重磅更新!YoLov4最新论文!解读YoLov4框架!
  2. C语言解释器的实现--存储结构(一)
  3. fiddler如何向服务器发送信息,fiddler 保存请求数据并发送到自己的服务器接口 抓包...
  4. 面向.NET开发人员的Dapr——可观察性
  5. linux下华为HSPA模块MU609的驱动问题
  6. Java只用一个循环语句输出九九乘法表
  7. 分享三个USB抓包软件---Bus Hound,USBlyzer 和-USBTrace
  8. python des加密文件_python DES3 加密解密
  9. [pytorch] 深度学习分割网络U-net的pytorch模型实现 原创 2017年03月08日 21:48:21 标签: python / 深度学习 / 生物图
  10. matlab 实用快捷键
  11. 重载map排序(降序)及结构体新的赋值方式
  12. Exescope等打开DLL,导出函数名称混乱的问题
  13. HTML5前端教程:jQuery项目实战
  14. 精辟!一文看懂layout与PCB的关系
  15. 怎么利用企业微信营销 企业微信如何营销 企业微信如何维护好友 企业微信如何开通
  16. 使用动态规划算法需要满足的必要条件:优化原则
  17. 腾讯地图JS API制作专题图
  18. 我的世界服务器怎么修改id,我的世界服务器id大全 | 手游网游页游攻略大全
  19. 采坑记录-Redis使用scan代替keys
  20. 哈工大大计基(大学计算机——计算思维导论)慕课MOOC答案

热门文章

  1. SAP你需要了解的那些事
  2. 【数据挖掘技术应用笔记】
  3. 央行工作论文:区块链能做什么、不能做什么?
  4. DIY台式机并安装Win10+Debian双系统
  5. zhs16gbk mysql_Oracle 11g 修改字符集 为 ZHS16GBK
  6. 京东云首席架构师杨海明:京东云探秘,从实践者到服务者
  7. RK3566采集显示调试--edp屏幕 imx586
  8. mysql五日均线_[转载]老股民坚持使用的五日均线战法,从不被套,简单实用
  9. netty实现在线聊天
  10. 一、淘宝ua分析与学习之匿名函数