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

검색결과 975건 처리시간 0.03초

바이오 응용을 위한 직접 통로 기반의 GPU 가상화 (Direct Pass-Through based GPU Virtualization for Biologic Applications)

  • 최동훈;조희승;이명호
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제2권2호
    • /
    • pp.113-118
    • /
    • 2013
  • 현재 개발된 GPU 가상화 기술은 모두 미세한 시분할 기법에 의한 스케줄링을 사용하기 때문에 어플리케이션 실행을 위한 오버헤드를 필요 이상으로 유발한다. 또한 이들은 가상 머신 모니터에 GPU 컴퓨팅 API를 포함하고 있어서, 가상 머신 모니터의 이식성이 약하다. 본 논문에서는 이질적 컴퓨팅 시스템에서 바이오 어플리케이션에 최적화된 GPU 가상화 기술을 제안하며, 공개 소스 Xen을 사용하여 개발하였다. 우리가 제안하는 방법은 가상 머신 간의 GPU 공유를 시분할에 의존하지 않는다. 대신에 하나의 가상 머신이 GPU를 할당 받으면 그 가상 머신이 어플리케이션을 종료할 때까지 GPU를 사용하도록 허용한다. 이렇게 하여 바이오 어플리케이션의 성능을 향상시키고 GPU의 활용률을 높인다. GPU 가상화의 이식성을 높이기 위해 하드웨어가 지원하는 IOMMU 가상화를 이용하여 GPU에 대한 직접 접근 통로를 제공한다. 미생물 유전체 분석 어플리케이션을 대상으로 성능을 분석한 결과, 본 연구에서 제안하는 직접 통로 방식에 의한 GPU 가상화는 Domain0를 통한 접근에 비해 오버헤드가 적었다. 또한 직접 접근 방식에 의한 가상 머신의 GPU 접근은, 비가상화된 머신과 거의 성능의 차이가 없었다.

묵시적 동기화 기반의 고성능 다중 GPU 렌더링 (High-Performance Multi-GPU Rendering Based on Implicit Synchronization)

  • 김영욱;이성길
    • 정보과학회 논문지
    • /
    • 제42권11호
    • /
    • pp.1332-1338
    • /
    • 2015
  • 최근 고품질, 초고해상도 실시간 렌더링 지원을 위하여 다중 GPU 렌더링에 대한 관심이 커지고 있다. 실시간 렌더링에서 여러 개의 GPU로 고성능을 달성하기 위해서는 GPU 간의 데이터 전송 지연과 프레임 합성 부하를 고려해야 한다. 이 논문은 이러한 부하를 최소화하고 다중 GPU의 효율을 향상하기 위해 split frame 렌더링의 동기화를 묵시적 질의 기반으로 향상하는 기법을 제안한다. 또한, 이러한 묵시적 동기화 기반 프레임 합성을 지원하기 위한 메시지 큐 기반의 렌더링 스케줄링 알고리즘도 제안한다. 본 알고리즘을 적용한 실험은 본 알고리즘이 기존 알고리즘 대비 200% 이상 효율을 향상함을 확인하였다.

