請用此 Handle URI 來引用此文件:
http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/41750完整後設資料紀錄
| DC 欄位 | 值 | 語言 |
|---|---|---|
| dc.contributor.advisor | 陳俊良(Chuen-Liang Chen) | |
| dc.contributor.author | Shu-Wei Hsu | en |
| dc.contributor.author | 許書瑋 | zh_TW |
| dc.date.accessioned | 2021-06-15T00:29:56Z | - |
| dc.date.available | 2010-02-03 | |
| dc.date.copyright | 2009-02-03 | |
| dc.date.issued | 2009 | |
| dc.date.submitted | 2009-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.uri | http://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.abstract | Although 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.provenance | Made 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.tableofcontents | Acknowledge 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.iso | en | |
| dc.subject | 平行化程式設計 | zh_TW |
| dc.subject | 編譯器 | zh_TW |
| dc.subject | 程式轉換 | zh_TW |
| dc.subject | Parallel programming | en |
| dc.subject | OpenMP | en |
| dc.subject | Compiler | en |
| dc.subject | Program Transformation | en |
| dc.title | 一個加入OpenMP編譯指示的程式轉換機制 | zh_TW |
| dc.title | A Program Transformation to Insert OpenMP Pragmas | en |
| dc.type | Thesis | |
| dc.date.schoolyear | 97-1 | |
| dc.description.degree | 碩士 | |
| dc.contributor.oralexamcommittee | 施吉昇(Chi-Sheng Shih),林軒田(Hsuan-Tien Lin) | |
| dc.subject.keyword | 編譯器,平行化程式設計,程式轉換, | zh_TW |
| dc.subject.keyword | OpenMP,Compiler,Parallel programming,Program Transformation, | en |
| dc.relation.page | 75 | |
| dc.rights.note | 有償授權 | |
| dc.date.accepted | 2009-01-19 | |
| dc.contributor.author-college | 電機資訊學院 | zh_TW |
| dc.contributor.author-dept | 資訊工程學研究所 | zh_TW |
| 顯示於系所單位: | 資訊工程學系 | |
文件中的檔案:
| 檔案 | 大小 | 格式 | |
|---|---|---|---|
| ntu-98-1.pdf 未授權公開取用 | 743.83 kB | Adobe PDF |
系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。
