Fortran 实用编程 Fortran Coder 研讨团队 系列视频教程

Slides:



Advertisements
Similar presentations
迪士尼公主裙衫变化记. 《白雪公主和七个小孩人》 《白雪公主和七个小矮人》,是世界电影史上第一部长动 画片,也是迪士尼的第一部。《白雪公主》不仅为迪斯尼 带来了第一尊奥斯卡小人,更是拯救迪斯尼于水火的贵 人 —— 在经济大萧条的 1937 年的美国,《白雪公主》为迪 斯尼赚到了 850 万美元,这约等于现在的数亿美元!
Advertisements

營養午餐 嘉大附小四年二班. 形容詞豐富 鍋燒烏龍麵裡有很多料,有細細長長的麵、翠 綠的青菜、像雨傘的香菇、紅紅的蘿蔔和像圓 月的丸子。每次去盛鍋燒烏龍麵時,我都會聞 到香噴噴的味道,讓我好餓,似乎可以吃下一 頭牛。吃下第一口時,有彈牙的麵、鮮甜的青 菜、 QQ 的香菇、軟軟的丸子,還有脆脆的紅 蘿蔔。每當我吃完第一碗,就還想吃第二碗,
项目四 网店推广与营销 4.1 店内推广与营销. 教学目的: 通过本节内容的学习,帮助学生了解消费者保障服务分类,理解店内活动是运 营店铺时不可缺少的一些营销活动。 知识要求: 1. 了解申请加入消费者保障服务项目的条件 2. 了解店内活动如满就送、限时打折、搭配套餐、优惠券的设置 技能目标: 1.
广西 2014 年 “ 区培计划 ” 学前教育远程培 训 总结简报 南宁马山县幼教 1 班 莫毅.
中职教师省级网络培训 使用说明 南京中华中等专业学校教研处 平台登陆 登录 (江苏教师教育) 在页面右侧找到登录框,填写用户名、密码进入系统.
“ 税融通 ” 业务简要介绍. + 一、什么是 “ 税融通 ” ? + “ 税融通 ” 是指银行金融机构根据中小微企业 纳税情况,向依法诚信的中小微企业提供 一定数额的信用贷款或担保贷款的金融产 品。
学年 江西省教师全员远程培训指南. 培训学习及考核时间安排 学习时间: 2013 年 10 月 年 1 月 15 日 考核时间: 2014 年 3 月 1 日 年 3 月 30 日.
-- 八 (19) 班第二学期期中家长会 、关于期中考试 2 、关于班级常规活动 3 、关于会考、体育 4 、关于自主招生 5 、给家长的一些建议.
山东理工大学成人高等教育 新生入学指南. 如何获悉学院的通知公告等? 1. 网站。所有的通知公告等都通过远程与继 续教育学院网站 发布, 同学们应每周登录 “ 学生工作室 ” 或 “ 函授教育 ” 关注是否有新的通知公告。
此时此刻,我还是爱你?还是不爱? 我想,我不爱你了! 因为我累了, 我爱得累了 …………. 你的好对于我来说 像是一种无形的压力 每次你对我好 我都觉得好难承受 你越是对我好 我就越怕你 总是想逃避。
财务处目前共有 50 人,其中事业编 32 人,非事业编 18 人。分为 6 个科室,分别是会计核算科、资金结算中心、综合管理科、预算管理科、 基建财务科和一卡通中心。 会计核算科主要业务为收入入账、费用报销审核等。 资金结算中心主要业务为资金收付、开具发票、学费管理。 综合管理科主要业务是工资及住房公积金管理、税务管理、收费项目.
心理咨询师的个人品牌建设 徐钧 南嘉心理咨询师部落(俱乐部) 申请 QQ 酒香还怕巷子深 你需要一个 “ 个人品牌 ” 以让别人知道你 你是谁? 你的目标是什么? 你要成为什么样的人? 你能做什么? 你会怎样做? 怎么与你有效沟通?
房地产法 主讲教师:龙慧峰 QQ: 电话: 法律实质上既是物质的又是意识形态的这一 事实是与以下事实相联系的:法律既是从 整个社会的结构和习惯自上而下发展而来, 又是从社会中的统治阶级们的政策和价值 中自上而下移动。 —— 【美】伯尔曼《法律与革命》
某中学一青少年因迷上网络游戏,视力由1. 2下降到0
加强工作室资源建设 提升网络辐射影响力 林月周工作室
和合共美,同修共进 ——工作室三年感言 何伟俊
凉山州2011级一诊考试情况分析 暨后期复习建议 四川省凉山州教育科学研究所 谌业锋.
发挥学科优势 打造“互联网+”党建工作模式
《凉山州中长期教育改革和发展规划纲要》( 年)解读 (讲座幻灯课件请在网上下载,让我们一起思考!)
参加全国骨干科技辅导员培训班汇报讲座 主讲: 长安镇乌沙小学张杰志 2008年1月7日 长安中心小学.
坚持群众路线 做到“三严三实” 内蒙古直属机关工委党校 裴聚斌 电话:
新所得税申报表如何填写 注册税务师 注册会计师 高级会计师 注册资产评估师 注册土地估价师 注册房地产估价师 主讲人:林溪发
校园法治网 ◎传播校园法制文明 ◎营造校园法治环境
人类行为的起源 康复医学系 王海成 医学教授 精神科主任医师 QQ: 手机:
我的未来,我做主之 坚持不懈,直到成功。 电话: QQ: 时间:2013年5月27日 肖亚平.
广州市档案专业技术资格 申报评审有关事项 姓名:付建华 联系电话: 联系地址:广州市番禺区大学城档案馆路33号A403科教处
(讲座幻灯课件请在网上下载,让我们一起思考!)
自读高晓声的小说 《陈奂生上城》 写一篇800以上的感悟文章.
高考成功心理 平凉一中 刘雅娟.
2012江西(九江吉安)事业单位 公共基础知识 备考指导 主讲:罗红军 qq: 新浪微博:罗红军的微博
运筹帷幄 决胜高考 应怎样去做? 湖北黄冈中学 余利平 QQ:
幼儿园环境创设 成智客服QQ:
工作中的九型人格 主讲嘉宾:梁旭 ---九型人格应用系列课程 介绍自己 有多少听过九型 课程纪律 课程时间 工作中的九型人格
客 家 仙 草 台北縣中和市秀山國民小學 五 年 十 班 王 靖 婷.
上海培训班交流材料 顶岗实习考核评价体系研究 辽宁建筑职业技术学院  孙玉红 2010年6月.
计算机基础知识 陈嘉明 玉溪农业职业技术学院.
凝心聚力 弘扬宣传思想工作正能量 ——2015年工委宣传部上半年工作总结.
教体系统“两学一做”辅导报告.
党员服务站宣传册 党站宗旨: 主导精神: 全心全意为同学服务 踏踏实实树党员形象 以人为本 服务为重
一切为了孩子 为了孩子的一切 港中数学网 收集整理 —八(1)班家长会.
制定和执行一标两案的基点 —对技能大赛和教学质量检测工作的认识
淮北一中2014心理班会课1 (给莘莘学子加油) QQ:
共通能力科研習計劃書 簡 報 篇.
加强作风建设 同心共筑 四川省委党校 任春艳.
(讲座幻灯课件请在网上下载,让我们一起思考!)
健康所系,性命相托 ——2012级新生教育管理工作阶段总结 中山大学中山医学院 汇报人:刘少静.
彰显语文教育特性 立意学生能力发展 ——《语文》新教材第三册解析
让爱住紫荆 教师师德培训.
(讲座幻灯课件请在网上下载,让我们一起思考!)
第十四章 軟體系統安全 課前指引 網際網路的發展將每台電腦串連成共通的網絡,而層出不窮的資訊安全問題使得如何在開放的環境中,實現軟體安全的議題,逐漸受到重視。就軟體安全的角度而言,可分為軟體安全的應用及實作兩方面。在軟體安全應用方面,主要討論如何安全地執行及操作應用軟體,就網路應用軟體而言,電子郵件與檔案傳送等軟體,已有許多相關的安全技術發展,另一項近年十分流行的網路應用服務-即時通訊軟體,其安全性問題亦日漸受到重視。
凉山州2012级一诊考试情况分析会.
香港普通話研習社科技創意小學 周順強老師.
(讲座幻灯课件请在网上下载,让我们一起思考!)
(讲座幻灯课件请在网上下载,让我们一起思考!)
凉山州2008级高考情况分析 暨2009届高三复习建议 ——兼谈高考学生的心理指导.
公关关系运作程序 湖南司法警官职业学院.
(讲座幻灯课件请在网上下载,让我们一起思考!)
(讲座幻灯课件请在网上下载,让我们一起思考!)
腾讯企业QQ 能为客户解决问题. 腾讯企业QQ 能为客户解决问题 企业QQ可以 获知访客来源 可以细致的知道网站访客第几次到来,通过什么途径到来,正在浏览哪些网页等相关信息为企业日后做推广,提供一个真实可靠的数据。
破茧成蝶 ——如皋14班研修总结篇 主编:冒碧云 审稿:郝 霞.
给学生一个心灵的支点 高慧明 ——高慧明班级高效管理艺术 北京市第十二中学高中部 电话: QQ:
(讲座幻灯课件请在网上下载,让我们一起思考!)
珍惜时间 提高效率 初二1班
(讲座幻灯课件请在网上下载,让我们一起思考!)
第1章 Fortran概述 作为一门诞生于上个世纪50年代后半期的高级计算机语言,Fortran在这个C/C++、Java等新兴语言大行其道的时代仍然活跃在人们的视野之中。Fortran语言的长项在于数值计算,在科学研究和工程设计领域有着广泛的用途。在描述数学语言的自然性方面,Fortran同现存的其他高级语言相比有着明显的优势。对于科研工作者和工程技术人员而言,Fortran语言的易学性和易用性是公认的。
编译与多文件.
临床试验管理平台操作指南 (申办方用) 浙江省人民医院机构办.
Fortran 实用编程 系列视频教程 Fortran Coder 研讨团队
Fortran 实用编程 系列视频教程 Fortran Coder 研讨团队
Fortran 实用编程 系列视频教程 Fortran Coder 研讨团队
Presentation transcript:

