• 제목/요약/키워드: CUDA Programming

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

최적화된 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를 기반으로 하는 효과적인 병렬 프로그래밍에 유용하게 활용할 수 있는 구체적인 방안을 제시한다.

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 병렬 처리가 자동화된다는 특징이 있으며 개발자 입장에서 객체 지향 프로그래밍의 일반적인 장점들, 즉, 코드 관리 용이성, 코드 재활용 등의 이점을 추상화와 상속을 통해 병렬 환경에서도 실현한다. 본 논문에서는 제안하는 플랫폼에 대해 두 가지 사례만 구현했으나 다양한 모델링 기법과 시각화 기법을 조합할 수 있기 때문에 컴퓨터 그래픽스 전반에서 널리 활용 가능할 것으로 기대한다.

CUDA 프로그래밍 기법 비교 연구 (A Comparison among Methods using CUDA Programming)

  • 임선영;박영호
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2013년도 춘계학술발표대회
    • /
    • pp.138-139
    • /
    • 2013
  • GPU 를 활용하는 병렬 프로그래밍에 대한 관심이 높아지면서 이에 대한 연구가 활발히 진행되고 있다. GPU 의 성능이 높아지면서 이를 일반 연산에 사용하는 방법으로 NVIDIA 사에서 CUDA 프로그래밍 개발 환경을 제공하고 있다. 본 논문에서는 이 CUDA 프로그래밍 기법을 소개하고, 간단한 예제를 통해 CPU 와 GPU 를 사용하는 방법을 비교한다.

평면 다물체 동역학 해석에서 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 programming environment을 활용한 Path-Integral Monte Carlo Simulation의 구현

  • 이화영;임은진
    • 한국산업정보학회:학술대회논문집
    • /
    • 한국산업정보학회 2009년도 춘계학술대회 미래 IT융합기술 및 전략
    • /
    • pp.196-199
    • /
    • 2009
  • 높아지는 Graphic Processing Unit (GPU)의 연산 성능과 GPU에서의 범용 프로그래밍을 위한 개발 환경의 개발, 보급으로 인해 GPU를 일반연산에 활용하는 연구가 활발히 진행되고 있다. 이와같이 일반 연산에 활용되고 있는 GPU로 nVidia Tesla와 AMD/ATI의 FireStream 들이 있다. 특수목적 연산 장치인 GPU를 일반 연산을 위해 프로그래밍하기 위해서는 그에 맞는 프로그램 개발 환경이 필요한데 nVidia에서 개발한 CUDA (Compute Unified Device Architecture) 환경은 자사의 GPU 프로그램 개발을 위해 제공되는 개발 환경이다. CUDA 개발 환경은 nVidia GPU 프로그래밍 뿐만 아니라 차세대 이종 병렬 프로그램 개발 환경의 공개 표준으로 논의되고 있는 OpenCL (Open Computing Language) 와 유사한 특징을 보일 것으로 예상되기 때문에 그 중요성은 특정 GPU 에만 국한되지 않는다. 본 논문에서는 경로 적분 몬테 카를로 (Path Integral Monte Carlo) 방법을 CUDA 개발 환경을 사용하여 nVidia GPU 상에서 병렬화한 결과를 제시하였다.

  • PDF

Weather Radar Image Gener ation Method Using Inter polation based on CUDA

  • Yang, Liu;Jang, Bong-Joo;Lim, Sanghun;Kwon, Ki-Chang;Lee, Suk-Hwan;Kwon, Ki-Ryong
    • 한국멀티미디어학회논문지
    • /
    • 제18권4호
    • /
    • pp.473-482
    • /
    • 2015
  • Doppler weather radar is an important tool for meteorological research. Through several decades of development, Doppler weather radar has enormous progress in understanding, detection and warning of meso and micro scale weather system. It makes a significant contribution to weather forecast and weather disaster warning. But the large amount of data process limits the application of Doppler weather radar. This paper proposed for fast weather radar data processing based on CUDA. CDUA is a powerful platform for highly parallel programming developed by NVIDIA. Through running plenty of threads, radar data can be calculated at same time. In experiment, CUDA parallel program can significantly improve weather data processing time.

고차 정확도 수치기법의 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.

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

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

CUDA 기반의 병렬 프로그래밍을 통한 H.264/AVC 부호화 속도 향상 및 CPU 부하 경감 (Enhancement of H.264/AVC Encoding Speed and Reduction of CPU Load through Parallel Programming Based on CUDA)

  • 장은빈;하윤수
    • Journal of Advanced Marine Engineering and Technology
    • /
    • 제34권6호
    • /
    • pp.858-863
    • /
    • 2010
  • H.264/AVC를 이용한 동영상의 부호화에서 그 속도를 높이기 위해서는 움직임 예측시간을 줄이는 것이 매우 중요하다. 본 논문에서는 H.264/AVC 부호기의 오픈 소스인 x.264를 대상으로 움직임 예측 알고리즘을 CUDA 기반에서 구현함으로서 기존의 압축 기술 이상의 속도 향상 및 CPU의 점유율을 경감 시킬 수 있음을 검증한다.