• 제목/요약/키워드: GPU Parallel Programming

검색결과 39건 처리시간 0.02초

평면 다물체 동역학 해석에서 GPU 병렬 프로그래밍의 계산효과 (Calculation Effect of GPU Parallel Programing for Planar Multibody System Dynamics)

  • 전철웅;손정현
    • 동력기계공학회지
    • /
    • 제16권4호
    • /
    • pp.12-16
    • /
    • 2012
  • In this paper, the equations of motions for planar multibody dynamics are established for considering the parallel programming based on GPU. Cartesian coordinates are used to formulate the equations of motion and implicit integration method called HHT-alpha is employed. Open chain multibody system is considered for computer simulation. CUDA toolkit is employed for establishing the GPU parallel programming. The exactness of the analysis is verified from the comparison with ADAMS. The results from parallel computing based on GPU are compared with the results from the sequential programming based on CPU in terms of calculation time. The multiple pendulum with bodies and joints is employed for the computer simulation. In the pendulum system that has 290 bodies, the parallel program indicates an improved efficiency of about 25.5 second(15.5% improvement). It is noted that the larger the size of system is, the time efficiency is better.

최적화된 CUDA 소프트웨어 제작을 위한 프로그래밍 기법 분석 (Analysis of Programming Techniques for Creating Optimized CUDA Software)

  • 김성수;김동헌;우상규;임인성
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제16권7호
    • /
    • pp.775-787
    • /
    • 2010
  • GPU(Graphics Processing Unit)는 범용 CPU와는 달리 다수코어 스트리밍 프로세서(manycore streaming processor) 형태로 특화되어 발전되어 왔으며, 최근 뛰어난 병렬 처리 연산 능력으로 인하여 점차 많은 영역에서 CPU의 역할을 대체하고 있다. 이러한 추세에 따라 최근 NVIDIA 사에서는 GPGPU(General Purpose GPU) 아키텍처인 CUDA(Compute Unified Device Architecture)를 발표하여 보다 유연한 GPU 프로그래밍 환경을 제공하고 있다. 일반적으로 CUDA API를 사용한 프로그래밍 작업시 GPU의 계산구조에 관한 여러 가지 요소들에 대한 특성을 정확히 파악해야 효율적인 병렬 소프트웨어를 개발할 수 있다. 본 논문에서는 다양한 실험과 시행착오를 통하여 획득한 CUDA 프로그래밍에 관한 최적화 기법에 대하여 설명하고, 그러한 방법들이 프로그램 수행의 효율에 어떠한 영향을 미치는지 알아본다. 특히 특정 예제 문제에 대하여 효과적인 계층 구조 메모리의 접근과 코어 활성화 비율(occupancy), 지연 감춤(latency hiding) 등과 같이 성능에 영향을 미치는 몇 가지 규칙을 실험을 통해 분석해봄으로써, 향후 CUDA를 기반으로 하는 효과적인 병렬 프로그래밍에 유용하게 활용할 수 있는 구체적인 방안을 제시한다.

고차 정확도 수치기법의 GPU 계산을 통한 효율적인 압축성 유동 해석 (EFFICIENT COMPUTATION OF COMPRESSIBLE FLOW BY HIGHER-ORDER METHOD ACCELERATED USING GPU)

  • 장태규;박진석;김종암
    • 한국전산유체공학회지
    • /
    • 제19권3호
    • /
    • pp.52-61
    • /
    • 2014
  • The present paper deals with the efficient computation of higher-order CFD methods for compressible flow using graphics processing units (GPU). The higher-order CFD methods, such as discontinuous Galerkin (DG) methods and correction procedure via reconstruction (CPR) methods, can realize arbitrary higher-order accuracy with compact stencil on unstructured mesh. However, they require much more computational costs compared to the widely used finite volume methods (FVM). Graphics processing unit, consisting of hundreds or thousands small cores, is apt to massive parallel computations of compressible flow based on the higher-order CFD methods and can reduce computational time greatly. Higher-order multi-dimensional limiting process (MLP) is applied for the robust control of numerical oscillations around shock discontinuity and implemented efficiently on GPU. The program is written and optimized in CUDA library offered from NVIDIA. The whole algorithms are implemented to guarantee accurate and efficient computations for parallel programming on shared-memory model of GPU. The extensive numerical experiments validates that the GPU successfully accelerates computing compressible flow using higher-order method.

