并行算法PPT讲稿.ppt

上传人:石*** 文档编号:88370332 上传时间:2023-04-25 格式:PPT 页数:23 大小:6.12MB
返回 下载 相关 举报
并行算法PPT讲稿.ppt_第1页
第1页 / 共23页
并行算法PPT讲稿.ppt_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《并行算法PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《并行算法PPT讲稿.ppt(23页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、并行算法第1页,共23页,编辑于2022年,星期日 并行算法是并行计算中非常重要的问题。并法研究应该确立一个并行算法是并行计算中非常重要的问题。并法研究应该确立一个“理理论设计实现应用论设计实现应用”的系统方法,形成一个完善的的系统方法,形成一个完善的“架构架构算法算法编程编程”方法论,这样才能保证并行算法不断发展并变得更加实用。方法论,这样才能保证并行算法不断发展并变得更加实用。第一部分第一部分 并行算法在大规模集群系统中的应用之并行算法在大规模集群系统中的应用之windowswindows篇篇第二部分第二部分 并行算法在单机多核多并行算法在单机多核多cpucpu系统中的应用之系统中的应用之

2、windowswindows篇篇 第三部分第三部分 并行算法在大规模集群系统中的应用之并行算法在大规模集群系统中的应用之linuxlinux篇篇第四部分第四部分 并行算法在单机多核多并行算法在单机多核多cpucpu系统中的应用之系统中的应用之linuxlinux篇篇并行算法在大规模力学计算中的应用第2页,共23页,编辑于2022年,星期日并行算法在大规模力学计算中的应用 并行算法是并行计算中非常重要的问题。并法研究应该确立一个并行算法是并行计算中非常重要的问题。并法研究应该确立一个“理理论设计实现应用论设计实现应用”的系统方法,形成一个完善的的系统方法,形成一个完善的“架构架构算法算法编程编程

3、”方法论,这样才能保证并行算法不断发展并变得更加实用。方法论,这样才能保证并行算法不断发展并变得更加实用。一一.计算机的组成结构计算机的组成结构 1.计算机硬件计算机硬件 2.计算机操作系统计算机操作系统二二.并行算法在单机多核多并行算法在单机多核多cpu系统中的实现系统中的实现 1.单机并行算法的原理单机并行算法的原理 2.intel fortran 介绍介绍 3.intel fortran的安装及使用的安装及使用三三.并行算法的应用并行算法的应用 例子之例子之:NewMulti.f程序运行性能对比程序运行性能对比第二部分第二部分 并行算法在单机多核多并行算法在单机多核多cpucpu系统中的

4、应用之系统中的应用之windowswindows篇篇第3页,共23页,编辑于2022年,星期日一一.计算机的组成结构计算机的组成结构第二部分第二部分 并行算法在单机多核多并行算法在单机多核多cpucpu系统中的应用之系统中的应用之windowswindows篇篇1.计算机发展史计算机发展史2.计算机硬件组成计算机硬件组成1.计算机硬件计算机硬件第4页,共23页,编辑于2022年,星期日一一.计算机的组成结构计算机的组成结构第二部分第二部分 并行算法在单机多核多并行算法在单机多核多cpucpu系统中的应用之系统中的应用之windowswindows篇篇1.计算机发展史计算机发展史一、第一台计算机

5、的诞生一、第一台计算机的诞生 第一台计算机第一台计算机(ENIAC)于于1946年年2月月,在美国诞生。在美国诞生。ENIAC耗资耗资 100万美圆万美圆 重量重量 30吨吨 占地占地 150平方米平方米电子器件电子器件 19万只电子管万只电子管 运算速度运算速度 5000次次/秒秒 二、计算机发展历史二、计算机发展历史 1、第一代计算机(、第一代计算机(19461958)电子管为基本电子器件;使用机器语言和汇编语言;主要应用于国防和科学电子管为基本电子器件;使用机器语言和汇编语言;主要应用于国防和科学计算;运算速度每秒几千次至几万次。计算;运算速度每秒几千次至几万次。2、第二代计算机、第二代

6、计算机(19581964)晶体管为主要器件;软件上出现了操作系统和算法语言;运算速度每秒几万次至几十万次。晶体管为主要器件;软件上出现了操作系统和算法语言;运算速度每秒几万次至几十万次。3、第三代计算机、第三代计算机(19641971)普遍采用集成电路;体积缩小;运算速度每秒几十万次至几百万次。普遍采用集成电路;体积缩小;运算速度每秒几十万次至几百万次。4、第四代计算机第四代计算机(1971)以大规模集成电路为主要器件;运算速度每秒几百万次至上亿次。以大规模集成电路为主要器件;运算速度每秒几百万次至上亿次。第5页,共23页,编辑于2022年,星期日二二.计算机硬件组成计算机硬件组成第二部分第二

7、部分 并行算法在单机多核多并行算法在单机多核多cpucpu系统中的应用之系统中的应用之windowswindows篇篇CRTCRT显示器显示器液晶显示器液晶显示器主板主板内存内存硬盘硬盘光驱光驱显卡显卡电源电源键盘鼠标键盘鼠标第6页,共23页,编辑于2022年,星期日二二.计算机硬件组成之计算机硬件组成之CPUCPU第二部分第二部分 并行算法在单机多核多并行算法在单机多核多cpucpu系统中的应用之系统中的应用之windowswindows篇篇一、一、CPU的介绍的介绍 CPU就是所谓的中央处理器或中央处理单元就是所谓的中央处理器或中央处理单元,也也就是就是Central Processing

8、 Unit的缩写的缩写.CPU是驱是驱动整个电脑运作的中心枢纽动整个电脑运作的中心枢纽,又称电脑的心脏又称电脑的心脏,其内部包括其内部包括控制单元控制单元,算术及逻辑单元算术及逻辑单元,暂存器或记忆暂存器或记忆单元单元.当电脑系统开始运作时当电脑系统开始运作时,CPU从记忆体内从记忆体内,读读取操作它的软体的指令与资料取操作它的软体的指令与资料,透过透过ALU运算出结运算出结果后存回记忆体果后存回记忆体,同时由主机板同时由主机板,与外界的与外界的I/O周边周边沟通沟通,达到资料处理的目的达到资料处理的目的.CPU会因其硬体架构会因其硬体架构如资料如资料/指令格式指令格式,分配分配,解码解码,介

9、面与运作方式的不介面与运作方式的不同有差异同有差异,而且用途也可能不一而且用途也可能不一.第7页,共23页,编辑于2022年,星期日二二.计算机硬件组成之计算机硬件组成之CPUCPU第二部分第二部分 并行算法在单机多核多并行算法在单机多核多cpucpu系统中的应用之系统中的应用之windowswindows篇篇二、二、CPU的基本架构的基本架构 算术及逻辑运算单元算术及逻辑运算单元(ALU):加加,减减,乘乘,除及比较除及比较,选择选择,判断等运算判断等运算.控制单元控制单元(CU):翻译程式中的指令的解码功能及协翻译程式中的指令的解码功能及协调控制各部门依指令执行使电脑自动化处理资料调控制各

10、部门依指令执行使电脑自动化处理资料.记忆单元记忆单元(memory):储存目前正要被处理运算的程储存目前正要被处理运算的程式或资料式或资料,容量以容量以KB为单位为单位.输入单元输入单元(Input,I/P):接受输入的资料或程式接受输入的资料或程式,以供以供进一步处理进一步处理.如如:键盘键盘,滑鼠等滑鼠等.输出单元输出单元(Output,O/P):负责将负责将CPU处理结果输出处理结果输出,输出於各种输出设备上输出於各种输出设备上,如如:印表机印表机,磁碟机等磁碟机等.暂存器暂存器(Register):暂时储存资料暂时储存资料,如用来储存运算的如用来储存运算的累积器累积器.其功能与记忆体相

11、似其功能与记忆体相似.CPU内部较重要的暂存器:1.程式计数器PC(Program Counter):负责储存CPU下一次所要执的记忆体位址.2.指令暂存器IR(Instruction Register):负责储存CPU所要执行的指令.3.堆叠指标器SP(Stack Pointer):负责储存CPU目前使用的堆叠位址.4.位址暂存器MAR:负责储存CPU所要存取记忆体资料的位址.第8页,共23页,编辑于2022年,星期日二二.计算机硬件组成之计算机硬件组成之第二部分第二部分 并行算法在单机多核多并行算法在单机多核多cpucpu系统中的应用之系统中的应用之windowswindows篇篇三三,衡

12、量衡量CPUCPU的性能的性能 1.内部运算架构内部运算架构(Architexture):例如说这颗例如说这颗CPU的内部设计的内部设计,是是scalar,还是超纯量还是超纯量(superscalar)的设计的设计;有无内建快取记忆体有无内建快取记忆体,指令指令,资料与记忆体的读写设计等资料与记忆体的读写设计等,都会影响整个都会影响整个CPU的运作效能的运作效能.2.位元处理能力位元处理能力:例如例如8位元位元,16位元的位元的CPU.通常这跟通常这跟CPU内部暂存器内部暂存器,资料汇流排或指令宽度有关资料汇流排或指令宽度有关.就就Intel的定义的定义,8086/286的通用暂存器的通用暂存

13、器(General Purpose Registers)GPR是是16位元位元,所以它们算是所以它们算是16位元的位元的CPU;386/486以至於以至於Pentium,PentiumPro,也是也是32位元的位元的CPU,因为因为CPU核心的核心的GPR只有只有32位位元元.3.记忆体容量记忆体容量:我们说这颗我们说这颗CPU的记忆体控制范围有多少的记忆体控制范围有多少MB,像像386/486等等32位元的位元的CPU,其最大记其最大记忆体容量有忆体容量有2的的32次方等於次方等於4096MB=4GB.4.工作时脉工作时脉(clock):每个每个CPU工作时脉越高工作时脉越高,执行指令的单位

14、时间执行指令的单位时间(cycle)越小越小,速度就越快速度就越快.例如说例如说Intel486DX-33,是以是以33MHz(=33,000,000Hz/每秒钟每秒钟)为工作时脉为工作时脉,它其与同类型的它其与同类型的486DX-25(24MHZ工作时脉工作时脉)相比较相比较,前者速度就比后者快上约前者速度就比后者快上约33%.5.IC制程制程:目前有目前有BiCMOS与与CMOS两类两类.一般是以若依线路精密度来分一般是以若依线路精密度来分,是以微米是以微米(micron,=10的的负负6次方次方M,也就是百万分之一公尺也就是百万分之一公尺).目前最新的目前最新的CPU制程为制程为0.13

15、um.第9页,共23页,编辑于2022年,星期日二二.计算机硬件组成之计算机硬件组成之四、衡量四、衡量CPU的性能的性能 标准标准 衡量衡量CPU性能的第一标准性能的第一标准:核心核心 核心(核心(Die)又称为内核,是)又称为内核,是CPU最重要的组成部分。最重要的组成部分。CPU中心那块隆起的芯片就是核心,是由中心那块隆起的芯片就是核心,是由单晶硅单晶硅以一定的以一定的生产工艺制造出来的,生产工艺制造出来的,CPU所有的所有的计算、接受计算、接受/存储命令、处理数据存储命令、处理数据都由核心执行。各种都由核心执行。各种CPU核心都具有固定的逻辑结核心都具有固定的逻辑结构,一级缓存、二级缓存

16、、执行单元、指令级单元和总线接口等逻辑单元都会有科学的布局。构,一级缓存、二级缓存、执行单元、指令级单元和总线接口等逻辑单元都会有科学的布局。影响因素影响因素:是什么架构的什么核心是什么架构的什么核心,以及核心数是多少以及核心数是多少.(单核还是双核单核还是双核)衡量衡量CPU性能的第二标准性能的第二标准:缓存缓存 一级和二级缓存的大小将直接决定一级和二级缓存的大小将直接决定CPU运行的速度和稳定性运行的速度和稳定性.一级缓存的作用一级缓存的作用:目前所有主流处理器大都具有一级缓存和二级缓存,少数高端处理器还集成了三级缓存。其中,一级缓存可分目前所有主流处理器大都具有一级缓存和二级缓存,少数高

17、端处理器还集成了三级缓存。其中,一级缓存可分为为一级指令缓存一级指令缓存和和一级数据缓存一级数据缓存。一级指令缓存用于暂时存储并向。一级指令缓存用于暂时存储并向CPU递送各类运算指令;一级数据缓存用于暂时存储并递送各类运算指令;一级数据缓存用于暂时存储并向向CPU递送运算所需数据递送运算所需数据.二级缓存的作用二级缓存的作用:是一级缓存的缓冲器:一级缓存制造成本很高因此它的容量有限,二级缓存的作用就是存是一级缓存的缓冲器:一级缓存制造成本很高因此它的容量有限,二级缓存的作用就是存储那些储那些CPU处理时需要用到、一级缓存又无法存储的数据。同样道理,三级缓存和内存可以看作是二级缓存的缓冲器,它们

18、的容处理时需要用到、一级缓存又无法存储的数据。同样道理,三级缓存和内存可以看作是二级缓存的缓冲器,它们的容量递增,但单位制造成本却递减。需要注意的是,无论是二级缓存、三级缓存还是内存都不能存储处理器操作的原始指令,这些指量递增,但单位制造成本却递减。需要注意的是,无论是二级缓存、三级缓存还是内存都不能存储处理器操作的原始指令,这些指令只能存储在令只能存储在CPU的一级指令缓存中,而余下的二级缓存、三级缓存和内存仅用于存储的一级指令缓存中,而余下的二级缓存、三级缓存和内存仅用于存储CPU所需数据。所需数据。衡量衡量CPU性能的第三标准性能的第三标准:主频主频 主频是指微型计算机中主频是指微型计算

19、机中CPU的时钟频率的时钟频率(CPU Clock Speed),也就是,也就是CPU运算时的工作频率。一般来说,主频越高,运算时的工作频率。一般来说,主频越高,一个时钟周期里完成的指令数也越多,当然一个时钟周期里完成的指令数也越多,当然CPU的速度就越快。的速度就越快。第10页,共23页,编辑于2022年,星期日二二.计算机硬件组成之计算机硬件组成之五、主流五、主流CPUCPU对比对比 intelintel的功耗比较小的功耗比较小 所以使用起来发热比较慢所以使用起来发热比较慢 稳定稳定 实用于科学计算等实用于科学计算等 AMDAMD的功耗大的功耗大 发热快发热快 寿命不长寿命不长 实用与办公

20、环境实用与办公环境 等等 各有所长 第11页,共23页,编辑于2022年,星期日二二.并行算法在单机多核多并行算法在单机多核多cpucpu系统中的实现系统中的实现第二部分第二部分 并行算法在单机多核多并行算法在单机多核多cpucpu系统中的应用之系统中的应用之windowswindows篇篇1.1.单机并行算法的原理单机并行算法的原理 单机单单机单CPUCPU时,要想利用并行来提高性能,对任务是有特殊要时,要想利用并行来提高性能,对任务是有特殊要求的,一般是要利用求的,一般是要利用IOIO操作导致的操作导致的CPUCPU空闲,一般是用一个线程完成计空闲,一般是用一个线程完成计算密集型的子任务,

21、用其它线程完成互不干扰的算密集型的子任务,用其它线程完成互不干扰的IOIO密集型的子任务。比密集型的子任务。比较常见的模板比如一个线程读文件(较常见的模板比如一个线程读文件(IOIO),一个线程向数据库保存),一个线程向数据库保存(IOIO),一个线程负责从文件格式到数据库要求的格式的数据转换(计算),一个线程负责从文件格式到数据库要求的格式的数据转换(计算)。如果你的任务基本上属于计算密集型的任务,无论它的可并行度多么高,。如果你的任务基本上属于计算密集型的任务,无论它的可并行度多么高,都无法在单都无法在单CPUCPU的机器上用并行的方法提高性能的机器上用并行的方法提高性能反而会损失性能。反

22、而会损失性能。在多执行单元在多执行单元(多多CPUCPU,或网络计算,或网络计算)利用并行运算提高性能时,最利用并行运算提高性能时,最重要的就是分析算法本身的并行度。有些计算天生就具有很高的并行重要的就是分析算法本身的并行度。有些计算天生就具有很高的并行能力,比如矩阵乘法。一般分治法的问题也都可以直接改为并行,但能力,比如矩阵乘法。一般分治法的问题也都可以直接改为并行,但对执行单元的利用不高。比如快速排序,第一层只能由一个单元运算,对执行单元的利用不高。比如快速排序,第一层只能由一个单元运算,然后是两个、四个然后是两个、四个。在网络中并行运算还要注意不同执行单元之。在网络中并行运算还要注意不同

23、执行单元之间的通信代价,如果代价很大就完全可能抵消并行处理带来的性能优间的通信代价,如果代价很大就完全可能抵消并行处理带来的性能优势。势。程序体Intle编译器编译分解程序程序结束并得出结果第12页,共23页,编辑于2022年,星期日二二.并行算法在单机多核多并行算法在单机多核多cpu系统中的实现系统中的实现2.Intel fortran 介绍介绍第二部分第二部分 并行算法在单机多核多并行算法在单机多核多cpucpu系统中的应用之系统中的应用之windowswindows篇篇 英特尔英特尔 Fortran Fortran 编译器专业版可为编译器专业版可为创建多线程应用程序提供最好的支持。创建多

24、线程应用程序提供最好的支持。只有专业版才能提供广泛的只有专业版才能提供广泛的高级优化、多线程和处理器支持高级优化、多线程和处理器支持,其中包括其中包括自动处理器调度、矢量化功能、自动并行处理、自动处理器调度、矢量化功能、自动并行处理、OpenMP*OpenMP*、数据预取、循环展开、重要的、数据预取、循环展开、重要的 Fortran 2003 Fortran 2003 支持支持以及高度优化的数学处理库。以及高度优化的数学处理库。专业版将高性能编译器与英特尔专业版将高性能编译器与英特尔 数学核心函数库数学核心函数库(英特尔(英特尔 MKL MKL)结合在一起。虽然此库是单独提供的,)结合在一起。

25、虽然此库是单独提供的,但是专业版仍为构建成本低廉、功能强大的高性能并行代但是专业版仍为构建成本低廉、功能强大的高性能并行代码打下了坚实的基础。码打下了坚实的基础。intel visual fortran intel visual fortran compilercompiler只是编译器,需要只是编译器,需要放到放到IDEIDE(集成开发环境集成开发环境)中去才能使用。中去才能使用。compaq visual compaq visual fortranfortran是已经把是已经把fortranfortran编译器集成到了编译器集成到了VS6.0VS6.0中,中,所以可以直接安装使用。所以可以

26、直接安装使用。Visual Studio 6.0 Visual Studio 6.0 就是一种就是一种IDEIDE 第13页,共23页,编辑于2022年,星期日 二二.并行算法在单机多核多并行算法在单机多核多cpu系统中的实现系统中的实现2.Intel fortran 介介绍第二部分第二部分 并行算法在单机多核多并行算法在单机多核多cpucpu系统中的应用之系统中的应用之windowswindows篇篇第14页,共23页,编辑于2022年,星期日 2.Intel fortran 介介绍第二部分第二部分 并行算法在单机多核多并行算法在单机多核多cpucpu系统中的应用之系统中的应用之window

27、swindows篇篇1.1.多线程应用支持多线程应用支持:包括用于简单有效的软件线程技术的包括用于简单有效的软件线程技术的 OpenMPOpenMP 和和自动并行处理自动并行处理。2.2.自动矢量化功能自动矢量化功能:对代码进行并行处理,以便利用最新处理器的单指令多数据流扩展对代码进行并行处理,以便利用最新处理器的单指令多数据流扩展 (SSE)(SSE)指令集体系结构指令集体系结构(SSESSE、SSE2SSE2、SSE3SSE3、SSSE3 SSSE3 和和 SSE4SSE4)。)。3.3.高性能并行优化程序高性能并行优化程序 (HPO):(HPO):重构并优化循环,以确保自动矢量化功能、重

28、构并优化循环,以确保自动矢量化功能、OpenMP OpenMP 或自动并行处理功能最大限度地将处理器的或自动并行处理功能最大限度地将处理器的功能用于高速缓存和内存访问、功能用于高速缓存和内存访问、SIMD SIMD 指令集以及用于多个内核。这一创新功能(对于版本指令集以及用于多个内核。这一创新功能(对于版本 10 10 而言为全新功能)将矢量化功能、并行处理和循环转换组合成一个流程,与以前离散的多个阶段相比,而言为全新功能)将矢量化功能、并行处理和循环转换组合成一个流程,与以前离散的多个阶段相比,该流程更快、更有效且更可靠。该流程更快、更有效且更可靠。4.4.过程间优化过程间优化 (IPO)(

29、IPO):对于包含许多常用中、小函数的程序,特别是循环内包含调用的程序,对于包含许多常用中、小函数的程序,特别是循环内包含调用的程序,IPO IPO 可以极大地提高应用程可以极大地提高应用程序性能。此优化程序的分析功能还可以提供有关漏洞和编码错误(如未初始化的变量或序性能。此优化程序的分析功能还可以提供有关漏洞和编码错误(如未初始化的变量或 OpenMP API OpenMP API 问题)的反馈,即使是严格依赖于编译器前端提供的分析的编译器也问题)的反馈,即使是严格依赖于编译器前端提供的分析的编译器也无法检测到这些错误。无法检测到这些错误。5.5.档案导引优化档案导引优化 (PGO)(PGO

30、):通过降低指令缓存快取置换(通过降低指令缓存快取置换(cache-thrashingcache-thrashing)、重组代码布局、缩减代码长度并减少分)、重组代码布局、缩减代码长度并减少分支预测失误来提高应用程序性能。支预测失误来提高应用程序性能。使用英特尔使用英特尔 调试器针对已优化代码进行调试对于已针对英特尔调试器针对已优化代码进行调试对于已针对英特尔 架构进行优化的代码,架构进行优化的代码,能够提升其调试过程的效率。能够提升其调试过程的效率。先进的优化特性概览先进的优化特性概览二二.并行算法在单机多核多并行算法在单机多核多cpu系统中的实现系统中的实现第15页,共23页,编辑于202

31、2年,星期日 二二.并行算法在单机多核多并行算法在单机多核多cpu系统中的实现系统中的实现2.Intel fortran 介介绍第二部分第二部分 并行算法在单机多核多并行算法在单机多核多cpucpu系统中的应用之系统中的应用之windowswindows篇篇 OpenMPOpenMP 是可移植多线程应用程序开发的行业标准。是可移植多线程应用程序开发的行业标准。它具有使应用程序因为在多核心与对称多处理器系统上并它具有使应用程序因为在多核心与对称多处理器系统上并行执行而获得大幅性能提升的潜力行执行而获得大幅性能提升的潜力 自动并行自动并行 使用能自动将循环线程化的自动并行功能,提使用能自动将循环线

32、程化的自动并行功能,提高多处理器系统上的应用程序性能高多处理器系统上的应用程序性能.这个选项会检测能够安全这个选项会检测能够安全地并行执行的循环,然后自动生成多线程代码。地并行执行的循环,然后自动生成多线程代码。第16页,共23页,编辑于2022年,星期日 二二.并行算法在单机多核多并行算法在单机多核多cpu系统中的实现系统中的实现2.Intel fortran 介介绍第二部分第二部分 并行算法在单机多核多并行算法在单机多核多cpucpu系统中的应用之系统中的应用之windowswindows篇篇自动矢量器自动矢量器 矢量器可自动对代码进行并行化处理,以便充矢量器可自动对代码进行并行化处理,以

33、便充分利用处理器的潜在能力。这种先进的优化对循环分利用处理器的潜在能力。这种先进的优化对循环进行分析,并确定何时可以安全有效地利用进行分析,并确定何时可以安全有效地利用 MMXMMX、SSESSE、SSE2 SSE2 和和 SSE3 SSE3 指令并行执行几指令并行执行几种反复循环。图种反复循环。图 中中 显示了经过矢量化的循环,它在显示了经过矢量化的循环,它在一次一次 SSE2 SSE2 运算中计算了四个迭代。运算中计算了四个迭代。第17页,共23页,编辑于2022年,星期日 二二.并行算法在单机多核多并行算法在单机多核多cpu系统中的实现系统中的实现2.Intel fortran 介介绍第

34、二部分第二部分 并行算法在单机多核多并行算法在单机多核多cpucpu系统中的应用之系统中的应用之windowswindows篇篇过程间优化过程间优化 (IPO)(IPO)对于包含许多常用中、小函数的程序,特别是循环内包含调对于包含许多常用中、小函数的程序,特别是循环内包含调用的程序,用的程序,IPO IPO 可以极大地提高应用程序性能。这套可用可以极大地提高应用程序性能。这套可用于英特尔编译器中自动运算的技术无需关注单独的函数,于英特尔编译器中自动运算的技术无需关注单独的函数,而是利用多文件或整个程序来监测并执行优化。而是利用多文件或整个程序来监测并执行优化。图中显示的图中显示的 IPO IP

35、O 流程首先流程首先需要使用需要使用 IPO IPO 选项对源文件选项对源文件进行编译,创建对象进行编译,创建对象 (.o)(.o)文文件,这些文件包含编译器使用的中件,这些文件包含编译器使用的中间语言间语言 (IL)(IL)。根据链接,编译。根据链接,编译器结合所有器结合所有 IL IL 信息并对其进行信息并对其进行分析,以便实现优化机会。典型的分析,以便实现优化机会。典型的优化作为优化作为 IPO IPO 流程的一部分,包流程的一部分,包括程序内联和重排、删除无用(不括程序内联和重排、删除无用(不能获得)的代码、常数传播或已知能获得)的代码、常数传播或已知常量值的代入。常量值的代入。IPO

36、 IPO 在程序内在程序内级别中支持更强大的优化,级别中支持更强大的优化,因为多程序的更多上下文能因为多程序的更多上下文能够使这些更强大的优化更安够使这些更强大的优化更安全。全。第18页,共23页,编辑于2022年,星期日 二二.并行算法在单机多核多并行算法在单机多核多cpu系统中的实现系统中的实现3.intel fortran的安装及使用的安装及使用第二部分第二部分 并行算法在单机多核多并行算法在单机多核多cpucpu系统中的应用之系统中的应用之windowswindows篇篇1)安装前,请先安装 Microsoft Visual Studio 2005 2005 2)下载Intel 编译器