Fortran 实用编程 Fortran Coder 研讨团队 http://www.fcode.cn 系列视频教程 我们的网址是 fcode.cn,那里有很多有用的资源,欢迎大家访问我们的网站~ 1

关于 Fortran Coder Fortran Coder 始于2006年,是一个以科学计算编程为主题的非盈利性研讨团体。大多数由各行业高等学府学生,研究人员及生产一线的工作人员组成。 研讨内容涉及:Fortran77/90/95/2003/2008语法规范,各平台32位及64位编译器,IMSL,MKL,Lapack 等数学函数库,MPI,OpenMP,Coarray 并行及高性能计算,winteracter / DisLin / Matfor / GTKFortran 等绘图及界面库。 Fortran Coder最早可以追溯到2006年 是一个以科学计算编程,尤其是以Fortran编程为主题的非营利性专业组织 欢迎大家加入我们的团队中来,为推广Fortran贡献一份力量 2

关于本套视频 本套视频以解决实际问题为主要目的,旨在为您解答课本上较少涉及到的实际问题。通过本套视频,您会更容易了解: 如何查找错误?如何解决错误? 如何学习 Fortran2003 和 Fortran2008 语法? 如何用最通俗易懂的写法解决实际问题? 如何看懂别人的优秀代码并为自己所用?如何让自己的代码更优美、更普适? 本套视频由 Fortran Coder 研讨团队录制,供所有 Fortran 程序员和学习者免费自由的观看,您可随意的传播它。但请保证视频完整性。 我们将会不定期的更新本套视频,请持续关注我们的网站、QQ群! 同时,如果您对 Fortran 相关有自己的见解,并愿意通过录制视频的方式与其他人分享,请联系我们! 停留1秒 3

