簡易檢索 / 詳目顯示

研究生: 陳盈諭
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 Introduction 1 2 Parallel Computing 3 2.1 Architecture and Speedup .........4 2.2 OpenMP .............6 2.2.1 Compiler Directive .........6 2.3 OpenACC ............8 2.3.1 Compiler Directives .........8 3 Runge-Kutta Discontinuous Galerkin Method 12 3.1 DG method for the transport equation ......12 3.2 Numerical Computation Form .........14 3.3 Runge-Kutta method ..........17 4 Parallelization 18 4.1 OpenMP .............18 4.2 OpenACC ............21 4.2.1 Multiplication of two large dense matrices ....21 4.2.2 Multiplication of many small matrices ......25 4.2.3 Usage of subroutine .........26 4.2.4 Usage of subroutine in module .......28 v 4.3 Parallelization of RKDG methods .......29 5 Numerical experiment 32 5.1 Matrix Multiplication Problem .........32 5.2 RKDG method for scalar equation ........35 6 Conclusions 39 References 40

    [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.

    下載圖示 校內:2017-08-31公開
    校外:2017-08-31公開
    QR CODE