$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

멀티코어 CPU를 갖는 공유 메모리 구조의 대규모 병렬 유한요소 코드에 대한 설계 고려 사항
Design Considerations on Large-scale Parallel Finite Element Code in Shared Memory Architecture with Multi-Core CPU 원문보기

한국전산구조공학회논문집 = Journal of the computational structural engineering institute of Korea, v.30 no.2, 2017년, pp.127 - 135  

조정래 (한국건설기술연구원 구조융합연구소) ,  조근희 (한국건설기술연구원 구조융합연구소)

초록
AI-Helper 아이콘AI-Helper

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

Abstract AI-Helper 아이콘AI-Helper

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 considerat...

주제어

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

문제 정의

  • 본 연구에서는 유한요소법의 수치해석 관점에서 최신 컴퓨팅 환경 변화를 조사하였다. 이러한 환경 변화를 고려하여 멀티코어 CPU를 갖는 공유 메모리 구조에 대한 병렬 유한요소 프로그램 설계시 중요 고려 사항으로 (1) 최적화된 수치라이브러리의 사용, (2) 최신 직접 희소 솔버의 사용, (3) OpenMP를 이용한 병렬 요소 강성 행렬의 계산, (4) 희소행렬 저장방식의 일종인 triplet을 이용한 어셈블 기법 등을 제시하였다.
  • 특히 멀티코어 CPU가 일반화됨에 따라 개인용 컴퓨터 또는 워크스테이션에서도 대규모 고성능 연산이 가능한 하드웨어 기반이 마련되었으며, 그 성능을 극대화할 수 있는 여러 소프트웨어적인 노력이 추진되고 있다. 이 논문에서는 멀티코어 CPU를 갖는 공유 메모리 구조에 대한 병렬 유한요소 프로그램 설계시 고려사항을 제시하고, 대규모 수치모델을 통해 그 효과를 검토하였다.

가설 설정

  • 이 방식은 동일한 정식화 과정을 거친 유한요소의 경우 요소 강성 행렬의 계산 시간이 동일하다는 가정을 통해 고안된 것이다. 만약 비선형 변형을 보일 경우 이 방식은 효율이 떨어질 수도 있으나 요소 강성 행렬의 병렬 계산을 간단하게 구현할 수 있는 장점이 있다.
본문요약 정보가 도움이 되었나요?

질의응답

핵심어 질문 논문에서 추출한 답변
유한요소 프로그램의 구성은? 유한요소 프로그램은 (1) 요소 행렬 및 개별 하중 벡터의 계산, (2) 전체 행렬과 전체 하중 벡터의 계산, (3) 선형 방정식 또는 고유치 문제를 통해 해의 계산(변위 계산 등), (4) 계산된 해를 이용한 후처리(하중 계산, 응력 계산 등) 등으로 구성된다. (3)에 해당하는 Ax=b 형태의 선형방정식(linear system of equations)이나 Ax=λx 또는 Ax=λMx 형태의 고유치 문제(eigenvalue problems)를 해석하는데 가장 많은 시간과 메모리가 필요하다.
직접 희소 솔버의 장단점은? 직접 희소 솔버는 한번 행렬 분해(factorization)을 수행하고 나면 여러 번 우변 벡터(right-hand side vector)에 적용 가능하며, 행렬의 상태(condition)가 나쁘더라고 동일한 시간이 소요되는 등의 장점을 가지고 있다. 하지만 필인(fill-in, 원래 0인 항이나 행렬 분해 도중에 0이 아닌 항으로 바뀌는 항)의 존재로 인해 메모리가 많이 소요되는 단점이 있다. Multifrontal, supernodal methods 등의 알고리즘을 사용하는 직접 희소 솔버는 그래프 이론(graph theory)에 따라 연산회수와 필인을 최소화하며, 연산 도중 생성되는 작은 크기의 꽉찬 행렬(dense submatrices)을 최적화된 BLAS와 LAPACK을 이용함으로써 빠르게 해를 구할 수 있다(Davis, 2006).
최적 수치라이브러리란 무엇인가? 캐쉬 메모리가 장착된 CPU나 multi-core CPU의 성능을 최대한 이끌어 내기 위해서는 최근 대중화된 최적 수치라이브러리(math kernel library)를 적극적으로 활용해야 한다. 이들 라이브러리는 벡터과 행렬 간의 기본 연산을 정의한 BLAS(basic linear algebra subprogram), 꽉찬 행렬(dense matrix)에 대한 선형방정식과 고유치문제의 해를 풀 수 있는 함수 집합인 LAPACK(Linear Algebra PACKage) 등의 표준 수치 라이브러리 인터페이스를 캐쉬 메모리와 멀티코어 CPU의 성능을 극대화할 수 있도록 CPU 차원에서 최적화한 라이브러리를 의미한다. 다음은 대표적인 최적 수치라이브러리를 정리한 것이다.
질의응답 정보가 도움이 되었나요?

참고문헌 (23)

  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. 

  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. 

  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. 

  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. 

  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 

저자의 다른 논문 :

관련 콘텐츠

오픈액세스(OA) 유형

GOLD

오픈액세스 학술지에 출판된 논문

이 논문과 함께 이용한 콘텐츠

저작권 관리 안내
섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로