第三方函数库的使用 第五讲 讲解人:雪球 gao@fcode.cn http://www.fcode.cn 讨论QQ群:2338021 应用篇 第 五 讲 第三方函数库的使用 讲解人:雪球 gao@fcode.cn http://www.fcode.cn 讨论QQ群:2338021 今天是我们基础篇的第11讲,本期我们讲介绍 Fortran 内部文件的使用 我是主讲人 盐光, 这是我的邮箱,如果对本期内容有什么疑问,欢迎给我的邮箱发信咨询 这是我们的网站网址 和 QQ群 希望大家通过这些联系方式与我们产生互动~ 4

1 2 3 4 函数库的通常组成 Linux命令行使用Lapack IVF+VS使用IMSL IVF+VS使用MKL 目 录 目 录 1 函数库的通常组成 2 Linux命令行使用Lapack 3 IVF+VS使用IMSL 4 IVF+VS使用MKL 今天的主要内容 分为以下3个部分 第一部分是 内部文件的简介 第二部分是 write内部文件用法 第三部分是 read内部文件用法 5

函数库的通常组成 重要: 任何函数库的使用方法,都不能完全照抄任何教程,包括本视频!! 原因: 函数库有两种发布方式:源码+工程方式;二进制方式 函数库的二进制方式,又针对不同的操作系统,平台,编译器品牌和版本 还可能有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 3 4 函数库的通常组成 Linux命令行使用Lapack IVF+VS使用IMSL IVF+VS使用MKL 目 录 目 录 1 函数库的通常组成 2 Linux命令行使用Lapack 3 IVF+VS使用IMSL 4 IVF+VS使用MKL 今天的主要内容 分为以下3个部分 第一部分是 内部文件的简介 第二部分是 write内部文件用法 第三部分是 read内部文件用法 9

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 及其大小 因此我们用aa保存原来的值 最后,我们用 matmul 来检查计算是否正确。

