出版時(shí)間:2012-5 出版社:清華大學(xué)出版社 作者:羅秋明 等著 頁(yè)數(shù):308 字?jǐn)?shù):480000
Tag標(biāo)簽:無
內(nèi)容概要
《openmp編譯原理及實(shí)現(xiàn)技術(shù)》是一本學(xué)習(xí)openmp編譯原理和實(shí)現(xiàn)技術(shù)的入門級(jí)教材。全書分成三篇,第一篇是并行計(jì)算及openmp編程的基礎(chǔ)內(nèi)容,第二篇是openmp編譯及其運(yùn)行環(huán)境,第三篇是實(shí)踐內(nèi)容。在第二篇中,以一般編譯器常見結(jié)構(gòu)為主線,通過結(jié)合詳細(xì)的ompi源代碼分析向讀者介紹openmp編譯器的工作原理及其實(shí)現(xiàn)技術(shù),具體包括詞法分析、語法分析、ast的結(jié)構(gòu)、ast的生成及相關(guān)操作、openmp編譯制導(dǎo)指令的代碼變換,openmp線程與os線程庫(kù)的接口、運(yùn)行環(huán)境等細(xì)節(jié)。openmp編譯制導(dǎo)指令的變換是openmp編譯的核心內(nèi)容,需要將openmp編譯制導(dǎo)指令的語義功能利用操作系統(tǒng)的線程庫(kù)來實(shí)現(xiàn),分成并行域管理問題、任務(wù)分擔(dān)和同步問題、變量數(shù)據(jù)環(huán)境問題三個(gè)核心內(nèi)容。第二篇的四章內(nèi)容分別給出了常見編譯器、性能測(cè)試丁具以及ompi源代碼的框架分析。
《openmp編譯原理及實(shí)現(xiàn)技術(shù)》是國(guó)內(nèi)第一本對(duì)openmp編譯器工作原理和實(shí)現(xiàn)細(xì)節(jié)進(jìn)行闡述的圖書。本書是研究openmp編譯技術(shù)的研究人員和高校師生的入門教材,也是研究生和高年級(jí)本科生學(xué)習(xí)并行語言編譯技術(shù)相關(guān)課程的參考書。
書籍目錄
第一篇 基礎(chǔ)
第1章 并行計(jì)算基礎(chǔ)
1.1基本概念
1.2并行計(jì)算平臺(tái)
1.3并行程序設(shè)計(jì)技術(shù)
1.4本章小結(jié)
習(xí)題
第2章 openmp編程基礎(chǔ)
2.1openmp基本概念
2.2openmp編程
2.3本章小結(jié)
習(xí)題
第二篇 openmp編譯
第3章 openmp編譯
3.1openmp編譯系統(tǒng)
3.2openmp編譯器結(jié)構(gòu)
3.3編譯優(yōu)化
3.4本章小結(jié)
習(xí)題
第4章 詞法與語法分析
4.1lex工具
4.2openmp/c的詞法分析
4.3scanner.l
4.4yacc工具
4.5openmp/c語法分析
4.6本章小結(jié)
習(xí)題
第5章 ast的創(chuàng)建
5.1中間表示
5.2ast節(jié)點(diǎn)數(shù)據(jù)結(jié)構(gòu)
5.3ast節(jié)點(diǎn)維護(hù)函數(shù)
5.4ast的創(chuàng)建
5.5符號(hào)表
5.6本章小結(jié)
習(xí)題
第6章 并行域管理
6.1并行域及其嵌套
6.2并行域管理
6.3目標(biāo)代碼形式
6.4ompi的并行域管理
6.5本章小結(jié)
習(xí)題
第7章 任務(wù)分擔(dān)與線程同步
7.1for制導(dǎo)指令
7.2sections制導(dǎo)指令
7.3single制導(dǎo)指令
7.4'nowar問題
7.5歸約操作
7.6線程同步
7.7本章小結(jié)
習(xí)題
第8章 數(shù)據(jù)環(huán)境控制
8.1共享與私有
8.2并行域邊界處理
8.3ompi數(shù)據(jù)環(huán)境控制
8.4本章小結(jié)
習(xí)題
第9章 產(chǎn)生目標(biāo)代碼
9.1源代碼變換
9.2ast變換
9.3代碼優(yōu)化
9.4ast輸出
9.5本章小結(jié)
第10章 運(yùn)行環(huán)境
10.1重要數(shù)據(jù)結(jié)構(gòu)
10.2初始化與退出
10.3并行支撐函數(shù)
10.4openmp的api
10.5環(huán)境變量
10.6本章小結(jié)
第三篇 實(shí)踐篇
第11章 編譯器及測(cè)試工具
11.1常見openmp編譯器
11.2性能測(cè)試工具
11.3本章小結(jié)
第12章 ompi框架分析
12.1工作流程
12.2ompi的處理步驟
12.3代碼轉(zhuǎn)換
12.4進(jìn)程問題
12.5運(yùn)行環(huán)境
12.6源代碼文檔結(jié)構(gòu)
12.7后續(xù)閱讀建議
12.8本章小結(jié)
第13章 ompicc.c源碼分析
13.1ompicc工作流程
13.2變量聲明及參數(shù)處理
13.3編譯部分
13.4鏈接部分
13.5主函數(shù)部分
13.6配置文件
13.7運(yùn)行參數(shù)與選項(xiàng).
13.8本章小結(jié)
第14章 ompi.c源碼分析
14.1ompi工作流程
14.2ompi.c
14.3ort.defs
14.4ompi.h
14.5小結(jié)
章節(jié)摘錄
版權(quán)頁(yè): 插圖: 在學(xué)習(xí)OpenMP編譯技術(shù)之前,本章將介紹一些并行計(jì)算的基本概念和術(shù)語。首先是并行計(jì)算機(jī)結(jié)構(gòu)模型,然后介紹幾種常見的并行計(jì)算機(jī),接著將講述并行程序設(shè)計(jì)技術(shù)相關(guān)的計(jì)算模型、編程模型和并行程序設(shè)計(jì)方法,最后是OpenMP編程、MPI編程以及HPF及CUDA幾種主流的編程技術(shù)。其目的是讓讀者對(duì)并行計(jì)算及其軟硬件平臺(tái)形成比較完整的初步認(rèn)識(shí),以及了解它們與OpenMP的聯(lián)系。對(duì)于并行計(jì)算基本知識(shí)有所了解的讀者可以直接跳過本章內(nèi)容。 1.1 基本概念 首先來看看三個(gè)基本概念,即串行計(jì)算、并行計(jì)算和費(fèi)林分類法。 1.串行計(jì)算 現(xiàn)有的大多數(shù)軟件都是按串行的形式編寫和執(zhí)行的,可以簡(jiǎn)單但不太嚴(yán)格地描述成:在一臺(tái)計(jì)算機(jī)上的一個(gè)處理器(或處理器核)上運(yùn)行;計(jì)算任務(wù)被分解成逐條執(zhí)行的指令序列;在任何一個(gè)時(shí)間點(diǎn)只有一條指令在執(zhí)行。 2.并行計(jì)算 并行計(jì)算(Parallel Computing)是指利用多個(gè)計(jì)算資源來完成計(jì)算任務(wù),可以簡(jiǎn)單但不太嚴(yán)格地描述成:使用多個(gè)處理器(或處理器核)來執(zhí)行程序;計(jì)算任務(wù)被分解為多個(gè)可并行執(zhí)行的部分;每個(gè)部分再繼續(xù)分解成一個(gè)指令序列;各部分的指令序列之間可以在不同處理器上同時(shí)執(zhí)行。 3.費(fèi)林分類法 費(fèi)林分類法(Flynn's Classical Faxonomy)將計(jì)算機(jī)按照指令流和數(shù)據(jù)流的多倍性將計(jì)算機(jī)分成了四種,大體上體現(xiàn)了計(jì)算機(jī)的并行性的基本特征。
編輯推薦
《計(jì)算機(jī)系列教材:OpenMP編譯原理及實(shí)現(xiàn)技術(shù)》是國(guó)內(nèi)第一本對(duì)OpenMP編譯器工作原理和實(shí)現(xiàn)細(xì)節(jié)進(jìn)行闡述的圖書,深圳大學(xué)“計(jì)算機(jī)科學(xué)與技術(shù)國(guó)家特色專業(yè)建設(shè)點(diǎn)”的建設(shè)內(nèi)容之一。其設(shè)計(jì)目的有三點(diǎn):銜接本科《編譯原理》課程、擴(kuò)展0penMP并行語言編譯的知識(shí)、增強(qiáng)學(xué)生的動(dòng)手實(shí)踐和編程能力,羅秋明和明仲等編著的《OpenMP編譯原理及實(shí)現(xiàn)技術(shù)》中以0penMP的一個(gè)開源編譯器——0MPi作為分析對(duì)象,作到理論與實(shí)踐緊密結(jié)合,為進(jìn)一步學(xué)習(xí)和研究打下必要的基礎(chǔ)?!队?jì)算機(jī)系列教材:OpenMP編譯原理及實(shí)現(xiàn)技術(shù)》是研究OpenMP編譯技術(shù)的研究人員和高校師生的入門教材,也是研究生和高年級(jí)本科生學(xué)習(xí)并行語言編譯技術(shù)相關(guān)課程的參考書。
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載
OpenMP編譯原理及實(shí)現(xiàn)技術(shù) PDF格式下載