Print Email Facebook Twitter Time Integration Parallel in Time Title Time Integration Parallel in Time Author Budko, Ariena (TU Delft Electrical Engineering, Mathematics and Computer Science) Contributor Möller, M. (mentor) Lemmens, C.W.J. (mentor) Degree granting institution Delft University of Technology Programme Applied Mathematics Date 2020-08-19 Abstract In this paper the research behind the parallelization on the GPU of the time parallel time integration method Parareal. Firstly, the theory behind Parareal and its convergence theorems will be detailed. Then, two test models, the Lorenz system and Heat diffusion equation, will be introduced. Additionally, the derivation of the Forward Euler and Backward Euler methods for these problems will be discussed. Secondly, an overview of development in parallel programming will be given, with a focus on architecture, memory organization and GPU properties. Thirdly, the implementation of Parareal in Python using the CuPy library will be shown, including the Parareal convergence plots and the code profiling results. In the second half of the paper, there will be an outline of the improvements that were made for a better speedup of the Parareal implementation. A discussion on linear solvers and their efficiency inregard to matrix properties will be presented. Moreover, the reason why a different linear solver for the Heat diffusion equation was needed, than the one built into CuPy, will be explained. Furthermore, the creation of a separate linear solver based on the Thomas algoithm as a CUDA-kernel in Python will be shared. The construction of CuPy elementwise kernels for the Lorenz system will be described as well. Lastly, the speedup results for the CuPy built-in functions will be compared to the self-madekernels utilizing a self-derived speedup formula. A reflection on the implementation of Parareal in practice will conclude this paper. Subject PararealTime integrationThomas algorithmGPU computingSparse matrixDense matrixconvergence analysisspeedupparallelismBanded matrixheat diffusionlorenz systemParallel programmingPython To reference this document use: http://resolver.tudelft.nl/uuid:48622d76-d9df-4996-9c9b-c680a3def97f Part of collection Student theses Document type bachelor thesis Rights © 2020 Ariena Budko Files PDF Parareal_2_.pdf 1.65 MB Close viewer /islandora/object/uuid:48622d76-d9df-4996-9c9b-c680a3def97f/datastream/OBJ/view