PolyTop++: an efficient alternative for serial and parallel topology optimization on CPUs & GPUs

This paper presents the PolyTop++, an efficient and modular framework for parallel structural topology optimization using polygonal meshes. It consists of a C++ and CUDA (a parallel computing model for GPUs) alternative implementations of the PolyTop code by Talischi et al. (Struct Multidiscip Optim 45(3):329–357 2012b). PolyTop++ was designed to support both CPU and GPU parallel solutions. The software takes advantage of the C++ programming language and the CUDA model to design algorithms with efficient memory management, capable of solving large-scale problems, and uses its object-oriented flexibility in order to provide a modular scheme. We describe our implementation of different solvers for the finite element analysis, including both direct and iterative solvers, and an iterative ‘matrix-free’ solver; these were all implemented in serial and parallel modes, including a GPU version. Finally, we present numerical results for problems with about 40 million degrees of freedom both in 2D and 3D.

[1]  Manolis Papadrakakis,et al.  A new era in scientific computing: Domain decomposition methods in hybrid CPU-GPU architectures , 2011 .

[2]  O. M. Querin,et al.  Weight-increasing effect of topology simplification , 2003 .

[3]  Anders Clausen,et al.  Efficient topology optimization in MATLAB using 88 lines of code , 2011 .

[4]  Volker Schulz,et al.  A 2589 line topology optimization code written for the graphics card , 2011, Comput. Vis. Sci..

[6]  Olaf Schenk,et al.  Solving unsymmetric sparse systems of linear equations with PARDISO , 2004, Future Gener. Comput. Syst..

[7]  Glaucio H. Paulino,et al.  Polygonal finite elements for topology optimization: A unifying paradigm , 2010 .

[8]  S. Osher,et al.  Level set methods: an overview and some recent results , 2001 .

[9]  Arun L. Gain,et al.  A critical comparative assessment of differential equation-driven methods for structural topology optimization , 2013, Structural and Multidisciplinary Optimization.

[10]  Timothy A. Davis,et al.  Direct methods for sparse linear systems , 2006, Fundamentals of algorithms.

[11]  K. Suresh Efficient generation of large-scale pareto-optimal topologies , 2013 .

[12]  A. Chambolle,et al.  Design-dependent loads in topology optimization , 2003 .

[13]  Yousef Saad,et al.  Iterative methods for sparse linear systems , 2003 .

[14]  E. Sturler,et al.  Large‐scale topology optimization using preconditioned Krylov subspace methods with recycling , 2007 .

[15]  Krishnan Suresh,et al.  A 199-line Matlab code for Pareto-optimal tracing in topology optimization , 2010 .

[16]  Iain S. Duff,et al.  Sparse matrix test problems , 1982 .

[17]  Krishnan Suresh,et al.  Generating 3D Topologies with Multiple Constraints on the GPU , 2013 .

[18]  G. Paulino,et al.  PolyMesher: a general-purpose mesh generator for polygonal elements written in Matlab , 2012 .

[19]  M. Bendsøe Optimal shape design as a material distribution problem , 1989 .

[20]  J. Sethian,et al.  Fronts propagating with curvature-dependent speed: algorithms based on Hamilton-Jacobi formulations , 1988 .

[21]  Boyan Stefanov Lazarov,et al.  On multigrid-CG for efficient topology optimization , 2014 .

[22]  Niels Olhoff,et al.  On CAD-integrated structural topology and design optimization , 1991 .

[23]  Ramana V. Grandhi,et al.  A survey of structural and multidisciplinary continuum topology optimization: post 2000 , 2014 .

[24]  B. Lazarov,et al.  Parallel framework for topology optimization using the method of moving asymptotes , 2013 .

[25]  Glaucio H. Paulino,et al.  PolyTop: a Matlab implementation of a general topology optimization framework using unstructured polygonal finite element meshes , 2012 .

[26]  Glaucio H. Paulino,et al.  Polygonal finite elements for incompressible fluid flow , 2014 .

[27]  Michael S. Floater,et al.  Gradient Bounds for Wachspress Coordinates on Polytopes , 2013, SIAM J. Numer. Anal..

[28]  Alex Pothen,et al.  What Color Is Your Jacobian? Graph Coloring for Computing Derivatives , 2005, SIAM Rev..

[29]  Glaucio H. Paulino,et al.  Toward GPU accelerated topology optimization on unstructured meshes , 2013, Structural and Multidisciplinary Optimization.

[30]  Charles E. Augarde,et al.  An element-based displacement preconditioner for linear elasticity problems , 2006 .

[31]  Timothy A. Davis,et al.  An Unsymmetric-pattern Multifrontal Method for Sparse Lu Factorization , 1993 .

[32]  Mathieu Desbrun,et al.  Barycentric coordinates for convex sets , 2007, Adv. Comput. Math..

[33]  Ole Sigmund,et al.  A 99 line topology optimization code written in Matlab , 2001 .