내장형 GPU 환경에서 CPU-GPU 간의 공유 캐시에서의 캐시 분할 방식의 필요성 (The Need of Cache Partitioning on Shared Cache of Integrated Graphics Processor between CPU and GPU)

  • 성한울;엄현상;염헌영
    • 정보과학회 컴퓨팅의 실제 논문지
    • /
    • 제20권9호
    • /
    • pp.507-512
    • /
    • 2014
  • 최근 전력의 한계 때문에 많은 트랜지스터를 모두 이용할 수 없는 '다크실리콘' 문제가 발생했다. 이 문제를 효율적으로 해결하기 위하여 CPU(Central processing unit)와 GPU(Graphic processing unit)를 함께 사용하여 분산처리하기 시작했다. 최근에는 CPU(Central processing unit)와 GPU(Graphic processing unit)가 메모리와 Last Level Cache를 공유하는 내장형 GPU 프로세서(Integrated graphic processing unit processor)가 등장했다. 하지만 CPU 프로세스와 GPU 프로세스가 LLC(Last level cache)로 접근하기 위한 어떠한 규칙이 없기 때문에, 동시에 CPU 프로세스와 GPU 프로세스 수행될 때 LLC(Last level cache)를 차지하기 위한 경쟁이 일어나 성능 저하가 발생한다. 본 논문에서는 캐시 접근 빈도가 큰 여러 개의 프로세스들이 수행됨에 따라 캐시 오염이 발생한 상황에서 GPU 프로세스의 성능 보장을 위하여 GPU 프로세스만을 위한 고정된 Last Level Cache 공간을 주는 캐시 분할방식이 필요함을 증명하고 캐시를 분할하기 위한 페이지 컬러링 기법을 소개하고 디자인한다.

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기반 홀로그램 생성을 위한 병렬처리 성능 최적화 기법 (An Optimization Method for Hologram Generation on Multiple GPU-based Parallel Processing)

  • 국중진
    • 스마트미디어저널
    • /
    • 제8권2호
    • /
    • pp.9-15
    • /
    • 2019
  • 홀로그램의 생성을 위한 연산은 포인트 클라우드의 규모에 따라 연산량이 기하급수적으로 증가하기 때문에 최근에는 다중의 GPU를 기반으로 CUDA 또는 OpenCL 라이브러리를 활용한 병렬처리가 이루어지고 있다. GPU기반의 병렬처리를 위한 CUDA 커널은 GPU의 코어 개수와 메모리 크기를 고려하여 쓰레드(thread), 블록(block), 그리드(grid)를 구성해야 하며, 다중 GPU 환경인 경우 GPU의 개수에 따른 그리드, 블록, 또는 쓰레드 단위의 분산처리가 필요하다. 본 논문에서는 CGH 생성에 대한 성능평가를 위해 포인트 클라우드의 포인트 개수를 10~1,000,000개 범위에서 점진적으로 증가시키면서 CPU, 단일 GPU, 다중 GPU 환경에서 연산 속도를 비교해 보았으며, 다중 GPU 환경에서 CGH(Computer Generated Hologram) 생성 연산을 가속화하기 위한 CUDA 기반의 병렬처리 과정에서 요구되는 메모리 구조 설계와 연산 방법을 제안한다.

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

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 암호화 알고리즘에 성능예측 모델을 적용하여 작업량이 많은 조건하에서 높은 정확도로 성능 예측을 수행하였다.

도시기상모델 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 기반 MPI-CUDA 병렬 성능 확장성 (An MPI-CUDA Implementation for Parallel Scalability on Multi-GPU Clusters)

  • 이홍석;이승민
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2012년도 한국컴퓨터종합학술대회논문집 Vol.39 No.1(A)
    • /
    • pp.13-15
    • /
    • 2012
  • 매우 빠른 GPU의 성능과 저가의 개발 비용으로, 최신 GPU는 대용량 계산과학 분야에 꼭 필수적인 자원으로 등장하였다. 이 논문에서는 멀티-GPU 클러스터 시스템에서 GPU 컴퓨팅 기술을 적용한 대용량 Monte Carlo 알고리즘을 개발하였다. MPI와 CUDA를 동시에 적용한 결과 8개 GPU까지 병렬 확장성을 얻을 수 있었다. 병렬 성능 확장성 분석 결과, 멀티-GPU 클러스터에서는 GPU 사이의 데이터 통신이 전체 프로그램 성능 향상을 결정하는 매우 중요한 요인임을 보였다.

GPU가 장착된 PC를 위한 혼합 정렬 알고리즘 설계 (Designing Hybrid Sorting Algorithm for PC with GPU)

  • 권오영
    • 한국항행학회논문지
    • /
    • 제15권2호
    • /
    • pp.281-286
    • /
    • 2011
  • 데이터 정렬은 현대 사회에 존재하는 수많은 디지털 데이터에 대한 중요한 가공 작업 중의 하나이지만, 데이터가 방대할수록 정렬 과정 자체도 많은 연산시간을 소비한다. 본 논문에서 데이터 배열을 분할하여 PC에 있는 CPU와 GPU에서 각각 동시에 정렬을 수행하는 혼합 정렬 알고리즘을 제안하였다. 각 장치의 처리 성능을 바탕으로 가장 효율적인 배열의 분할 범위를 결정하고 각각 분할된 영역을 CPU와 GPU에서 동시에 정렬함으로써 전체 정렬 시간을 단축시켰다. 실험결과에서 알 수 있듯 혼합 정렬이 GPU만 활용한 정렬보다 8%이상 정렬 수행 속도를 향상시켰다.