Linux命令行使用Lapack gfortran test_lapack.f90 -llapack -lrefblas -L ./lapack-3.6.1/ Lapack 在 linux 使用简单 由于是 F77 格式的接口,没有用到 module,也就没有用到 include 包含文件 使用过程中,只是用 -L 增加了lib文件的路径 -llapack -lrefblas 告知了lib文件的文件名 (如果复制lib文件到 /usr/lib 等目录,或添加到 LD_LIBRARY_PATH 环境变量中,则上面的第一步不需要每次都进行)

1 2 3 4 函数库的通常组成 Linux命令行使用Lapack IVF+VS使用IMSL IVF+VS使用MKL 目 录 目 录 1 函数库的通常组成 2 Linux命令行使用Lapack 3 IVF+VS使用IMSL 4 IVF+VS使用MKL 今天的主要内容 分为以下3个部分 第一部分是 内部文件的简介 第二部分是 write内部文件用法 第三部分是 read内部文件用法 14

IVF+VS使用IMSL IMSL 在 Compaq Visual Fortran 的专业版中捆绑销售,安装后自动进行了合理的配置。 CVF中使用的IMSL是4.0版本,其用法简单,use IMSL 就能搞定一切。 现在主流的 IMSL 版本是7.0和6.0,主要支持 IVF。而IVF也只能使用5.0以上版本。 它的使用方法已经和 4.0 截然不同。但是,依然遵循前面说过的五个内容。 注意:IMSL 是闭源库,不提供源代码,而且有 CNL和FNL的区分,也有32位和64位的区分,同时,面向不同编译器的发行也是不同的。 在购买/下载的时候要注意。

IVF+VS使用IMSL 我们附带了一个pdf文档 它显示了 IMSL 的版本 分别支持什么平台 什么操作系统 什么编译器 什么位数 很可惜的是,它几乎不支持 开源的编译器

IVF+VS使用IMSL 关于32/64位数的注意: 有一些 IVF64位编译器 也同时提供了32位编译器 (选择安装) 但是配置和使用时,要注意分别对待。

