• 제목/요약/키워드: GPU Memory

검색결과 149건 처리시간 0.036초

OpenACC와 GPU를 이용한 3차원 파동 전파 모델링 (Three-dimensional Wave Propagation Modeling using OpenACC and GPU)

  • 김아름;이종우;하완수
    • 지구물리와물리탐사
    • /
    • 제20권2호
    • /
    • pp.72-77
    • /
    • 2017
  • 3차원 주파수 영역과 라플라스 영역 파동장을 얻기 위해 시간 영역에서 파동 전파 모델링을 하는 동시에 푸리에 변환과 라플라스 변환을 수행하였다. 이 과정에서 효율적인 계산을 위해 OpenACC와 GPU를 이용한 병렬 연산을 수행하였다. OpenACC를 이용하면 기존의 C, C++, Fortran 등 프로그래밍 언어에 간단한 지시어(directive)를 추가하여 GPU 연산 가속기를 사용할 수 있기 때문에 CUDA 또는 OpenCL과 같은 GPGPU 프로그래밍 언어를 배우지 않고도 GPU를 이용한 프로그래밍을 할 수 있다. OpenACC 프로그램은 GPU 메모리 공간 할당, 호스트와 디바이스 간의 데이터 복사 및 GPU 연산 과정을 자동으로 또는 사용자 정의에 따라 수행하게 된다. 수치 실험으로 OpenACC와 GPU를 사용한 3차원 파동 전파 모델링 프로그램과 단일 CPU 코어를 사용한 프로그램의 성능을 비교하였다. 상속도 모델과 SEG/EAGE 암염돔 속도 모델을 이용한 결과, OpenACC와 GPU를 사용한 경우 단일 CPU 코어를 사용하였을 때보다 계산 속도가 각각 53배와 30배 정도 향상되었다.

범용 응용프로그램 실행 시 하드웨어 구성과 분기 처리 기법에 따른 GPU 성능 분석 (Analysis of Impact of Correlation Between Hardware Configuration and Branch Handling Methods Executing General Purpose Applications)

  • 최홍준;김철홍
    • 한국콘텐츠학회논문지
    • /
    • 제13권3호
    • /
    • pp.9-21
    • /
    • 2013
  • GPU의 연산 능력과 유연성이 강화됨에 따라, GPU는 그래픽 응용프로그램뿐만 아니라 범용 응용프로그램도 수행한다. 특히, GPU 회사들이 제공하는 API를 활용함으로써 프로그래머들은 보다 쉽게 GPGPU 응용프로그램을 작성할 수 있다. 하지만 대부분의 범용 응용프로그램은 분기 명령어를 많이 포함하고 있기 때문에, 범용 응용프로그램을 수행하는 경우 GPU의 연산 자원을 충분히 활용할 수 없다. 분기 명령어를 처리하기 위해서 다양한 워프 생성 기법들이 제안되었다. GPU 구조에서는 높은 연산 자원 활용률을 보이는 워프 생성기법이 우수한 성능을 보일 것으로 예상된다. 하지만 예상과는 달리, 실험 결과에 따르면 높은 연산 자원 활용률을 보이는 워프 생성 기법의 성능이 상대적으로 낮은 연산 자원 활용률을 보이는 워프 생성 기법의 성능보다 낮게 나타난다. 높은 연산 자원 활용률을 보이는 워프 생성 기법에서 유발한 많은 메모리 요구로 인한 심각한 메모리 병목 현상이 원인으로 분석된다. 그러므로 적절한 하드웨어 지원이 없는 경우, 높은 연산자원 활용률이 반드시 우수한 성능을 보장한다고 할 수 없다. 이러한 이유로, 본 논문에서는 하드웨어 자원과 워프 생성 기법사이의 상관관계에 대한 상세한 분석을 수행하고자 한다. 본 논문의 분석 결과는 분기 명령어에 의해 발생된 GPU의 성능 저하 문제를 해결하고자 할 때 중요한 가이드라인이 될 것이다.

