$\require{mediawiki-texvc}$

연합인증

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

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

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

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

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

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

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

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

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

유한요소 비압축성 유동장 해석을 위한 이중공액구배법의 GPU 기반 연산에 대한 연구
A Study on GPU Computing of Bi-conjugate Gradient Method for Finite Element Analysis of the Incompressible Navier-Stokes Equations 원문보기

大韓機械學會論文集. Transactions of the Korean Society of Mechanical Engineers. B. B, v.40 no.9 = no.372, 2016년, pp.597 - 604  

윤종선 (서울과학기술대학교 기계공학과) ,  전병진 (연세대학교 의과대학 심혈관영상연구센터) ,  정혜동 (전자부품연구원 임베디드&소프트웨어 연구센터) ,  최형권 (서울과학기술대학교 기계.자동차공학과)

초록
AI-Helper 아이콘AI-Helper

본 연구에서는 GPU를 이용한 비압축성 유동장의 병렬연산을 위하여, P2P1 유한요소를 이용한 분리 알고리즘 내의 행렬 해법인 이중공액구배법(Bi-Conjugate Gradient)의 CUDA 기반 알고리즘을 개발하였다. 개발된 알고리즘을 이용해 비대칭 협착관 유동을 해석하고, 단일 CPU와의 계산시간을 비교하여 GPU 병렬 연산의 성능 향상을 측정하였다. 또한, 비대칭 협착관 유동 문제와 다른 행렬 패턴을 가지는 유체구조 상호작용 문제에 대하여 이중공액구배법 내의 희소 행렬과 벡터의 곱에 대한 GPU의 병렬성능을 확인하였다. 개발된 코드는 희소 행렬의 1개의 행과 벡터의 내적을 병렬 연산하는 커널(Kernel)로 구성되며, 최적화는 병렬 감소 연산(Parallel Reduction), 메모리 코얼레싱(Coalescing) 효과를 이용하여 구현하였다. 또한, 커널 생성 시 워프(Warp)의 크기에 따른 성능 차이를 확인하였다. 표준예제들에 대한 GPU 병렬연산속도는 CPU 대비 약 7배 이상 향상됨을 확인하였다.

Abstract AI-Helper 아이콘AI-Helper

A parallel algorithm of bi-conjugate gradient method was developed based on CUDA for parallel computation of the incompressible Navier-Stokes equations. The governing equations were discretized using splitting P2P1 finite element method. Asymmetric stenotic flow problem was solved to validate the pr...

주제어

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

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

문제 정의

  • 본 연구에서는 P2P1 유한요소를 이용한 전산유체역학 문제의 해석에서 GPU 연산의 성능을 평가하기 위하여, 반복행렬해법인 이중공액구배법의 CUDA 기반 알고리즘을 개발하였다. 개발된 코드를 이용한 수치실험을 통하여 아래와 같은 결론을 도출하였다.
  • 본 연구에서는 비대칭 협착관 유동 문제를 풀기 위하여, C언어로 작성된 P2P1 유한요소를 이용하는 분리 알고리즘 내의 이중공액구배법을 CUDA 기반 알고리즘으로 개발하였다. 또한 다른 행렬 패턴을 가지는 문제에 대하여 검토하기 위하여 유체구조 상호작용 문제에 대하여 해석을 수행하였다.
  • 본 연구에서는 선행연구들에서 제안한 알고리즘을 이용하여 비대칭 협착관(stenosis) 유동 문제를 빠르게 해석하고자 한다. 따라서, C언어로 작성한 P2P1 유한요소를 이용한 분리 알고리즘 내의 이중공액구배법을 CUDA 기반의 알고리즘으로 수정하고, 다양한 격자계를 통해서 단일 CPU 대비 GPU의 병렬 연산 성능을 측정하고자 한다.
본문요약 정보가 도움이 되었나요?

질의응답

