Abstract
This paper proposes a new level set-based topology optimization (TO) method using a parallel strategy of Graphics Processing Units (GPUs) and the isogeometric analysis (IGA). The strategy consists of parallel implementations for initial design domain, IGA, sensitivity analysis and design variable update, and the key issues in the parallel implementation, e.g., the parallel assembly race condition, are discussed in detail. The computational complexity and parallelization of the different steps in the TO are also analyzed in this paper. To better demonstrate the advantages of the proposed strategy, we compare efficiency of serial CPU, multi-thread parallel CPU and GPU by benchmark examples, and the speedups achieve two orders of magnitude.
Similar content being viewed by others
References
Aage N, Lazarov BS (2013) Parallel framework for topology optimization using the method of moving asymptotes. Struct Multidiscip Optim 47:493–505
Allaire G, Jouve F, Toader A-M (2004) Structural optimization using sensitivity analysis and a level-set method. J Comput Phys 194:363–393
Allaire G, Dapogny C, Frey P (2013) A mesh evolution algorithm based on the level set method for geometry and topology optimization. Struct Multidiscip Optim 48:711–715
Allaire G, Dapogny C, Frey P (2014) Shape optimization with a level set based mesh evolution method. Comput Methods Appl Mech Eng 282:22–53
Andrews T (2012) Computation time comparison between matlab and C++ using launch windows
Bazilevs Y, Beirao da Veiga L, Cottrell JA, Hughes TJR, Sangalli G (2006) Isogeometric analysis: approximation, stability and error estimates for h-refined meshes. Math Models Methods Appl Sci 16:1031–1090
Bendsøe MP, Sigmund O (2003) Topology optimization: theory, methods, and applications. Springer Science & Business Media
Challis VJ, Roberts AP, Grotowski JF (2014) High resolution topology optimization using graphics processing units (GPUs). Struct Multidiscip Optim 49:315–325
Chen J, Shapiro V, Suresh K, Tsukanov I (2007) Shape optimization with topological changes and parametric control. Int J Numer Methods Eng 71:313–346
Chen J, Freytag M, Shapiro V (2008) Shape sensitivity of constructively represented geometric models. Comput Aided Geometric Des 25:470–488
Cottrell JA, Hughes TJ, Bazilevs Y (2009) Isogeometric analysis: toward integration of CAD and FEA. Wiley
Davis T (2007) Creating sparse finite-element matrices in MATLAB. Guest blog in: Loren Shure: Loren on the Art of MATLAB
De Boor C (1972) On calculating with B-splines. J Approximation Theory 6:50–62
Dede L, Borden M, Hughes T (2012) Topology optimization with Isogeometric analysis in a phase field approach. Archives Comput Methods Eng 19:427–465
Duarte LS, Celes W, Pereira A, Menezes IF, Paulino GH (2015) PolyTop++: an efficient alternative for serial and parallel topology optimization on CPUs & GPUs. Struct Multidiscip Optim 52:845–859
Georgescu S, Chow P, Okuda H (2013) GPU acceleration for FEM-based structural analysis. Archives Comput Methods Eng 20:111–121
Guo X, Zhang W, Zhong W (2014) Explicit feature control in structural topology optimization via level set method. Comput Methods Appl Mech Eng 272:354–378
Hassani B, Hinton E (1998) A review of homogenization and topology optimization III—topology optimization using optimality criteria. Comput Struct 69:739–756
Herrero D, Martinez J, Marti P (2013) An implementation of level set based topology optimization using GPU 10th World Congress on Structural and Multidisciplinary Optimization
Hsu M-C, Akkerman I, Bazilevs Y (2011) High-performance computing of wind turbine aerodynamics using isogeometric analysis. Comput Fluids 49:93–100
Huang X, Xie Y-M (2010) A further review of ESO type methods for topology optimization. Struct Multidiscip Optim 41:671–683
Hughes TJR (2012) The finite element method: linear static and dynamic finite element analysis. Courier Corporation
Hughes TJR, Cottrell JA, Bazilevs Y (2005) Isogeometric analysis: CAD, finite elements, NURBS, exact geometry and mesh refinement. Comput Methods Appl Mech Eng 194:4135–4195
Johnson RW (2005) Higher order B-spline collocation at the Greville abscissae. Appl Numer Math 52:63–75
Karatarakis A, Karakitsios P, Papadrakakis M (2014) GPU accelerated computation of the isogeometric analysis stiffness matrix. Comput Methods Appl Mech Eng 269:334–355
Kirk D (2007) NVIDIA CUDA software and GPU parallel computing architecture ISMM 103–104
Kirk DB, Wen-mei WH (2012) Programming massively parallel processors: a hands-on approach. Newnes
Kuźnik K, Paszyński M, Calo V (2012) Graph grammar-based multi-frontal parallel direct solver for two-dimensional isogeometric analysis. Proc Comput Sci 9:1454–1463
Li K, Qian X (2011) Isogeometric analysis and shape optimization via boundary integral. Comput Aided Des 43:1427–1437
Luo Z, Tong L, Wang MY, Wang S (2007) Shape and topology optimization of compliant mechanisms using a parameterization level set method. J Comput Phys 227:680–705
Luo Z, Wang MY, Wang S, Wei P (2008) A level set-based parameterization method for structural shape and topology optimization. Int J Numer Methods Eng 76:1–26
Luo Z, Tong L, Kang Z (2009) A level set method for structural shape and topology optimization using radial basis functions. Comput Struct 87:425–434
MATLAB (2014) version 8.4.0. The MathWorks Inc. Natick, Massachusetts
Microsoft Visual Studio (2010) Microsoft Corp. Redmond, Washington
Mukherjee S, Moore N, Brock J, Leeser M (2012) CUDA and OpenCL implementations of 3D CT reconstruction for biomedical imaging High Performance Extreme Computing (HPEC), 2012 I.E. Conference on. IEEE 1–6
Nvidia C (2007) Compute unified device architecture programming guide
Osher S, Fedkiw RP (2001) Level set methods: an overview and some recent results. J Comput Phys 169:463–502
Osher S, Sethian JA (1988) Fronts propagating with curvature-dependent speed: algorithms based on Hamilton-Jacobi formulations. J Comput Phys 79:12–49
Otomori M, Yamada T, Izui K, Nishiwaki S, Andkjær J (2012) A topology optimization method based on the level set method for the design of negative permeability dielectric metamaterials. Comput Methods Appl Mech Eng 237:192–211
Piegl L, Tiller W (2012) The NURBS book. Springer Science & Business Media
Ploskas N, Samaras N (2014) GPU accelerated pivoting rules for the simplex algorithm. J Syst Softw 96:1–9
Rozvany G (2001) Aims, scope, methods, history and unified terminology of computer-aided topology optimization in structural mechanics. Struct Multidiscip Optim 21:90–108
Schmidt S, Schulz V (2011) A 2589 line topology optimization code written for the graphics card. Comput Vis Sci 14:249–256
Seo Y-D, Kim H-J, Youn S-K (2010) Isogeometric topology optimization using trimmed spline surfaces. Comput Methods Appl Mech Eng 199:3270–3296
Sigmund O, Maute K (2013) Topology optimization approaches. Struct Multidiscip Optim 48:1031–1055
Suresh K (2013) Efficient generation of large-scale pareto-optimal topologies. Struct Multidiscip Optim 47:49–61
Tavakkoli S, Hassani B, Ghasemnejad H (2013) Isogeometric topology optimization of structures by using MMA. Int J Optim Civil Eng 3:313–326
van Dijk NP, Maute K, Langelaar M, Van Keulen F (2013) Level-set methods for structural topology optimization: a review. Struct Multidiscip Optim 48:437–472
Wadbro E, Berggren M (2009) Megapixel topology optimization on a graphics processing unit. SIAM Rev 51:707–721
Wang Y, Benson DJ (2015a) Multi-patch nonsingular isogeometric boundary element analysis in 3D. Comput Methods Appl Mech Eng 293:71–91
Wang Y, Benson DJ (2015b) Isogeometric analysis for parameterized LSM-based structural topology optimization. Computat Mech 1–17
Wang Y, Benson DJ (2016) Geometrically constrained isogeometric parameterized level-set based topology optimization via trimmed elements. Front Mech Eng. doi:10.1007/s11465-016-0403-0
Wang MY, Wang X (2004) PDE-driven level sets, shape sensitivity and curvature flow for structural topology optimization. Comput Model Eng Sci 6:373–396
Wang S, Wang MY (2006a) Structural shape and topology optimization using an implicit free boundary parametrization method. Comput Model Eng Sci 13:119
Wang S, Wang MY (2006b) Radial basis functions and level set method for structural topology optimization. Int J Numer Methods Eng 65:2060–2090
Wang MY, Wang X, Guo D (2003) A level set method for structural topology optimization. Comput Methods Appl Mech Eng 192:227–246
Wang Y, Benson DJ, Nagy AP (2015a) A multi-patch nonsingular isogeometric boundary element method using trimmed elements. Computat Mech 1–19
Wang Y, Wang Q, Deng X, Xia Z, Yan J, Xu H (2015b) Graphics processing unit (GPU) accelerated fast multipole BEM with level-skip M2L for 3D elasticity problems. Adv Eng Softw 82:105–118
Wang Y, Xu H, Pasini D (2016) Multiscale isogeometric topology optimization for lattice materials. Comput Methods Appl Mech Eng
Wei P, Wang MY, Xing X (2010) A study on X-FEM in continuum structural optimization using a level set model. Comput Aided Des 42:708–719
Wei Y, Wang Q, Huang Y, Wang Y, Xia Z (2015) Acceleration of free-vibrations analysis with the Dual Reciprocity BEM based on ℋ-matrices and CUDA. Eng Comput 32:211–233
Wong J, Kuhl E, Darve E (2015) A new sparse matrix vector multiplication graphics processing unit algorithm designed for finite element problems. Int J Numer Methods Eng 102:1784–1814
Woźniak M (2015) Fast GPU integration algorithm for isogeometric finite element method solvers using task dependency graphs. J Comput Sci
Woźniak M, Kuźnik K, Paszyński M, Calo V, Pardo D (2014) Computational cost estimates for parallel shared memory isogeometric multi-frontal solvers. Comput Math Appl 67:1864–1883
Wu J, Dick C, Westermann R (2016) A system for high-resolution topology optimization. IEEE Trans Vis Comput Graph 22:1195–1208
Xia Q, Wang MY, Shi T (2014a) A level set method for shape and topology optimization of both structure and support of continuum structures. Comput Methods Appl Mech Eng 272:340–353
Xia Z, Wang Q, Huang Y, Yixiong W, Yingjun W (2014b) Parallel Strategy of FMBEM for 3D Elastostatics and its GPU Implementation Using CUDA ASME 2014 International Design Engineering Technical Conferences and Computers and Information in Engineering Conference. Am Soc Mech Eng V01AT02A060-V001AT002A060
Xia Z, Wang Q, Liu Y, Wang Y, Wei Y (2014c) M2L optimization in FMBEM and its GPU implementation. WIT Trans Model Simulat 56:307–319. doi:10.2495/BEM360261
Xia Z, Wang Q, Wang Y, Yu C (2015) A CAD/CAE incorporate software framework using a unified representation architecture. Adv Eng Softw 87:68–85
Xia Z, Wang Q, Liu Q, Wang Y, Liu J, Chen G (2016) A novel approach for automatic reconstruction of boundary condition in structure analysis. Adv Eng Softw 96:38–57
Yamada T, Izui K, Nishiwaki S, Takezawa A (2010) A topology optimization method based on the level set method incorporating a fictitious interface energy. Comput Methods Appl Mech Eng 199:2876–2891
Zegard T, Paulino GH (2013) Toward GPU accelerated topology optimization on unstructured meshes. Struct Multidiscip Optim 48:473–485
Zuo K-T, Chen L-P, Zhang Y-Q, Yang J (2007) Study of key algorithms in topology optimization. Int J Adv Manuf Technol 32:787–796
Acknowledgements
This research was supported by the National Natural Science Foundation of China (51475180).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Xia, Z., Wang, Y., Wang, Q. et al. GPU parallel strategy for parameterized LSM-based topology optimization using isogeometric analysis. Struct Multidisc Optim 56, 413–434 (2017). https://doi.org/10.1007/s00158-017-1672-x
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00158-017-1672-x