GPU 아키텍처의 AES 암호화 성능 예측 분석 모델 (An Analytical Model for Performance Prediction of AES on GPU Architecture)

  • 김규운;김현우;김희정;허태영;정상혁;송용호
    • 전자공학회논문지
    • /
    • 제50권4호
    • /
    • pp.89-96
    • /
    • 2013
  • 컴퓨터의 그래픽 연산장치인 GPU는 그래픽 데이터의 연산뿐만 아니라 일반시스템 데이터를 처리할 수 있도록 발전되었으며, 3D 그래픽 관련 알고리즘이나 병렬 실행이 가능한 코드에 대해서는 CPU 보다 우수한 성능을 보여주고 있다. CPU 기반으로 제작된 일반적인 알고리즘을 GPU에서 실행하기 위해서는, GPU 시스템의 아키텍처를 이해하고 병렬처리 능력과 새로운 메모리 구조를 고려하여 코드를 재작성하여야 한다. 이를 위해서는 알고리즘을 성능 예측 모델에 적용하여 GPU 시스템에서 예상되는 성능 예측이 필수적이다. 이를 통해 GPU 기반 어플리케이션 개발에서 발생할 수 있는 문제점들을 사전에 예측하고, 성능에 대한 평가 지표를 구성할 수 있다. 본 논문에서는 AES 암호화 알고리즘에 성능예측 모델을 적용하여 작업량이 많은 조건하에서 높은 정확도로 성능 예측을 수행하였다.

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

정점 셰이더의 가상 기계 구현 (Design of Virtual Machine for Vertex Shader)

  • 하창수;김주홍;최병윤
    • 대한전자공학회:학술대회논문집
    • /
    • 대한전자공학회 2005년도 추계종합학술대회
    • /
    • pp.1003-1006
    • /
    • 2005
  • Vertex shader of GPU in personal computer is advanced in functions as to be half of traditional fixed T&L functions. And, capacity of memory for saving resources to process instructions is unlimited. GPU that can be programmed by programmer is needed for mobile system as well as personal computer. In this paper, we implement software virtual machine for vertex shader using C++ Language. Our goal is designing hardware GPU that can apply to mobile system. The virtual machine consists of nVidia GPU instructions. Input Data to virtual machine is generated by Microsoft fxc compiler. That is to say, Input Data is compiled shader program written in HLSL, Cg, or ASM. The virtual machine will be a reference model for designing hardware GPU and can be used for Testbed to test added or modified instruction.

  • PDF

컨테이너 환경에서 추론 작업 동시 실행 시 GPU 메모리 부족으로 인한 작업 실패 문제 분석 (Analyzing problem of job failures due to low GPU memory when concurrent running inference jobs in a container environment)

  • 김형준;강지훈
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2023년도 추계학술발표대회
    • /
    • pp.71-74
    • /
    • 2023
  • 인공지능의 추론 작업은 대규모 연산 자원을 필요로 하는 학습 작업과는 다르게 단일 서버에서 다수의 작업을 동시 실행하는 것이 가능하며, 실행 시간이 상대적으로 빠르다는 특성으로 인해 작업 실행을 위해 컴퓨팅 자원을 점유하고 빠르게 작업을 완료한 후 자원을 반환하기 때문에 다수의 추론 작업을 동시에 운용하는데 용이하다. 하지만, 단일 서버의 컴퓨팅 자원은 제한적이다. 이로 인해 컴퓨팅 자원의 허용 범위 내에서 작업을 운용해야 하며, 허용 범위를 초과하는 규모의 추론 작업이 동시에 실행되면 자원 부족으로 인한 경쟁이 발생한다. 본 논문에서는 컨테이너 환경에서 다수의 추론 작업이 동시에 실행될 때 GPU 메모리 부족으로 인한 작업 실패 문제를 실험을 통해 확인한다. 또한, 다수의 추론 작업 사이에서 발생하는 GPU 자원 경쟁과 실행을 실패하는 추론 작업의 GPU 메모리 낭비로 인한 자원 활용률 저하 문제를 분석한다.

GPU 성능 향상을 위한 MSHR 활용률 기반 동적 워프 스케줄러 (MSHR-Aware Dynamic Warp Scheduler for High Performance GPUs)

  • 김광복;김종면;김철홍
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제8권5호
    • /
    • pp.111-118
    • /
    • 2019
  • GPU는 병렬처리가 가능한 강력한 하드웨어 자원을 기반으로 높은 처리량을 제공한다. 하지만 과도한 메모리 요청이 발생하는 경우 캐쉬 효율이 낮아져 GPU 성능이 크게 감소할 수 있다. 캐쉬에서의 경합이 심각하게 발생한 경우 동시 처리되는 스레드의 수를 감소시킨다면 캐쉬에서의 경합이 완화되어 전체 성능을 향상시킬 수 있다. 본 논문에서는 캐쉬에서의 경합 정도에 따라 동적으로 병렬성을 조절할 수 있는 워프 스케줄링 기법을 제안한다. 기존 워프 스케줄링 정책 중 LRR은 GTO에 비해 워프 수준의 병렬성이 높다. 따라서 제안하는 워프 스케줄러는 L1 데이터 캐쉬 경합 정도를 반영하는 MSHR(Miss Status Holding Register)이 낮은 자원 활용률을 보일 때 LRR 정책을 적용한다. 반대로 MSHR 자원 활용률이 높을 때는 워프 수준의 병렬성을 낮추기 위해 GTO 정책을 적용하여 워프 우선순위를 결정한다. 제안하는 기법은 동적으로 스케줄링 정책을 선택하기 때문에 기존의 고정된 LRR과 GTO에 비해 높은 IPC 성능과 캐쉬 효율을 보여준다. 실험 결과 제안하는 동적 워프 스케줄링 기법은 LRR 정책에 비해 약 12.8%, GTO 정책에 비해 약 3.5% IPC 향상을 보인다.

