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

검색결과 151건 처리시간 0.033초

GPU를 이용한 Quantum-Inspired Evolutionary Algorithm 가속 (GPU-Based Acceleration of Quantum-Inspired Evolutionary Algorithm)

  • 류지현;박한민;최기영
    • 대한전자공학회논문지SD
    • /
    • 제49권8호
    • /
    • pp.1-9
    • /
    • 2012
  • Quantum-Inspired Evolutionary Algorithm(QEA)은 알고리즘 자체에 충분한 data-level parallelism이 내재되어 있어 GPU를 이용한 가속에 용이하다. 그러나 효과적인 실행시간의 단축을 위해서는 CPU와 GPU에의 적절한 task-mapping이 필요하다. 이때 단순히 함수 자체의 병렬성만을 고려하는 것이 아니라 CPU와 GPU간의 데이터 전송도 고려하여 task-mapping을 할 필요가 있다. 또한 추가적인 성능향상을 위하여 zero-copy host memory와 적절한 execution configuration의 사용, 그리고 memory coalescing 등을 이용할 수 있다. 그 결과 30,000개의 item수를 가진 0-1 knapsack problem에 대한 QEA의 수행을 multi-threading CPU에 비해 평균 3.69배 빠르게 할 수 있었다.

Large-scale 3D fast Fourier transform computation on a GPU

  • Jaehong Lee;Duksu Kim
    • ETRI Journal
    • /
    • 제45권6호
    • /
    • pp.1035-1045
    • /
    • 2023
  • We propose a novel graphics processing unit (GPU) algorithm that can handle a large-scale 3D fast Fourier transform (i.e., 3D-FFT) problem whose data size is larger than the GPU's memory. A 1D FFT-based 3D-FFT computational approach is used to solve the limited device memory issue. Moreover, to reduce the communication overhead between the CPU and GPU, we propose a 3D data-transposition method that converts the target 1D vector into a contiguous memory layout and improves data transfer efficiency. The transposed data are communicated between the host and device memories efficiently through the pinned buffer and multiple streams. We apply our method to various large-scale benchmarks and compare its performance with the state-of-the-art multicore CPU FFT library (i.e., fastest Fourier transform in the West [FFTW]) and a prior GPU-based 3D-FFT algorithm. Our method achieves a higher performance (up to 2.89 times) than FFTW; it yields more performance gaps as the data size increases. The performance of the prior GPU algorithm decreases considerably in massive-scale problems, whereas our method's performance is stable.

동적 그래프에서 GPU 기반의 점진적 연결 요소 처리 (GPU Based Incremental Connected Component Processing in Dynamic Graphs)

  • 김남영;최도진;복경수;유재수
    • 한국콘텐츠학회논문지
    • /
    • 제22권6호
    • /
    • pp.56-68
    • /
    • 2022
  • 최근 실시간 처리의 요구가 증가하면서 시간에 따라서 변화하는 동적 그래프에 관한 연구가 활발하게 진행되고 있다. 동적 그래프를 분석하기 위한 알고리즘의 하나로 연결 요소가 있다. GPU는 높은 메모리 대역폭, 연산 성능으로 대규모의 그래프 계산에 적합하다. 그러나 동적 그래프의 연결 요소를 GPU를 이용하여 처리할 때, GPU의 제한된 메모리로 인해 실제 그래프 처리 시 CPU와 GPU 간에 잦은 데이터 교환이 발생한다. 본 논문에서는 동적 그래프에서 GPU 기반의 효율적인 점진적 연결 요소 처리 기법을 제안한다. 제안하는 기법은 Weighted-Quick-Union 알고리즘을 기반으로 연결 요소 레이블에 구성 요소의 개수를 이용하여 연결 요소를 빠르게 계산한다. 또한, 재계산할 부분을 판별하여 GPU로 전송할 데이터를 최소화하여 대규모 그래프에 대하여 CPU와 GPU 간의 데이터 교환 횟수를 감소시킨다. 뿐만 아니라 GPU와 CPU 간에 데이터 전송 시간 낭비를 줄이기 위해 GPU와 CPU가 비동기로 실행하는 처리 구조를 제안한다. 실제 데이터 집합을 사용한 성능 평가를 통해 제안하는 기법의 우수성을 입증한다.