3차원 콘텐츠의 효율적인 병렬 시각화를 위한 CUDA 환경 기반 객체 지향 프로그래밍 기법 (CUDA-based Object Oriented Programming Techniques for Efficient Parallel Visualization of 3D Content)

  • 박태정
    • 디지털콘텐츠학회 논문지
    • /
    • 제13권2호
    • /
    • pp.169-176
    • /
    • 2012
  • 본 논문에서는 3차원 콘텐츠의 효율적인 병렬 시각화 프로그래밍을 위한 CUDA(Compute Unified Device Architecture) 환경에서의 객체 지향 플랫폼을 제안한다. 이러한 목적을 위해 GPU 프로그래밍을 위한 CUDA 환경에서의 C++ 객체 지향 프로그래밍의 특성과 제약을 논의하고 그 해결 방안을 제시하며 MVC (Model/View/Controller) 디자인 패턴에 기초한 3차원 병렬 시각화 플랫폼의 구현을 제안한다. 또한 이 MVC 디자인 패턴에 따라 적분형 MLS(iMLS)와 부호 거리장(SDF)을 이용한 3차원 모델링 기법을 Marching Cubes 및 Raytracing으로 시각화하는 예제의 구현을 논의한다. 제안하는 방법은 간단한 인터페이스의 구현만으로 GPU 병렬 처리가 자동화된다는 특징이 있으며 개발자 입장에서 객체 지향 프로그래밍의 일반적인 장점들, 즉, 코드 관리 용이성, 코드 재활용 등의 이점을 추상화와 상속을 통해 병렬 환경에서도 실현한다. 본 논문에서는 제안하는 플랫폼에 대해 두 가지 사례만 구현했으나 다양한 모델링 기법과 시각화 기법을 조합할 수 있기 때문에 컴퓨터 그래픽스 전반에서 널리 활용 가능할 것으로 기대한다.

병렬 GPU를 이용한 분자 도킹 시스템 (Molecular Docking System using Parallel GPU)

  • 박성준
    • 한국콘텐츠학회논문지
    • /
    • 제8권12호
    • /
    • pp.441-448
    • /
    • 2008
  • 분자 도킹 실험은 일반적으로 계산 량이 매우 많아 슈퍼 컴퓨팅 파워를 요구하는 실험이다. 따라서 시간이 많이 소요되기 때문에 일반적으로 CPU가 탑재된 컴퓨터를 여러 대 묶어서 사용하는 분산 환경 혹은 그리드 환경에서 실험을 수행하고 있다. 이와 같은 실험 환경은 시간적, 공간적 제약성이 많아 일반적으로 과학자들이 접근하기가 어렵다. 그래서 근래에는 많은 CPU를 사용하기 보다는 월등히 성능이 높은 GPU를 병렬 화하여 과학 분야에 계산하는 연구가 매우 활발히 이루어지고 있는 추세이다. CUDA는 병렬 GPU 프로그래밍을 가능하게 하는 공개 기술이다. 본 논문에서는 이러한 CUDA 기술을 사용하여 분자 도킹 실험을 할 수 있는 시스템을 제안한다. 또한, 분자 도킹 실험에 있어서 중요한 에너지 최소화 계산을 병렬 화하는 알고리즘을 제안한다. 이와 같은 실험을 검증하기 위해 본 논문에서는 일반적인 CPU에서 분자 도킹 실험 시간과 본 논문에서 제안한 병렬 CPU 기반의 분자 도킹 시간을 비교 분석 하였다.

GPU를 이용한 SDR 시스템 용 LTE MIMO 기지국 기능 구현 (Implementation of $2{\times}2$ MIMO LTE Base Station using GPU for SDR System)

  • 이승학;김경훈;안치영;최승원
    • 디지털산업정보학회논문지
    • /
    • 제8권4호
    • /
    • pp.91-98
    • /
    • 2012
  • This paper implements 2X2 MIMO Long Term Evolution (LTE) base station using Software defined radio (SDR) technology. The implemented base station system processes baseband signals on a Graphics Processor Unit(GPU). GPU is a high-speed parallel processor which provides very important advantage of using a very powerful C-based programming environment that is Compute Unified Device Architecture (CUDA). The implemented software-based base station system processes baseband signals through GPU. It utilizes USRP2 as its RF transceiver. In order to guarantee a real-time processing of LTE baseband signals, we have adopted well-known signal processing algorithms such as frame synchronization algorithms, ML detection, etc. using GPU operating in parallel processing.

