编辑: xiong447385 2013-04-22
Fortran 实用编程 Fortran Coder 研讨团队http://www.

fcode.cn 系列视频教程 关于 Fortran Coder Fortran Coder 始于2006年,是一个以科学计算编程为主题的非盈利性研讨团体.大多数由各行业高等学府学生,研究人员及生产一线的工作人员组成.研讨内容涉及:Fortran77/90/95/2003/2008语法规范,各平台32位及64位编译器,IMSL,MKL,Lapack 等数学函数库,MPI,OpenMP,Coarray 并行及高性能计算,winteracter / DisLin / Matfor / GTKFortran 等绘图及界面库. 关于本套视频 本套视频以解决实际问题为主要目的,旨在为您解答课本上较少涉及到的实际问题.通过本套视频,您会更容易了解:如何查找错误?如何解决错误?如何学习 Fortran2003 和Fortran2008 语法?如何用最通俗易懂的写法解决实际问题?如何看懂别人的优秀代码并为自己所用?如何让自己的代码更优美、更普适?本套视频由 Fortran Coder 研讨团队录制,供所有 Fortran 程序员和学习者免费自由的观看,您可随意的传播它.但请保证视频完整性.我们将会不定期的更新本套视频,请持续关注我们的网站、QQ群!同时,如果您对 Fortran 相关有自己的见解,并愿意通过录制视频的方式与其他人分享,请联系我们! 第五讲 应用篇 第五讲第三方函数库的使用讲解人:雪球[email protected]://www.fcode.cn讨论QQ群:2338021

1 函数库的通常组成

2 Linux命令行使用Lapack

4 IVF+VS使用MKL 目录3IVF+VS使用IMSL 函数库的通常组成 重要:任何函数库的使用方法,都不能完全照抄任何教程,包括本视频!! 原因:函数库有两种发布方式:源码+工程方式;

二进制方式函数库的二进制方式,又针对不同的操作系统,平台,编译器品牌和版本还可能有32位,64位的区别还可能有串行,并行,集群等不同版本函数库的源码+工程方式:针对不同操作,平台,编译器的编译方式不同加之,函数库自身的版本亦有不同. 函数库的通常组成 大多数函数库,包含(或部分包含)以下内容: 内容 通常所在的文件夹 开源函数库 闭源函数库 文档 document,docs,help,notes,man 可能提供 提供 源代码 src,source,code 提供 不提供 接口文件 src,source,interface 不提供 可能提供 包含文件 include 不提供 提供 库文件 lib 不提供 提供 范例代码 test,examples,demo 可能提供 可能提供 其他工具 bin,tools 可能提供 可能提供 运行时库 redist 不提供 可能提供 函数库的通常组成 要了解函数库使用的原理,而不是仅仅会操作所有函数库的使用,归纳起来,总是离不开这么五个内容: include (mod)编译时用到 lib链接时用到 DLL Runtime Library运行时用到 路径(在哪儿?)一般只设置一次 把include的路径告知编译器 把lib的路径告知编译器 把运行时库加入系统目录或path目录 文件名(哪个?)一般每个工程都需要设置 把所需的module告知编译器 把所需的lib文件告知编译器

1 函数库的通常组成

2 Linux命令行使用Lapack

4 IVF+VS使用MKL 目录3IVF+VS使用IMSL Linux命令行使用Lapack Lapack 是一个开源的函数库,主要处理线性代数问题(各种线性问题的分解,特征值,奇异值,最小二乘等)由Univ. of Tennessee;

Univ. of California, Berkeley;

Univ. of Colorado Denver;

and NAG Ltd 开发贡献.可以在 http://www.netlib.org/lapack/ 查阅信息及下载 它提供 Fortran和C接口,在各种编译器和操作系统平台上都可以运行目前的版本是 3.6.1它自身包含了 BLAS 这个基础线性代数函数库,而Intel 的MKL 函数库又包含了它,并且对其进行了底层优化 Linux命令行使用Lapack 下载解压缩编辑 make.inc 文件编辑 makefile 文件make 编译安装使用 Linux命令行使用Lapack 来看一个示范代码: sgesv 用来求取一个 Ax=b 的线性方程组我们传入了 A 和b及其大小最终得到的结果覆盖了b注意:A也被覆盖了因此我们用aa保存原来的值最后,我们用 matmul 来检查计算是否正确. Linux命令行使用Lapack Lapack 在linux 使用简单由于是 F77 格式的接口,没有用到 module,也就没有用到 include 包含文件使用过程中,只是用-L 增加了lib文件的路径 -llapack -lrefblas 告知了lib文件的文件名 (如果复制lib文件到 /usr/lib 等目录,或添加到 LD_LIBRARY_PATH 环境变量中,则上面的第一步不需要每次都进行) gfortran test_lapack.f90 -llapack -lrefblas -L ./lapack-3.6.1/

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题