대규모 병렬 시스템에서 캐시와 공유메모리를 이용한 유한 차분법 성능 (Performance of the Finite Difference Method Using Cache and Shared Memory for Massively Parallel Systems)

  • 김현규;이효종
    • 전자공학회논문지
    • /
    • 제50권4호
    • /
    • pp.108-116
    • /
    • 2013
  • 최근 GPU 시스템과 같은 수백 개의 프로세서로 구성된 대규모 병렬 시스템을 이용하여 성능을 향상시키는 방법들이 많이 개발 되었다. 대표적으로 GPU에서 캐싱(Caching)과 유사한 개념으로 공유 메모리가 사용되었다. 출력 값을 얻기 위해서 이웃 값을 참조하는 이미지 필터와 같은 알고리즘들의 경우 이웃 값의 참조가 빈번하게 발생되므로 공유 메모리를 사용할 경우 성능이 향상되었다. 그러나 공유 메모리를 사용하기 위해서는 기존 코드를 재 구현해야만 하고 이는 코드의 복잡도를 증가시키는 원인이 된다. 최근 GPU 시스템에서는 공유 메모리 뿐 아니라 L1과 L2 캐시 메모리를 지원하도록 하였다. L1 캐시 메모리는 공유 메모리와 동일한 하드웨어에 위치하여 캐시의 사용이 성능향상을 도와줄 것으로 예측된다. 따라서 본 논문에서는 캐시 메모리와 공유 메모리의 성능을 비교하였다. 연구결과 성능 면에서 캐시 메모리를 사용한 알고리즘과 공유메모리를 사용한 알고리즘은 유사하였다. 특히 캐시 메모리를 사용하는 경우 공유메모리 사용 프로그래밍에서 나타나는 코드 복잡도의 증가 문제도 동시에 해결할 수 있었다.

GPU를 활용한 R*-tree에서의 부분 노드 병렬 처리 방법 (A Parallel Processing Method for Partial Nodes in R*-tree Using GPU)

  • 김성;오병우
    • Spatial Information Research
    • /
    • 제20권6호
    • /
    • pp.139-144
    • /
    • 2012
  • 공간 데이터 처리는 GIS, 텔레매틱스 등 광범위한 분야에서 널리 사용되고 있다. 그러나 현재 사용되고 있는 공간 데이터 질의 처리 기법은 CPU를 사용하여 순차적으로 질의 처리를 수행하므로 질의 처리 시간이 상대적으로 오래 걸린다는 단점이 존재한다. 그러나 공간 데이터 질의 처리를 병렬로 수행했을 때 처리 시간을 줄이는 것이 가능하다. 따라서 본 연구에서는 GPU를 활용하여 공간 데이터 질의 처리를 병렬로 수행하는 연구를 진행한다. 또한, CPU를 이용하여 질의 처리를 수행한 결과와 비교하여 속도 향상 정도에 대한 결과를 제시한다.

GPU 기반의 MPEG-2 디코더의 구현 (Implementation of GPU based MPEG-2 Decoder)

  • 김경수;김홍식;김정길;박우찬
    • 디지털콘텐츠학회 논문지
    • /
    • 제9권3호
    • /
    • pp.371-377
    • /
    • 2008
  • 최근 GPU 성능은 CPU 성장 속도에 비하여 급속도로 증가하고 있으며 계산이 많이 요구되는 다양한 응용 프로그램에서 GPU를 이용하려는 시도가 활발히 진행되고 있다. 본 논문에서는 GPU 프로그래밍 언어인 CG를 이용하여 MPEG-2 디코더를 구현하였다. 제안된 방법은 텍스쳐 데이터를 사용하여 비디오 표준에 맞춘 블록 렌더링을 하는 방식이며, 이는 스트림 프로세싱 구조인 GPU의 파이프라인을 이용하여 높은 병렬성을 가지고 실행된다. 또한 시스템 메모리와 GPU 사이의 데이터 대역폭을 줄이기 위해 그래픽 카드의 지역 메모리를 사용한다. 제안한 방법을 적용한 결과 CPU 보다 2배 이상의 성능 향상을 볼 수 있었다.

  • PDF