HIGHT 블록 암호 알고리즘의 고속화 구현 (Speed-optimized Implementation of HIGHT Block Cipher Algorithm)

  • 백은태;이문규
    • 정보보호학회논문지
    • /
    • 제22권3호
    • /
    • pp.495-504
    • /
    • 2012
  • 본 논문에서는 국제 표준 블록 암호 알고리즘인 HIGHT를 CPU 및 GPU 상에서 소프트웨어로 고속화 구현하기 위한 다양한 방법을 시도한다. 먼저 CPU 상에서는 32비트 및 64비트 운영체제를 고려하고 비트 슬라이싱 및 바이트 슬라이싱 기법을 적용한다. 이들 최적화 기법의 적용 결과, Intel core i7 920 CPU 상에서 64비트 운영체제를 이용할 경우 최대 1.48Gbps의 속도를 보여 슬라이싱이 적용되지 않은 기존 구현에 비해 최대 2.4배 빠른 성능을 확인할 수 있었다. 한편 GPU 상에서는 NVIDIA의 CUDA 라이브러리를 활용하였으며, 서브키 및 F 함수를 위한 룩업 테이블 등과 같이 자주 사용되는 데이터를 공유 메모리에 저장하여 사용하고, 전역 메모리에서 데이터를 읽어올 때는 통합 접근(coalesced access) 기법을 사용하는 등 최적화 기법들을 적용해 구현하였다. 특히 본 논문은 GPU 상에서 HIGHT를 최적화한 최초의 결과로, GPU 상에서도 바이트 슬라이싱 기법을 적용할 경우 단순 구현 결과보다 20% 이상 빠른 성능을 확인할 수 있었으며, CPU에 비해서는 약 31배 빠른 결과를 얻을 수 있었다.

다중 GPU를 이용한 R-tree의 병렬 범위 질의 처리 기법 (Parallel Range Query Processing with R-tree on Multi-GPUs)

  • 류홍수;김민철;최원익
    • 정보과학회 논문지
    • /
    • 제42권4호
    • /
    • pp.522-529
    • /
    • 2015
  • 다차원의 데이터를 색인하기 위해 처음 R-tree가 제안된 이후 다양한 방법으로 질의 성능을 향상시키기 위한 많은 연구가 이루어졌다. 그 가운데 다중프로세서를 이용한 병렬 기법으로 질의 성능을 향상시킨 GPU기반의 R-tree가 제안되었다. 하지만 GPU가 갖는 물리적 메모리 크기의 한계가 있어 데이터의 크기가 제한된다. 이에 본 논문에서는 다중 GPU를 이용한 R-tree의 병렬 범위 질의 처리 기법인 MGR-tree 제안한다. 제안하는 MGR-tree는 기존의 GPU기반의 R-tree 질의 처리 기법을 기반으로 하여 다중 GPU에서 질의 처리를 가능하게 R-tree의 노드를 다중 GPU상에 분할하여 분산 처리 하였다. 실험을 통해 MGR-tree는 GPU에서의 선형검색에 비해 최대 9.1배, GPU기반 R-tree에 비해 최대 1.6배 가량의 성능이 향상된 것을 확인하였다.

Study of Cache Performance on GPGPU

  • Choi, Kyu Hyun;Kim, Seon Wook
    • IEIE Transactions on Smart Processing and Computing
    • /
    • 제4권2호
    • /
    • pp.78-82
    • /
    • 2015
  • General-purpose graphics processing units (GPGPUs) provide tremendous computational and processing power. Despite the latency hiding mechanism, a GPU architecture requires high memory bandwidth and lower latency between computational units and the memory system. For this reason, the current GPU architecture has private L1 caches in each core and a shared L2 cache to increase performance by reducing memory latency. But in some cases, this CPU-like cache design is not suitable for GPGPUs. In this paper, we analyze detailed cache performance related to GPGPU application characteristics, and suggest technical alternatives for the GPGPU architecture as future work.