| 研究生: |
陳盈諭 Chen, Ying-Yu |
|---|---|
| 論文名稱: |
不連續有限元素法的平行化研究 Parallel Implementation of the Runge-Kutta Discontinuous Galerkin Method |
| 指導教授: |
陳旻宏
Chen, Min-Hung |
| 學位類別: |
碩士 Master |
| 系所名稱: |
理學院 - 數學系應用數學碩博士班 Department of Mathematics |
| 論文出版年: | 2015 |
| 畢業學年度: | 103 |
| 語文別: | 英文 |
| 論文頁數: | 42 |
| 中文關鍵詞: | 不連續有限元素法 、Runge-Kutta 方法 、傳輸方程 、平行化 |
| 外文關鍵詞: | Discontinuous Galerkin method, Runge-Kutta method, transport equation, OpenMP, OpenACC, parallelization |
| 相關次數: | 點閱:165 下載:2 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
本篇論文的主要目的為平行化不連續有限元素法的計算程式,以達到加速的效果。在眾多的平行計算工具之中,我們考慮以OpenMP 與OpenACC 進行加速。OpenMP與OpenACC只需以加上directives的方式,使編譯器自動處理平行化。在平行化前,我們先使用簡單的幾個例子測試效果並比較OpenMP與OpenACC的效率,之後再對我們的RKDG程式實現平行化。
The main purpose in this thesis is to accelerate the program of Runge-Kutta Discontinuous Galerkin method in parallel. We consider OpenMP and OpenACC among various parallel computing tools. By adding directive, OpenMP and OpenACC can make compiler process parallelization automatically. Before parallelization, we test effects of some simple examples and compare the efficiency between OpenMP and OpenACC. After that, we can implement parallelization of the RKDG method.
[1] Gpgpu. http://gpgpu.org/.
[2] Heated plate openmp 2d steady state heat equation using openmp.
http://people.sc.fsu.edu/~jburkardt/f_src/heated_plate_openmp/
heated_plate_openmp.html. July, 2010.
[3] The openacc application programming interface. http://www.openacc.org/
sites/default/files/OpenACC.2.0a_1.pdf. 2013.
[4] Pgi accelerator compilers openacc getting started guide. http://www.pgroup.
com/doc/openacc_gs.pdf. 2015.
[5] Programming for gpus using openacc in fortran. http://www.bu.
edu/tech/support/research/software-and-programming/programming/
multiprocessor/gpu-computing/openacc-fortran/.
[6] George S. Almasi and Allan Gottlieb. Highly Parallel Computing. Benjamin/Cummings,
1989.
[7] Blaise Barney. Introduction to parallel computing. https://computing.llnl.
gov/tutorials/parallel_comp/. July, 2015.
[8] Blaise Barney. Openmp. https://computing.llnl.gov/tutorials/openMP/.
June, 2015.
47
[9] Bernardo Cockburn. Discontinuous Galerkin Methods for Convection-Dominated
Problems. School of Mathematics, University of Minnesota.
[10] Bernardo Cockburn. Discontinuous galerkin methods. ZAMM. Z. Angew. Math.
Mech., 83(11):731{754, 2003.
[11] Bernardo Cockburn and Chi-Wang Shu. Runge-kutta discontinuous galerkin methods
for convection-dominated problems. Journa of Scienti c Computing, 16(3),
2001.
[12] Mathew Colgrove. Directive-based accelerator programming with openacc. https:
//www.nersc.gov/assets/Uploads/PGI-OpenACC-July2013.pdf. July, 2013.
[13] Yuefan Deng. Applied Parallel Computing. World Scienti c, 2013.
[14] Fayez Gebali. Algorithms and parallel computing. John Wiley & Sons, 2011.
[15] Sigal Gottlieb and Lee-Ad J. Gottlieb. Strong stability preserving properties of
runge-kutta time discretization methods for linear constant coe cient operators.
Journa of Scienti c Computing, 18(1), 2003.
[16] Sigal Gottlieb, Chi-Wang Shu, and Eitan Tadmor. Strong stability-preserving
high-order time discretization methods. Society fo Industrial and Applied Mathe-
matics SIAM Review, 43(1):89{112, 2001.
[17] Miguel Hermanns. Parallel Programming in Fortran 95 using OpenMP. School
of Aeronautical Engineering, Departamento de Motopropulsion y Termo
uidodinamica,
Universidad Politecnica de Madrid, Spain, 2002.
[18] Po-Yu Hsieh. GPU Acceleration on the RKDG methods for Time dependent Wave
Equations. Department of Mathematics, National Cheng Kung University, June
2011.
48
[19] Je Larkin. Getting started with openacc. http://on-demand.gputechconf.
com/gtc/2013/presentations/S3076-Getting-Started-with-OpenACC.pdf.
2013.
[20] Randall J. LeVeque. Finite Di erence Methods for Di erential Equation. University
of Washington, 2006.
[21] Nvidia. About cuda. https://developer.nvidia.com/about-cuda.
[22] Nvidia. Openacc. https://developer.nvidia.com/openacc. Accessed April 4,
2010.
[23] Michael Wolfe. Openacc routine directive part 2. http://www.pgroup.com/lit/
articles/insider/v6n2a2.htm. March, 2015.
[24] Michael Wolfe. Using the openacc routine directive. https://www.pgroup.com/
lit/articles/insider/v6n1a1.htm. August, 2014.