GPU를 이용한 Gabor Texture 특징점 기반의 금속 패드 변색 분류 알고리즘 (Discolored Metal Pad Image Classification Based on Gabor Texture Features Using GPU)

  • 최학남;박은수;김준철;김학일
    • 제어로봇시스템학회논문지
    • /
    • 제15권8호
    • /
    • pp.778-785
    • /
    • 2009
  • This paper presents a Gabor texture feature extraction method for classification of discolored Metal pad images using GPU(Graphics Processing Unit). The proposed algorithm extracts the texture information using Gabor filters and constructs a pattern map using the extracted information. Finally, the golden pad images are classified by utilizing the feature vectors which are extracted from the constructed pattern map. In order to evaluate the performance of the Gabor texture feature extraction algorithm based on GPU, a sequential processing and parallel processing using OpenMP in CPU of this algorithm were adopted. Also, the proposed algorithm was implemented by using Global memory and Shared memory in GPU. The experimental results were demonstrated that the method using Shared memory in GPU provides the best performance. For evaluating the effectiveness of extracted Gabor texture features, an experimental validation has been conducted on a database of 20 Metal pad images and the experiment has shown no mis-classification.

A Tool for On-the-fly Repairing of Atomicity Violation in GPU Program Execution

  • Lee, Keonpyo;Lee, Seongjin;Jun, Yong-Kee
    • 한국컴퓨터정보학회논문지
    • /
    • 제26권9호
    • /
    • pp.1-12
    • /
    • 2021
  • 본 논문은 GPU 프로그램의 메모리의 상태 및 접근사건과 배리어 위치 정보를 감시하고, 실제 메모리 쓰기를 배리어 영역 종료 직전에 발생시키거나 배리어 영역을 재수행시켜 원자성 위배를 수행 중에 수리하는 도구인 ARCAV (Atomatic Recovery of CUDA Atomicity violation)를 제시한다. 기존의 연구들은 Lock과 Sleep 명령어를 사용하여 원자성 위배를 진단 및 수리하도록 구현되었기 때문에 지원되는 명령어와 동기화 기법이 CPU (Central Processing Unit) 프로그램과 다른 GPU (Graphics Processing Unit) 프로그램에는 적용될 수 없었고, GPU 프로그램에서는 원자성 위배의 탐지에 대한 연구만 수행되었다. 제안하는 ARCAV는 GPU 프로그램의 실행모델에서 수행될 수 있도록 설계되어 스레드 구성과 메모리 계층에 무관하게 실세계에서 발생한 원자성 위배를 대표하는 네 가지 패턴의 원자성 위배를 실시간으로 탐지하고 수리할 수 있다. 실험 결과 동시에 실행되는 스레드 개수와 구성에 무관하게 일정한 오버헤드를 보였다. 원자성 위배를 프로그램 수행 중에 실시간으로 탐지하고 수리하기 위해 소요되는 오버헤드는 네 개의 실세계 GPU 커널에서 실험되었고, 원본 프로그램 대비 평균 2.1배의 수행시간으로 동작하였다.

GPGPU를 위한 공유 메모리 최적화 (Optimizing Shared Memory Accesses for GPGPU Computations)

  • 쟌 느앗 프엉;이명호;홍석원
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2012년도 추계학술발표대회
    • /
    • pp.197-199
    • /
    • 2012
  • 최근 GPU 의 뛰어난 부동 소수점 연산 능력을 활용하여 그래픽 이외에 다양한 응용 프로그램들의 병렬화 및 성능최적화가 활발하게 이루어지고 있다. 이러한 GPU 의 성능을 극대화하기 위해서는 메모리 계층구조 및 shared memory 를 비롯한 on-chip 메모리의 사용을 최적화하는 것이 필수적이다. 본 논문에서는 이러한 shared memory 의 사용을 최적화하기 위한 기법들을 제안하고, 이를 패턴 매칭 응용 프로그램에 적용하여 효용성을 검증한다.

Enhancing GPU Performance by Efficient Hardware-Based and Hybrid L1 Data Cache Bypassing

  • Huangfu, Yijie;Zhang, Wei
    • Journal of Computing Science and Engineering
    • /
    • 제11권2호
    • /
    • pp.69-77
    • /
    • 2017
  • Recent GPUs have adopted cache memory to benefit general-purpose GPU (GPGPU) programs. However, unlike CPU programs, GPGPU programs typically have considerably less temporal/spatial locality. Moreover, the L1 data cache is used by many threads that access a data size typically considerably larger than the L1 cache, making it critical to bypass L1 data cache intelligently to enhance GPU cache performance. In this paper, we examine GPU cache access behavior and propose a simple hardware-based GPU cache bypassing method that can be applied to GPU applications without recompiling programs. Moreover, we introduce a hybrid method that integrates static profiling information and hardware-based bypassing to further enhance performance. Our experimental results reveal that hardware-based cache bypassing can boost performance for most benchmarks, and the hybrid method can achieve performance comparable to state-of-the-art compiler-based bypassing with considerably less profiling cost.