IVF+VS使用IMSL IMSL的安装非常简单,一路下一步就可以了,可以安装在任何目录。 安装好之后,我们一定要移步到安装目录,看看安装目录里面都有什么东西: 这里 include 和 lib 比较重要 我们需要首先告知编译器,这两个文件夹的位置

IVF+VS使用IMSL 然后,我们要把所需的模块告诉编译器 告诉的方法是,use 某个模块。 IMSL 从 5.0 开始,统一把函数放入 numerical_libraries 模块中 注意: 某些版本的IMSL有bug 在 use numerical_libraries 时会出错

IVF+VS使用IMSL 之后,编译就可以成功了。 但是我们会遇到链接错误,我们还需要告诉编译器,所需的函数在哪里提供? 我们可以用IMSL提供的包含文件,也可以直接添加lib文件到工程里 这些方法是等效的:

IVF+VS使用IMSL 之后,链接就可以成功了。 如果你上一步使用的是 动态链接库 形式,那么可能还会遇到这种问题: 这种情况下,你还需要找到 imsl_dll.dll 的位置 把这个路径添加到环境变量 path 中

IVF+VS使用IMSL 总结一下,IMSL 的五步走: 一定要翻一遍安装目录!!! include (mod) lib 编译时用到 lib 链接时用到 DLL Runtime Library 运行时用到 路径(在哪儿?) 一般只设置一次 把include的路径 告知编译器 把lib的路径 把运行时库加入 系统目录 或path目录 文件名(哪个?) 一般每个工程都需要设置 把所需的 module告知编译器 把所需的lib文件

1 2 3 4 函数库的通常组成 Linux命令行使用Lapack IVF+VS使用IMSL IVF+VS使用MKL 目 录 目 录 1 函数库的通常组成 2 Linux命令行使用Lapack 3 IVF+VS使用IMSL 4 IVF+VS使用MKL 今天的主要内容 分为以下3个部分 第一部分是 内部文件的简介 第二部分是 write内部文件用法 第三部分是 read内部文件用法 23

IVF+VS使用MKL MKL 是 Intel 公司出品的数学函数库,有C和Fortran接口 比如 Lapack,Blas,FFTW 等,都包含在 MKL 当中 (并且为他们设计了 F95 接口) 我们将会用前面linux下调用lapack的代码来示范。 这段代码,可以完全不修改的情况下用ifort编译,并调用MKL链接(F77接口)

IVF+VS使用MKL 对于 F77 接口,不需要指定include Intel 安装时自动指定了 lib 的路径。 因此,我们只要进行一个操作即可:

IVF+VS使用MKL F90 接口相比 F77 接口,更简单,函数参数更少 假定形状避免了传递数组(矩阵)大小 可选参数避免了不关心的输出参数 但是,它需要额外的配置:

IVF+VS使用MKL 在某些情况下 MKL 并不直接提供 include 下的 mod 文件 使用MKL以后,如果使用动态库的形式,也可能遇到找不到 DLL 的问题 此时,我们建议用静态库形式发布。否则,应该同时发布 \redist\ia32\mkl 下的其他 DLL

总结 第三方函数库的使用,总结为 五步走: 告知编译器include路径 告知编译器lib路径 告知编译器所需的module(include) 编译错误:Error in opening the compiled module file. Check INCLUDE paths. [IMSL] 告知编译器所需的lib文件 无法解析的外部符号 _OPERATION_I_mp_SMI,该符号在函数 _MAIN__ 中被引用 unresolved external symbol _OPERATION_I_mp_SMI 告知操作系统运行时库的位置 无法启动此程序,因为计算机中丢失 imsl_dll.dll ,尝试重新安装此应用程序 具体要 use 哪个module? 链接哪个 lib 文件? 参考说明书,或 翻安装目录!不可照抄任何一个教程。

感谢收看! Fortran Coder Group http://www.fcode.cn 下一讲:f90SQL调用数据库 敬请关注 & 期待 还有疑问?请联系我们 Fortran Coder Group http://www.fcode.cn 今天我们的课程就到这里,谢谢大家的观看 下一讲呢,我们会讲IDE高级操作 希望大家继续关注我们,谢谢~ 29