DOI QR코드

DOI QR Code

멀티코어 CPU를 갖는 공유 메모리 구조의 대규모 병렬 유한요소 코드에 대한 설계 고려 사항

Design Considerations on Large-scale Parallel Finite Element Code in Shared Memory Architecture with Multi-Core CPU

  • 조정래 (한국건설기술연구원 구조융합연구소) ;
  • 조근희 (한국건설기술연구원 구조융합연구소)
  • Cho, Jeong-Rae (Structural Engineering Research Institute, Korea Institute of Civil Engineering and Building Technology) ;
  • Cho, Keunhee (Structural Engineering Research Institute, Korea Institute of Civil Engineering and Building Technology)
  • 투고 : 2016.12.29
  • 심사 : 2017.01.10
  • 발행 : 2017.04.28

초록

멀티코어 CPU와 BLAS, LAPACK을 구현한 최적 수치라이브러리, 직접 희소 솔버의 대중화 등 PC나 워크스테이션 수준에서도 대규모 유한요소 모델을 해석할 수 있도록 컴퓨팅 환경이 급속도로 변화되었다. 이 논문에서는 멀티코어 CPU를 갖는 공유 메모리 구조에 대한 병렬 유한요소 프로그램 설계시 고려사항으로 (1) 최적화된 수치라이브러리의 사용, (2) 최신 직접 희소 솔버의 사용, (3) OpenMP를 이용한 병렬 요소 강성 행렬의 계산, (4) 희소행렬 저장방식의 일종인 triplet을 이용한 어셈블 기법 등을 제시하였다. 또한 대규모 수치모델을 통해 많은 시간이 소요되는 작업을 기준으로 병렬화 효과를 검토하였다.

The computing environment has changed rapidly to enable large-scale finite element models to be analyzed at the PC or workstation level, such as multi-core CPU, optimal math kernel library implementing BLAS and LAPACK, and popularization of direct sparse solvers. In this paper, the design considerations on a parallel finite element code for shared memory based multi-core CPU system are proposed; (1) the use of optimized numerical libraries, (2) the use of latest direct sparse solvers, (3) parallelism using OpenMP for computing element stiffness matrices, and (4) assembly techniques using triplets, which is a type of sparse matrix storage. In addition, the parallelization effect is examined on the time-consuming works through a large scale finite element model.

키워드

참고문헌

  1. ABQUS Inc. (2007) ABAQUS Analysis User's Manual (Version 6.7).
  2. ACML-AMD Core Math Library http://developer.amd.com/tools-and-sdks/archive/compute/amd-core-math-library-acml.
  3. ADINA R&D Inc. (2005) Theory and Modeling Guide, ADINA System 8.3.
  4. ANSYS Inc. (2007) Release 11.0 Documentation for ANSYS-Mutitibody Analysis Guide.
  5. ATLAS-Automatically Tuned Linear Algebra Software, http://math-atlas.sourceforge.net
  6. Bathe, K.J. (1995) Finite Element Procedures, Prentice Hall.
  7. Benzi, M., Kouhia, R., Tuma, M. (1998) An Assessment of Some Preconditioning Techniques in Shell Problems, Comm. Numer. Methods Eng., 14, pp.897-906. https://doi.org/10.1002/(SICI)1099-0887(1998100)14:10<897::AID-CNM196>3.0.CO;2-L
  8. Benzi, M., Cullum, J.K., Tuma, M. (2000) Robust Approximate Inverse Preconditioning for the Conjugate Gradient Method, J. Sci. Comput., 22(4), pp.1318-1332.
  9. Benzi, M. (2002) Preconditioning Techniques for Large Linear Systems: A Survey. J. Comput. Phys., 182(2), pp.418-477. https://doi.org/10.1006/jcph.2002.7176
  10. BLAS (Basic Linear Algebra Subprograms), www. netlib.org/blas/
  11. Cho, J.-R. (2009) Object-oriented Finite Element Framework Using Hybrid Programming, PhD. Dissertation, Seoul National University.
  12. Cho, M., Parmerter, R.R. (1992) An Efficient Higher Order Plate Theory for Laminated Composites, Compos. Struct., 20, pp.113-123. https://doi.org/10.1016/0263-8223(92)90067-M
  13. CHOLMOD in SUITESPARSE, http://faculty.cse.tamu.edu/davis/suitesparse.html
  14. Davis, T.A. (2006) Direct Methods for Sparse Linear Systems, Siam.
  15. GOTOBLAS2 https://www.tacc.utexas.edu/researchdevelopment/tacc-software/gotoblas2
  16. Intel Math Kernel Library, http://software.intel.com/en-us/intel-mkl.
  17. LAPACK-Linear Algebra PACKage, http://www.ne tlib.org/lapack/
  18. Lim, J.-S., Son I.-M., Kim J.-M., Seo C.-G. (2016) A Speed-Up in Computing Time for SSI Analysis by p-version Infinite Elements, J. Comput. Struct. Eng. Inst. Korea, 29(5), pp.471-482. https://doi.org/10.7734/COSEIK.2016.29.5.471
  19. MUMPS, http://mumps.enseeiht.fr/
  20. OpenBLAS, http://www.openblas.net/
  21. PARDISO, http://www.pardiso-project.org
  22. Saad, Y. (2003) Iterative Methods for Sparse Linear Systems. Siam.
  23. UMPFACK in SUITESPARSE, http://faculty.cse.tamu.edu/davis/suitesparse.html