핵심어 질문 논문에서 추출한 답변
CPU를 이용한 병렬 연산은 무엇을 이용하여 수행되는가? CPU를 이용한 병렬 연산은 OpenMP 또는 영역 분할을 이용한 MPI를 적용하여 수행되었다. 전병진 등(3) 은 CPU 기반의 클러스터 구조에서 MPI와 하이브리드(OpenMP+MPI) 병렬 방식을 이용해 이중공액구배법의 병렬 성능을 측정하였다.
병렬 컴퓨팅은 어떻게 나누어지는가? 수치해석을 위한 시스템 환경은 단일 프로세서에서 시작하여 병렬 컴퓨팅으로 발전했다. 병렬 컴퓨팅은 크게 분산 메모리와 공유 메모리 구조로 나눠진다. 분산 메모리 구조는 2개 이상의 노드로 구성된 클러스터와 같으며, 공유 메모리 구조는 Intel Xeon-Phi, GPU 등과 같이 수십 개의 코어가 메모리를 공유하는 시스템을 말한다.
컴퓨터 성능과 소프트웨어 발전이 동시에 이루어지고 있는 이유는 무엇인가? 최근에는 설계, 의학, 금융 등 다양한 분야에서 수치해석을 이용한 연구가 진행되고 있다. 수치 해석에서 정확한 결과를 얻기 위해서는 상당한 시간이 소요된다. 따라서 빠른 계산 결과를 얻으려는 소비자들의 필요에 따라 컴퓨터 성능과 소프트웨어 발전이 동시에 이루어지고 있다.
질의응답 정보가 도움이 되었나요?

참고문헌 (13)

  1. Temem, O. and Jalby, W., 1992, "Charact-erizing the Behavior of Sparse Algorithms on Caches," Proceedings of the 1992 ACM/IEEE Conference on Supercomputing, pp. 578-587. 

  2. Richard, V., Demmel, J. W., Yelick, K. A., Kamil, S., Nishtala, R. and Lee, B. J., 2002, "Performance Optimizations and Bounds for Sparse Matrix-Vector Multiply," Proceedings of the IEEE/ACM SC2002 Conference. 

  3. Jeon, B. J. and Choi, H. G., 2014, "Comparison of Message Passing Interface and Hybrid Programming Models to Solve Pressure Equation in Distributed Memory System," Trans. Korean Soc. Mech. Eng. B, Vol. 39, No. 2, pp. 191-197. 

  4. https://www.khronos.org/opencl/ 

  5. Bell, N. and Garlandy, M., 2008, "Ecient Sparse Matrix-Vector Multiplication on CUDA," NVIDIA Technical Report NVR-2008-004. 

  6. Feng, X., Hai Jin, Zheng, R., Hu, K., Zeng, J. and Shao, Z., 2011, "Optimization of Sparse Matrix-Vector Multiplication with Variant CSR on GPUs," 22 2011 IEEE 17th International Conference on Parallel and Distributed Systems. 

  7. Ashari, A., Sedaghati, N., Eisenlohr, J., Paqrthasarathy, S. and Sadayappan, P., 2014, "Fast Sparse Matrix-Vector Multiplication on GPUs for Graph Applications," Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, pp. 781-792. 

  8. Park, T. J., Woo, J. M. and Kim, C. H., 2011, "CUDA-based Parallel Bi-Conjugate Gradient Matrix Solver for BioFET Simulation," Journal of the Institute of Electronics Engineers of Korea, Vol. 48, No. 1, pp. 90-100. 

  9. Chang, T. K., Park, J. S. and Kim, C., 2014, "Efficient Computation of Compressible Flow By Higher-order Method Accelerated Using GPU," J. Comput. Fluids Eng, Vol. 19, No. 3, pp. 52-61. 

  10. https://www.nvidia.com/content/PDF/kepler/NVIDIA-Kepler-GK110-Architecture-Whitepaper.pdf 

  11. http://developer.download.nvidia.com/assets/cuda/files/reduction.pdf 

  12. Varghese, S. S., Frankel, S. H. and Fischer, P. F., 2007, "Direct Numerical Simulation of Stenotic Flow: Part 1. Steady Flow," J. Fluid Mech., Vol. 582, pp. 253-280. 

  13. Kang, K., Choi, H. G. and Yoo, J. Y., 2012. "Investigation of Fluid-structure Interactions using a Velocity-linked P2/P1 Finite Element Method and the Generalized-method," Int. J. Numer. Meth. Engng. pp. 1539-1547. 

저자의 다른 논문 :

LOADING...

관련 콘텐츠

유발과제정보 저작권 관리 안내
섹션별 컨텐츠 바로가기

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

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

선택된 텍스트

맨위로