CPU와 GPU의 병렬 처리를 이용한 고속 물체 인식 알고리즘 구현 (The Implementation of Fast Object Recognition Using Parallel Processing on CPU and GPU)

  • 김준철;정용한;박은수;최학남;김학일;허욱렬
    • 제어로봇시스템학회논문지
    • /
    • 제15권5호
    • /
    • pp.488-495
    • /
    • 2009
  • This paper presents a fast feature extraction method for autonomous mobile robots utilizing parallel processing and based on OpenMP, SSE (Streaming SIMD Extension) and CUDA programming. In the first step on CPU version, the algorithms and codes are optimized and then implemented by parallel processing. The parallel algorithms are debugged to maintain the same level of performance and the process for extracting key points and obtaining dominant orientation with respect to key points is parallelized. After extraction, a parallel descriptor via SSE instructions is constructed. And the GPU version also implemented by parallel processing using CUDA based on the SIFT. The GPU-Parallel descriptor achieves an acceleration up to five times compared with the CPU-Parallel descriptor, but it shows the lower performance than CPU version. CPU version also speed-up the four and half times compared with the original SIFT while maintaining robust performance.

멀티코어와 매니코어 환경에서의 2 차원 DCT 가속 (Accelerating 2D DCT in Multi-core and Many-core Environments)

  • 홍진건;정성욱;김정길
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2011년도 춘계학술발표대회
    • /
    • pp.250-253
    • /
    • 2011
  • Chip manufacture nowadays turned their attention from accelerating uniprocessors to integrating multiple cores on a chip. Moreover desktop graphic hardware is now starting to support general purpose computation. Desktop users are able to use multi-core CPU and GPU as a high performance computing resources these days. However exploiting parallel computing resources are still challenging because of lack of higher programming abstraction for parallel programming. The 2-dimensional discrete cosine transform (2D-DCT) algorithms are most computational intensive part of JPEG encoding. There are many fast 2D-DCT algorithms already studied. We implemented several algorithms and estimated its runtime on multi-core CPU and GPU environments. Experiments show that data parallelism can be fully exploited on CPU and GPU architecture. We expect parallelized DCT bring performance benefit towards its applications such as JPEG and MPEG.

도시기상모델 CFD_NIMR의 GP-GPU 실행을 위한 병렬 프로그램의 구현 (GP-GPU based Parallelization for Urban Terrain Atmospheric Model CFD_NIMR)

  • 김영태;박혜자;최영진
    • 인터넷정보학회논문지
    • /
    • 제15권2호
    • /
    • pp.41-47
    • /
    • 2014
  • 본 논문은 도시기상모델인 전산유체역학모델(CFD_NIMR)을 GP-GPU에서 실행시키기 위해 CUDA Fortran 병렬프로그램을 구현하였다. GP-GPU는 원래 PCI 카드 형태의 그래픽 처리 장치이지만 저비용, 저전력으로 대량의 계산을 초고속으로 수행할 수 있는 일반 계산 가속기이다. 모델을 단일 Intel XEON 2.0 GHz CPU에서 실행한 결과와 Nvidia Tesla C1060 GPU에서 실행한 성능을 비교하였을 때 GP-GPU에서 15배 정도의 빠른 속도를 보였다. 또한 다중 CPU를 사용한 MPI 병렬프로그램과 비교한 경우에도 GP-GPU에서 보다 더 효율적인 성능을 보였다. 본 논문에서 제시한 프로그램 방식은 유사한 구조를 가진 수치모델을 GP-GPU 병렬 프로그램으로 구현하는데 쉽게 적용할 수 있을 것으로 기대한다.

GPU의 공유메모리를 활용한 확장편집거리 병렬계산 (Parallel Computation for Extended Edit Distances Using the Shared Memory on GPU)

  • 김영호;나중채;심정섭
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제4권7호
    • /
    • pp.213-218
    • /
    • 2015
  • 알파벳 ${\Sigma}$로 구성된 길이가 각각 m, n인 두 문자열 X, Y가 주어졌을 때, X, Y의 확장편집거리는 동적프로그래밍을 이용하여 O(mn) 시간과 공간을 계산할 수 있다. 최근 m개의 쓰레드를 이용하여 O(m+n) 시간과 O(mn) 공간을 사용하여 X, Y의 확장편집거리를 계산하는 병렬알고리즘이 제시되었다. 본 논문에서는 GPU의 공유메모리를 활용하여 수행시간을 개선한 병렬알고리즘을 제시한다. 실험 결과, 개선된 병렬알고리즘이 기존의 병렬알고리즘보다 약 19~25배 이상 빠른 수행시간을 보였다.