Print Email Facebook Twitter GPU Computing for Topology Optimization Title GPU Computing for Topology Optimization Author Dondorp, M.E. Contributor Langelaar, M. (mentor) Faculty Mechanical, Maritime and Materials Engineering Department Precision & Microsystems Engineering (PME) Date 2016-06-03 Abstract This report has been written to serve as an introduction to the basics of GPU computing for mechanical engineers working in the field of structural optimization. In this work, the ability of GPUs to reduce the computation time of topology optimization problems is investigated. The programming paradigm of data parallel computing is introduced. GPU programming particulars are discussed and architectural differences between CPU and GPU processors are highlighted. It is shown how linear algebra operations can be judged on their suitability towards a massively parallelmode of execution. Algorithms with a high computational intensity and regular memory access patternswill benefit the most from a parallel implementation on a GPU. The flexibility of the Python programming language may alleviate much of the difficulties of GPU programing. It is investigated if a hybrid Python/GPU framework is a feasible way of GPU computing in the context of structural optimization. Several ways to interface the GPU from Python are discussed. It is shown that it is possible to execute linear algebra operations on the GPU from a Python context and good performance is possible. However, it is observed that interprocessor communication deteriorates the overall speedup if just one operation is to be accelerated. As a guidance problem, a topology optimization compliance minimization study is introduced. The theoretical framework is given and broken down into a chain of compute steps. By profiling a conventional implementation of topology optimization, it is shown that the solver dominates the computation time entirely. Iterative solvers for linear systems are discussed in the context of topology optimization. By preconditioning the system of equations, the required amount of iterations to solve the system can be reduced. Some GPU compatible preconditioning techniques are discussed. For a topology optimization problem, a Sparse Approximate Inverse preconditioner is found to perform best. Two available conjugate gradient solver implementations have been put to the test. It is shown that, on commodity hardware, an off the shelf conjugate gradient solver for the GPU can yield a speedup compared to a competitive off the shelf conjugate gradient solver for the CPU. For a topology optimization problem, a speedup of two has been observed. Subject GPU computingCUDAtopology optimization To reference this document use: http://resolver.tudelft.nl/uuid:d61e191a-5142-4eca-b108-b4d9ad655996 Part of collection Student theses Document type master thesis Rights (c) 2016 Dondorp, M.E. Files PDF thesis.pdf 21.23 MB Close viewer /islandora/object/uuid:d61e191a-5142-4eca-b108-b4d9ad655996/datastream/OBJ/view