Skip navigation

DSpace

機構典藏 DSpace 系統致力於保存各式數位資料(如:文字、圖片、PDF)並使其易於取用。

點此認識 DSpace
DSpace logo
English
中文
  • 瀏覽論文
    • 校院系所
    • 出版年
    • 作者
    • 標題
    • 關鍵字
    • 指導教授
  • 搜尋 TDR
  • 授權 Q&A
    • 我的頁面
    • 接受 E-mail 通知
    • 編輯個人資料
  1. NTU Theses and Dissertations Repository
  2. 電機資訊學院
  3. 資訊工程學系
請用此 Handle URI 來引用此文件: http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/41750
完整後設資料紀錄
DC 欄位值語言
dc.contributor.advisor陳俊良(Chuen-Liang Chen)
dc.contributor.authorShu-Wei Hsuen
dc.contributor.author許書瑋zh_TW
dc.date.accessioned2021-06-15T00:29:56Z-
dc.date.available2010-02-03
dc.date.copyright2009-02-03
dc.date.issued2009
dc.date.submitted2009-01-19
dc.identifier.citation[1] IEEE Standard 1003.1, 2004 Edition, http://www.unix.org/version3/ieee_std.html.
[2] Blaise Barney, POSIX Threads Programming, May 2008, https://computing.llnl.gov/tutorials/pthreads/.
[3] OpenMP Architecture Review Board, OpenMP Application Program Interface Version 3.0, May 2008, http://openmp.org/wp/openmp-specifications/.
[4] Barbara Chapman and Gabriele Jost and Ruud van der Pas, Using OpenMP: portable shared memory parallel programming, The MIT Press, 2008.
[5] Michael Jay. Quinn, Parallel programming in C with MPI and OpenMP, McGraw-Hill. 1st ed., 2003.
[6] PVM (Parallel Virtual Machine), http://www.csm.ornl.gov/pvm/.
[7] The Message Passing Interface(MPI) Standard, http://www-unix.mcs.anl.gov/mpi/.
[8] The MPI Forum, http://www.mpi-forum.org/index.html.
[9] William Gropp, Tutorial on MPI: The Message-Passing Interface, Mathematics and Computer Science Division, Argonne National Laboratory.
[10] John L. Hennessy and David A. Patterson, Computer Architecture: A Quantitative Approach, Morgan Kaufmann, Fourth Edition, 2007.
[11] David A. Patterson and John L. Hennessy, Computer Organization & Design: The Hardware/Software Interface, Morgan Kaufmann, Second Edition. 1998.
[12] Abraham Silberschatz and Peter Galvin, Operating system concepts, Addison Wesley Longman, Inc. 5th ed. 1998.
[13] GCC, the GNU Compiler Collection, http://gcc.gnu.org.
[14] Richard M. Stallman and the GCC Developer Community, Using the GNU Compiler Collection For GCC version 4.3.2, 2008, http://gcc.gnu.org/onlinedocs/gcc-4.3.2/gcc.pdf.
[15] The gfortran team, Using GNU Fortran For GCC version 4.3.2, 2007, http://gcc.gnu.org/onlinedocs/gcc-4.3.2/gfortran/.
[16] The GNU OpenMP Implementation, 2007, http://gcc.gnu.org/onlinedocs/gcc-4.3.2/libgomp.pdf.
[17] The Fedora Project. http://fedoraproject.org/en/index.
[18] Robert Mecklenburg, Managing Projects with GNU Make, Third Edition. O’Reilly Media, Inc.
dc.identifier.urihttp://tdr.lib.ntu.edu.tw/jspui/handle/123456789/41750-
dc.description.abstract儘管OpenMP API提供了比POSIX threads函式庫更方便使用的方法將程式平行化,程式設計師仍需付出心力將OpenMP directives安插到程式碼內,並設定變數的分享屬性。在本篇論文中,我們設計一個系統用來將這些工作量由程式設計師移至編譯器來負擔。由於GCC是一個開放程式碼的編譯器並且支援OpenMP,所以我們使用GCC做為系統實作以及評估的平臺。
一開始我們先了解OpenMP directives以及data sharing attribute clauses的功能以及其限制,之後再了解GCC是如何處理OpenMP directives以及data sharing attribute clauses。最後使用這些資訊以發展出一組條件用來分類變數的分享屬性,以及安插OpenMP directives的步驟。
zh_TW
dc.description.abstractAlthough the OpenMP API provides a more convenient way for parallel programming than POSIX threads library, the programmer still has the workload to insert the OpenMP directives and data-sharing attribute clauses. In this thesis, we design a system which moves the workload of OpenMP programming from the programmer to the compiler. We use GCC compiler as our implementation and evaluation platform, because GCC is an open source compiler and it supports OpenMP.
We first study the functionality and restriction of the OpenMP directives and data sharing attribute clauses. After that, we study the GCC compiler source code to learn how the GCC handles these directives and clauses. Finally, we use these information to development the conditions of the data sharing attribute classification and the procedure of OpenMP directives insertion.
en
dc.description.provenanceMade available in DSpace on 2021-06-15T00:29:56Z (GMT). No. of bitstreams: 1
ntu-98-P95922001-1.pdf: 761683 bytes, checksum: cc6b113a5e48ba8f58f28b75e9258f8d (MD5)
Previous issue date: 2009
en
dc.description.tableofcontentsAcknowledge ii
中文摘要 iii
Abstract iv
Table of Contents v
List of Figures viii
List of Tables x
Chapter 1 Introduction 1
1.1 Motivation 1
1.2 Related Research 2
1.3 Thesis Organization 3
Chapter 2 OpenMP Overview 5
2.1 Shared-Memory Parallel Processor 5
2.2 Thread-Level Parallelism 6
2.3 OpenMP Overview 7
2.4 OpenMP Directives 8
2.4.1 Parallel Construct 9
2.4.2 Loop Construct 10
2.4.3 Parallel Loop Construct (Combined Parallel Work-sharing Construct) 12
2.5 OpenMP Clauses 13
2.5.1 Default Clause 13
2.5.2 Shared Clause 14
2.5.3 Private Clause 17
2.5.4 Firstprivate Clause 19
2.5.5 Lastprivate Clause 21
2.5.6 Reduction Clause 23
Chapter 3 GCC Overview 27
3.1 GCC Introduction 27
3.2 Structure of GCC Compiler 27
3.2.1 Front-End 28
3.2.2 Middle-End 29
3.2.3 Back-End 30
3.3 Intermediate Representation 30
3.4 OpenMP Implementation in GCC 32
Chapter 4 System Design 34
4.1 Loop Type Identification 34
4.2 Default Clause Setting 38
4.3 Private Clause Classification 38
4.4 Reduction Clause Classification 39
4.5 Firstprivate Clause Classification 42
4.6 Lastprivate Clause Classification 45
4.7 OpenMP Pragma Insertion 47
Chapter 5 Implementation 51
5.1 Development Platform 51
5.2 System Architecture 51
5.3 Add Option –faddomp 54
5.4 Create omp-add.c 56
5.5 Statements Traverse 57
5.6 Loop Identification 59
5.7 The Variable Classification in Loop Block 61
5.8 Parallel Loop Pragma Addition 62
Chapter 6 Program Test 64
6.1 Test Program for Reduction Clause 64
6.2 Test Program for Firstprivate and Lastprivate Clause 66
6.3 Test Program for Both Reduction and Firstprivate and Lastprivate Clause 68
Chapter 7 Conclusion 71
7.1 Summary 71
7.2 Future Works 71
References 74
dc.language.isoen
dc.subject平行化程式設計zh_TW
dc.subject編譯器zh_TW
dc.subject程式轉換zh_TW
dc.subjectParallel programmingen
dc.subjectOpenMPen
dc.subjectCompileren
dc.subjectProgram Transformationen
dc.title一個加入OpenMP編譯指示的程式轉換機制zh_TW
dc.titleA Program Transformation to Insert OpenMP Pragmasen
dc.typeThesis
dc.date.schoolyear97-1
dc.description.degree碩士
dc.contributor.oralexamcommittee施吉昇(Chi-Sheng Shih),林軒田(Hsuan-Tien Lin)
dc.subject.keyword編譯器,平行化程式設計,程式轉換,zh_TW
dc.subject.keywordOpenMP,Compiler,Parallel programming,Program Transformation,en
dc.relation.page75
dc.rights.note有償授權
dc.date.accepted2009-01-19
dc.contributor.author-college電機資訊學院zh_TW
dc.contributor.author-dept資訊工程學研究所zh_TW
顯示於系所單位:資訊工程學系

文件中的檔案:
檔案 大小格式 
ntu-98-1.pdf
  未授權公開取用
743.83 kBAdobe PDF
顯示文件簡單紀錄


系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。

社群連結
聯絡資訊
10617臺北市大安區羅斯福路四段1號
No.1 Sec.4, Roosevelt Rd., Taipei, Taiwan, R.O.C. 106
Tel: (02)33662353
Email: ntuetds@ntu.edu.tw
意見箱
相關連結
館藏目錄
國內圖書館整合查詢 MetaCat
臺大學術典藏 NTU Scholars
臺大圖書館數位典藏館
本站聲明
© NTU Library All Rights Reserved