当前位置:主页 > 科技论文 > 计算机论文 >

多核环境下矩阵库设计与优化

发布时间:2022-01-16 03:17
  自1946年计算机问世以来,数值计算一直是计算机应用的主要领域之一,它已经广泛应用到人类生产与生活的各个方面,矩阵运算是数值计算最基本和经常使用的运算之一,它是数值计算的一个基础,提高矩阵运算的性能则显得更为重要。本文把矩阵运算与多核、并行联系起来,并分别从矩阵库的设计,矩阵库的并行化以及多核环境下矩阵库运算的优化三个方面阐述了矩阵库的实现,具体内容如下:(1)矩阵库的设计先在完成功能、运算需求、可维护性、面向对象、并行化等方面确定了矩阵库的设计原则;然后结合矩阵的数学定义、C++的特点和以后程序扩充的需要的基础上,给出了矩阵库的组织结构,并在Microsoft Visual C++ 2008 Express Edition平台上完成矩阵库的设计方案,最后在文中给出矩阵行列式求值的示例。(2)矩阵库的并行研究在分析现有的消息传递模型、数据并行模型、共享存储并行编程模型三种并行模型之后,通过比较重点介绍了一种面向共享内存的多处理器多线程并行程序语言—OpenMP,并对OpenMP指令、库函数和并行化的循环选取原则作了介绍。然后在Microsoft Visual C++ 2008 Expr... 

【文章来源】:武汉理工大学湖北省 211工程院校 教育部直属院校

【文章页数】:66 页

【学位级别】:硕士

【部分图文】:

多核环境下矩阵库设计与优化


矩阵库结构图

环境配置,例子,二醚,程序运行


了于咨三丝三黔二醚二图3一 2OPenMP环境配置先来看下面的例子:#include<omP.h>#include<iostream> intmain(){ #PragmaomPParallelforfor(intm“0;m<10;m++){Printf(,,m=%d恤,,,m);}}程序运行后输出以下结果;fll二027

任务类型,线程,同步结构,子句


图3一3三种共享任务类型结构可以看出使用for语句是由系统自动进行任务分摊的,如果每次循环没有差距,那么分摊是很均匀的,而使用seetion指令是一种用手工来的方式,最终并行性的好坏得由程序员划分的情况而定。(2)同步结构的命令同步结构命令用来控制执行过程中处于不同核上的各线程的同步,主aster、eritieal、flush、bamer,ordered和atomie等命令。master命令用码段只能由主线程执行;critical命令用来指定代码段程序在同一时刻只个线程来执行,如果某一个线程的执行也到达了该代码段,那么它将会直到前一个线程退出了临界区;bamer命令是用来同步一个线程组中的;atomic命令用来指定特定的存储单元自动更新,不允许多个线程同时操作;ordered命令用来指定并行区域的循环按某个顺序执行。(3)数据域属性子句openMP还使用数据作用域子句用来指定变量的作用范围,因为op

【参考文献】:
期刊论文
[1]并行编程模型的研究与发展[J]. 董仁举,祝永志.  计算机技术与发展. 2011(01)
[2]云计算:将一切变为可能[J]. 苑鸿剑.  科技浪潮. 2009(01)
[3]云计算:将一切变为可能[J]. 苑鸿剑.  科技浪潮. 2009 (01)
[4]消息传递模型的并行性能研究[J]. 郭红霞,潘斌.  成都大学学报(自然科学版). 2007(01)
[5]Analysis of Factors Affecting Execution Performance of OpenMP Programs[J]. 李建江,舒继武,陈永健,王鼎兴,郑纬民.  Tsinghua Science and Technology. 2005(03)
[6]数据并行计算:概念、模型与系统[J]. 李晓明.  计算机科学. 2000(06)
[7]程序调试、监测与性能分析的一体化工具[J]. 刘强,张兆庆,乔如良.  软件学报. 1999(02)
[8]利用m4定语言进行Fortran 77循环展开[J]. 张林波.  数值计算与计算机应用. 1998(01)
[9]在具有局部内存与共享主存的并行机上并行求解线性方程组[J]. 迟学斌.  计算数学. 1995(02)
[10]线性方程组的异步迭代法[J]. 迟学斌.  计算数学. 1992(03)



本文编号:3591830

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3591830.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户f1ce0***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com