openmp编译原理及实现技术

openmp编译原理及实现技术

ID:15536511

大小:4.12 MB

页数:250页

时间:2018-08-03

openmp编译原理及实现技术_第1页
openmp编译原理及实现技术_第2页
openmp编译原理及实现技术_第3页
openmp编译原理及实现技术_第4页
openmp编译原理及实现技术_第5页
资源描述:

《openmp编译原理及实现技术》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、内容简介本书是一本学习OpenMP编译原理和实现技术的入门级教材。内容分成三篇,第一篇是并行计算及OpenMP编程的基础内容,第二篇是OpenMP编译及其运行环境,第三篇是实践内容。在第二篇中,以一般编译器常见结构为主线,通过结合详细的OMPi源代码分析向读者介绍OpenMP编译器的工作原理及其实现技术,具体包括词法分析、语法分析、AST树的结构、AST树的生成及相关操作、OpenMP编译制导指令的代码变换、OpenMP线程与OS线程库的接口、运行环境等细节。OpenMP编译制导指令的变换是OpenMP编译的核心内容,需要将OpenMP制导指令的语义功能利用操作系统的线程库来实现,

2、分成并行域管理问题、任务分担和同步问题、变量数据环境问题三个核心内容。第三篇的四章给出了常见编译器、性能测试工具以及OMPi源代码的框架分析。本书是国内第一本关于OpenMP编译器工作原理和实现细节的尝试。读者对象是研究OpenMP编译技术的研究人员和高校师生,作为入门的初步阅读材料,也可以作为研究生和高年级本科生学习并行语言编译技术相关课程的辅助参考书。由于作者才疏学浅,书中难免不少错漏,欢迎读者指正。联系邮件:lqm@szu.edu.cn。1前言编写《OpenMP编译原理及实现技术》教材是深圳大学“计算机科学与技术国家特色专业建设点”的建设内容之一。该教材和相应课程的设计目的有

3、三点:衔接本科《编译原理》课程、扩展OpenMP并行语言编译的知识、增强学生的动手实践和编程能力,书中以OpenMP的一个开源编译器——OMPi作为分析对象,做到理论与实践紧密结合,为进一步学习和研究打下必要的基础。本书读者虽然不要求对编译原理有深入理解,但是还是需要先对编译有初步认识、具备基本概念。对于关心实现技术的读者,建议下载OMPi1.0.0的源码并进行同步阅读。书中第一篇基础部分共两章,分别讲述并行平台和OpenMPC编程作为预备知识。对于没有接触过并行计算技术的读者可以作为一个补充阅读,第2章的OpenMP编程基本上将相关的语言要素作了全面的介绍,没有特殊需要一般不再需

4、要去阅读OpenMP的标准。第二篇编译部分共八章,主要讲述OpenMP的编译器以及运行环境。第3章介绍OpenMP编译器基本框架。第4章介绍词法分析和语法分析,主要以Lex和Yacc工具实现OpenMP词法和语法分析为主要内容。第5章介绍OpenMP编译中使用的AST中间表示。第6章、第7章和第8章介绍OpenMP编译中的并行域管理、任务分担和同步、变量数据环境三大问题,这是OpenMP编译的核心所在。第9章讲述目标代码生成,主要是如何利用“框架”来实现OpenMP翻译的技术。第10章以OMPi运行环境为例讲述相应的运行环境,。第三篇实践部共有四章内容。第11章给出了几种常见的Op

5、enMP编译器以及性能测试工具,用于读者测试自己设计的或修改的编译器性能。第12章、13章和第14章是关于OMPi编译器工作流程和框架的内容,并有两个主要的上层源文件的代码分析,如果希望在OMPi的基础之上进行增强改进,那么这3章的内容将有所帮助。对学习或课程的安排可以分成不同流程,比如根据教学偏向于原理性还是实践性、是否具有并行计算基础等情况,选取书中部分章节作为参考材料,书中各章倾向性情况安排如下:预备知识第1章第2章并行计算基础OpenMP编程原理性内容第3章第4章第9章第10章OpenMP专有内容OpenMP编译词法语法分析目标代码运行环境第5章第6章第7章第8章AST并行

6、域任务分担数据环境实践性内容第11章第12章第13章第14章编译器及工具OMPi框架ompicc.compi.c虽然书中有大量的代码,但是读者在第一遍阅读时可以只作粗略浏览,第二遍阅读时再仔细阅读代码。由于源代码阅读往往需要参考不同章节的内容,因此书中有大量的交叉引用说明。2如果对OpenMP编译有一定了解,并希望掌握OMPi的具体编码实现技术,可以从第12章开始阅读,将整体框架看完,再根据需要返回第二篇阅读编译细节。限于作者的学识水平,书中难免有不少错误和不足,恳请读者批评指正。作者在编写本书时深感“抛砖引玉”一词不仅仅是场面上的客套话,更是作者的内心体会和期望。3致谢本书得以顺

7、利完稿,是许多人的共同努力!在此首先要感谢陈国良院士的支持和帮助。陈院士于2009年到深圳大学主持计算机与软件学院的教学科研的全面工作,作者作为其高性能团队成员有幸参与了众多高性能计算的科研工作,包括参与全国产万亿次个人高性能计算机KD-60研制、作为核心人员研制了SD-1PHPC以及正在进行基于龙芯处理器的SD-30十万亿次全国产化高性能计算机的研制等等。在这些工作中,作者萌发了编写OpenMP编译方面的书籍,陈院士表示认可和支持并给出了非常有价值的意见和建议,这就

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。