DOI QR코드

DOI QR Code

Parallel Structure Design Method for Mass Spring Simulation

질량스프링 시뮬레이션을 위한 병렬 구조 설계 방법

  • Sung, Nak-Jun (Department of Computer Science, Soonchunhyang University) ;
  • Choi, Yoo-Joo (Department of Media Engineering, Seoul Media Institute of Technology) ;
  • Hong, Min (Department of Computer Software Engineering, Soonchunhyang University)
  • 성낙준 (순천향대학교 컴퓨터학과) ;
  • 최유주 (서울미디어대학원대학교 뉴미디어콘텐츠학부) ;
  • 홍민 (순천향대학교 컴퓨터소프트웨어공학과)
  • Received : 2019.06.08
  • Accepted : 2019.06.21
  • Published : 2019.07.14

Abstract

Recently, the GPU computing method has been utilized to improve the performance of the physics simulation field. In particular, in the case of a deformed object simulation requiring a large amount of computation, a GPU-based parallel processing algorithm is required to guarantee real-time performance. We have studied the parallel structure design method to improve the performance of the mass spring simulation method which is one of the methods of implementing the deformation object simulation. We used OpenGL's GLSL, a graphics library that allows direct access to the GPU, and implemented the GPGPU environment using an independent pipeline, the compute shader. In order to verify the effectiveness of the parallel structure design method, the mass - spring system was implemented based on CPU and GPU. Experimental results show that the proposed method improves computation speed by about 6,000% compared to the CPU Environment. It is expected that the lightweight simulation technology can be effectively applied to the augmented reality and the virtual reality field by using the design method proposed later in this research.

최근 물리 시뮬레이션 분야의 성능 개선을 위해 GPU 컴퓨팅 방식이 활용되고 있다. 특히 많은 연산의 양을 요구하는 변형물체 시뮬레이션의 경우 실시간성 보장을 위해 GPU 기반 병렬처리 알고리즘을 필요로 한다. 본 연구진은 변형물체 시뮬레이션을 구현하는 방법 중 하나인 질량스프링 시뮬레이션 기법의 성능을 향상시키기 위한 병렬 구조 설계 방법에 대한 연구를 수행하였다. 이를 위해 GPU에 직접 접근이 가능한 그래픽 라이브러리인 OpenGL의 GLSL을 사용하였으며, 독립적인 파이프라인인 컴퓨트 쉐이더를 활용해 GPGPU 환경을 구현하였다. 병렬 구조 설계 방법의 효과를 검증하기 위해 스프링 기반 질량스프링 시스템을 CPU기반과 GPU기반으로 구현하였으며, 실험의 결과 본 설계 방법을 적용하였을 때 CPU 환경에 비해 연산 속도가 약 6,000% 개선됨을 보였다. 추후 본 연구에서 제안한 설계 방법을 활용한다면 경량화 시뮬레이션 기술이 필요한 증강현실 및 가상현실 분야에 효과적으로 적용이 가능할 것으로 기대한다.

Keywords

References

  1. Martin Heller, "What is CUDA? Parallel programming for GPUs", Infoworld, 2018.
  2. Goldenthal, Harmon, Fattal, Bercovier, Grinspun, "Efficient simulation of inextensible cloth," ACM Transactions on Graphics (TOG), vol. 26, no. 3, pp. 49, 2007. https://doi.org/10.1145/1276377.1276438
  3. Nedel, Thalmann, "Real time muscle deformations using mass-spring systems," In Proc of Computer Graphics International(IEEE), pp. 156-165, 1998.
  4. V. Baudet M. Beuve F. Jaillet B. Shariat F. Zara "Integrating Tensile Parameters in Hexahedral Mass-Spring System for Simulation" In Proc of 29th Int'l Conference Computer Graphics Visualization and Computer Vision (WSCG '09) pp. 145-152, 2009.
  5. Rahul Narain, Armin Samii, James F.O'brien, "Adaptive Anisotropic Remeshing for Cloth Simulation," ACM transactions on graphics (TOG), vol. 31, no. 6, 2012.
  6. Oshita M., Makinouchi A., "Real-time cloth simulation with sparse particles and curved faces," In Proc. of The Fourteenth Conference on Computer Animation of Computer Animation (IEEE), pp. 220-227, 2001.
  7. M. Hong, J.H. Jeon, H.S. Yum, S.H. Lee, "Plausible mass-spring system using parallel computing on mobile devices," Human-centric Computing and Information Sciences, vol. 6, no. 1, pp. 2016.
  8. Yang, Chao-Tung, Chih-Lin Huang, and Cheng-Fang Lin. "Hybrid CUDA, OpenMP, and MPI parallel programming on multicore GPU clusters." Computer Physics Communications vol. 182, no. 1, pp. 266-269, 2011. https://doi.org/10.1016/j.cpc.2010.06.035
  9. Ni, Tianyun. "Direct Compute: Bring GPU computing to the mainstream." GPU Technology Conference, pp.23, 2009.
  10. Stone, John E., David Gohara, and Guochun Shi. "OpenCL: A parallel programming standard for heterogeneous computing systems." Computing in science & engineering, vol. 12, no. 3, pp.66, 2010.
  11. Shreiner, Dave, et al. "OpenGL programming guide: The Official guide to learning OpenGL", version 4.3. Addison-Wesley, 2013.
  12. Wang, Huamin, and Yin Yang. "Descent methods for elastic body simulation on the GPU.", ACM Transactions on Graphics (TOG), vol. 35, no. 6, 2016.
  13. Wang, Zhendong, et al. "Parallel Multigrid for Nonlinear Cloth Simulation.", Computer Graphics Forum, vol. 37. no. 7, pp.131-141, 2018. https://doi.org/10.1111/cgf.13554
  14. Sung, Nak-Jun, et al. "Simulation of Deformable Objects using GLSL 4.3.", KSII Transactions on Internet & Information Systems, vol. 11, no. 8, 2017.
  15. Kim, M., Sung, N. J., Kim, S. J., Choi, Y. J., & Hong, M. "Parallel cloth simulation with effective collision detection for interactive AR application", Multimedia Tools and Applications, vol. 78, no. 4, pp. 4851-4868, 2019. https://doi.org/10.1007/s11042-018-6063-9
  16. Hong, M., Choi, Y. H., Sung, N. J., & Choi, Y. J., "Design and Implementation of Cloth Simulation Using GLSL 4.3", Advanced Science Letters, vol. 23, no. 10, pp.10384-10389, 2017. https://doi.org/10.1166/asl.2017.10458
  17. H. Si, "TetGen, a Delaunay-based quality tetrahedral mesh generator", ACM Transactions on Mathematical Software (TOMS), vol. 41, no. 2, 2015.

Cited by

  1. Real-Time Augmented Reality Physics Simulator for Education vol.9, pp.19, 2019, https://doi.org/10.3390/app9194019
  2. Parallel Algorithm of Conjugate Gradient Solver using OpenGL Compute Shader vol.26, pp.1, 2019, https://doi.org/10.9708/jksci.2021.26.01.001