37、安装包,并运行安装(请尽量使用 Administrator/root 权限的账号进行安装)3)看到 Intel Software Setup Assistant 安装界面,提供许可文件(License File,通常以.lic结尾,建议放入缺省目录 C:/Programming Files/Common Files/Intel/Licenses(或者通过环境变量 INTEL_LICENSE_FILE 指定路径)4)选择 下一步 进行典型安装,直到全部结束 安安 装装第19页,共23页,编辑于2022年,星期日 二二.并行算法在单机多核多并行算法在单机多核多cpu系统中的实现系统中的实现3.in

38、tel fortran的安装及使用的安装及使用第二部分第二部分 并行算法在单机多核多并行算法在单机多核多cpucpu系统中的应用之系统中的应用之windowswindows篇篇注意注意:Intel Visual FortranIntel Visual Fortran缺省的安装目录在缺省的安装目录在 C:Program FilesIntelCompilerFortranxx.x.xxx(xx.x.xxxC:Program FilesIntelCompilerFortranxx.x.xxx(xx.x.xxx代表版本号代表版本号,IA32,IA32代表代表IA-IA-3232版本版本,em64t,e

39、m64t代表代表Intel 64Intel 64版本版本)可以直接在可以直接在 Visual Studio Visual Studio 开发环境中开发环境中,通过创建新的通过创建新的 Intel Fortran Intel Fortran 工程来使用工程来使用 Intel Visual Intel Visual Fortran Fortran 编译器编译器.也可以通过命令行使用也可以通过命令行使用 Intel Visual Fortran,Intel Visual Fortran,可以通过点击系统菜单可以通过点击系统菜单 Start-All Programs-Intel Start-All P

40、rograms-Intel Software Development Tools-Intel Fortran Compiler 10.1.xxx-Fortran Build environment for Software Development Tools-Intel Fortran Compiler 10.1.xxx-Fortran Build environment for applications running on.,applications running on.,这样会自动设置好所有的系统环境这样会自动设置好所有的系统环境.使使 用用另外另外,也可以通过在也可以通过在命令行窗口

41、命令行窗口,运行运行 C:ProgramFilesIntelCompilerFortranC:ProgramFilesIntelCompilerFortran10.1.012xxxbinifortvars.bat 10.1.012xxxbinifortvars.bat 来手工设来手工设定定,特别是需要和特别是需要和 C+C+编译器混合使用编译器混合使用的时候的时候.命令行然后编译源文件命令行然后编译源文件:ifort my_source_file.f90 ifort my_source_file.f90 查看当前版本查看当前版本 (Visual Studio(Visual Studio中通过中

42、通过 Help Help-About-About 菜单菜单 ifort-V ifort-V 参看支持的所有命令行选项参看支持的所有命令行选项 ifort-help ifort-help 第20页,共23页,编辑于2022年,星期日第二部分第二部分 并行算法在单机多核多并行算法在单机多核多cpucpu系统中的应用之系统中的应用之windowswindows篇篇机器配置机器配置 intel志强双志强双cpu双核双核(Xeon(tm)3.0G),4G内存内存使用平台使用平台 windows xp sp4,intel fortran for windows linux centos 4.4,intel

43、 fortran for linux使用程序使用程序 NewMulti.f实验数据对比实验数据对比(程序未优化前,程序优化后)(程序未优化前,程序优化后)1.未使用并行算法优化的源程序,以未使用并行算法优化的源程序,以windows为计算平台,需要为计算平台,需要16小时小时以上。以上。2.用并行算法优化后,在用并行算法优化后,在linux下,完下,完成程序计算仅需要成程序计算仅需要2小时小时30分。分。3.用并行算法优化后,在用并行算法优化后,在windows下,完成程序计算需要下,完成程序计算需要4.5小时。小时。(完成十步用时完成十步用时33分钟分钟)性能对比性能对比性能对比性能对比第2

44、1页,共23页,编辑于2022年,星期日第三部分第三部分 并行算法在大规模集群系统中的应用之并行算法在大规模集群系统中的应用之linuxlinux篇篇 谢谢 谢谢 大大 家家!第二部分第二部分 并行算法在单机多核多并行算法在单机多核多cpucpu系统中的应用之系统中的应用之windowswindows篇篇第22页,共23页,编辑于2022年,星期日Backdrops:-These are full sized backdrops,just scale them up!-Can be Copy-Pasted out of Templates for use anywhere!Title BackdropSlide BackdropPrint BAdditional Graphics:-Scale them up or down!-.GIF clipart is animated.-.JPG clipart can be scaled up and take up little file space.-.PNG clipart can be scaled unusually large without distortion.Animated GIFsPNG clipart第23页,共23页,编辑于2022年,星期日

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com