• 제목/요약/키워드: GPGPU computing

검색결과 87건 처리시간 0.029초

GPGPU를 이용한 가우시안 혼합 모델의 관측확률 계산 성능 향상 (Performance Improvement in Observation Probability Computation of Gaussian Mixture Models Using GPGPU)

  • 김형주;김승희;김상훈;장길진
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2012년도 추계학술발표대회
    • /
    • pp.148-151
    • /
    • 2012
  • 범용 GPU (general-purpose computing on graphics processing units, GPGPU)는 GPU를 일반적인 목적으로 사용하고자 하는 병렬 컴퓨터 구조로써, 과학 연산 등 여러 분야에서 응용 프로그램의 성능을 향상시키기 위하여 사용되고 있다. 본 연구에서는 음성인식기에서 주로 사용되는 가우시안 혼합 모델(Gaussian mixture model, GMM)에서 많은 연산시간을 차지하는 관측확률 계산의 성능을 향상시키고자 GPGPU를 이용하는 알고리즘을 구현하였으며, 기존 CPU 기반 알고리즘 대비 약 13배 연산시간을 단축하였다.

Performance Improvement of Web Service Based on GPGPU and Task Queue

  • Kim, Changsu;Kim, Kyunghwan;Jung, Hoekyung
    • Journal of information and communication convergence engineering
    • /
    • 제19권4호
    • /
    • pp.257-262
    • /
    • 2021
  • Providing web services to users has become expensive in recent times. For better web services, a web server is provided with high-performance technology. To achieve great web service experiences, tools such as general-purpose graphics processing units (GPGPUs), artificial intelligence, high-performance computing, and three-dimensional simulation are widely used. However, graphics processing units (GPUs) are used in high-speed operations and have limited general applications. In this study, we developed a task queue in a GPU to improve the performance of a web service using a multiprocessor and studied how to receive and process user requests in bulk. We propose the use of a GPGPU-based task queue to process user requests more than GPGPU based a central processing unit thread, and to process more GPU threads on task queue at about 136% to 233%, and proved that the proposed method is effective for web service.

GPGPU와 Combined Layer를 이용한 필기체 숫자인식 CNN구조 구현 (Implementation of handwritten digit recognition CNN structure using GPGPU and Combined Layer)

  • 이상일;남기훈;정준모
    • 문화기술의 융합
    • /
    • 제3권4호
    • /
    • pp.165-169
    • /
    • 2017
  • CNN(Convolutional Nerual Network)는 기계학습 알고리즘 중에서도 이미지의 인식과 분류에 뛰어난 성능을 보이는 알고리즘 중 하나이다. CNN의 경우 간단하지만 많은 연산량을 가지고 있어 많은 시간이 소요된다. 따라서 본 논문에서는 CNN 수행과정에서 많은 처리시간이 소모되는 convolution layer와 pooling layer, fully connected layer의 연산수행을 SIMT(Single Instruction Multiple Thread)구조의 GPGPU(General-Purpose computing on Graphics Processing Units)를 통하여 병렬로 연산처리를 수행했다. 또한 convolution layer의 출력을 저장하지 않고 pooling layer의 입력으로 바로 사용함으로 메모리 접근횟수를 줄여 성능 향상을 기대했다. 본 논문에서는 이 실험검증을 위하여 MNIST 데이터 셋을 사용하였고 이를 통하여 제안하는 CNN 구조가 기존의 구조보다 12.38% 더 좋은 성능을 보임을 확인했다.

GPGPU에 기반하는 위치 정보 집합에서 집단 이동성 모델의 도출 기법과 그 표현 기법 (A Method for Group Mobility Model Construction and Model Representation from Positioning Data Set Using GPGPU)

  • 송하윤;김동엽
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제6권3호
    • /
    • pp.141-148
    • /
    • 2017
  • 인간의 위치 이동 데이터를 모바일 기기에서 수집한 위치 정보를 이용해 얻을 수 있게 되면서, 위치 정보를 어떻게 이용할 수 있는지 그 활용 방안이 중요시 되고 있다. 이 연구에 앞서 위치 정보에 포함된 위치 정보와 시간 정보를 이용한 개인 이동성 모델 도출 연구가 선행되었다. 이동성 모델의 개념을 집단으로 확장하여 특정 집단에 속한 사람들의 개인 이동성 모델을 이용한 집단 이동성 모델을 도출하는 방법에 대해서 연구했고, 두 명의 개인 이동성 모델을 이용한 집단 이동성 모델과 그 모델을 표현하는 Markov 모델을 생성할 수 있었다. 본 논문에서는 세명 이상의 개별 이동 모델을 포함하는 사람의 이동성 모델을 생성하고 집단 모델 내 군집간의 확률 기반 Markov 모델을 도출하는 방법에 대해 소개한다. 또한 GPGPU 기법을 통해 생성 시간을 줄이는 기법을 이용하여 실용화를 고려하였다.

GPGPU를 이용한 Grabcut의 수행 속도 개선 방법에 관한 연구 (A Study of How to Improve Execution Speed of Grabcut Using GPGPU)

  • 김지훈;박영수;이상훈
    • 디지털융복합연구
    • /
    • 제12권11호
    • /
    • pp.379-386
    • /
    • 2014
  • 본 논문에서는 Grabcut 알고리즘의 수행 속도를 효율적으로 개선시키기 위하여 GPU(Graphics Processing Unit)에서 데이터를 처리하는 방법을 제안한다. Grabcut 알고리즘은 뛰어난 성능의 객체 추출 알고리즘으로 기존의 Grabcut 알고리즘은 전경 영역과 배경 영역을 분할한 후 배경 K-클러스터와 전경 K-클러스터로 할당한다. 그리고 할당 된 결과를 점진적으로 개선될 때까지의 과정을 반복한다. 하지만 Grabcut 알고리즘은 반복된 클러스터링 작업으로 인하여 수행 시간이 오래 걸리는 단점이 존재한다. 따라서 GPGPU(General-Purpose computing on Graphics Processing Unit)를 이용해 반복되는 작업을 병렬적으로 처리하여 Grabcut 알고리즘의 수행 속도를 효율적으로 개선시키는 방법을 제안한다. 제안하는 방법으로 Grabcut 알고리즘의 수행시간을 평균 약 90.668% 감소시켰다.

GPGPU 기반 Convolutional Neural Network의 효율적인 스레드 할당 기법 (Efficient Thread Allocation Method of Convolutional Neural Network based on GPGPU)

  • 김민철;이광엽
    • 예술인문사회 융합 멀티미디어 논문지
    • /
    • 제7권10호
    • /
    • pp.935-943
    • /
    • 2017
  • 많은 양의 데이터 기반으로 학습하는 neural network 중 이미지 분류나 음성 인식 등에 사용되어 지고 있는 CNN(Convolution neural network)는 현재까지도 우수한 성능을 가진 구조로 계속적으로 발전되고 있다. 제한된 자원을 가진 임베디드 시스템에서 활용하기에는 많은 어려움이 있다. 그래서 미리 학습된 가중치를 사용하지만 여전히 한계점이 있기 때문에 이를 해결하기 위해 GPU의 범용 연산을 위해서 사용하는 GP-GPU(General-Purpose computing on Graphics Processing Units)를 활용하는 추세다. CNN은 단순하고 반복적인 연산을 수행하기 때문에 SIMT(Single Instruction Multiple Thread)기반의 GPGPU에서 스레드 할당과 활용 방법에 따라 연산 속도가 많이 달라진다. 스레드로 Convolution 연산과 Pooling 연산을 수행할 때 쉬어야 하는 스레드가 발생하는 데 이러한 문제를 해결하기 위해 남은 스레드가 다음 피쳐맵과 커널 계산에 활용되는 방법을 사용함으로써 연산 속도를 증가시켰다.

GPU 클러스터 기반 대용량 온톨로지 추론 (Scalable Ontology Reasoning Using GPU Cluster Approach)

  • 홍진영;전명중;박영택
    • 정보과학회 논문지
    • /
    • 제43권1호
    • /
    • pp.61-70
    • /
    • 2016
  • 근래에 들어 다양한 시멘틱 서비스를 위하여 기존의 지식을 바탕으로 새로운 지식을 고속으로 추론할 수 있는 대용량 온톨로지 추론 기법이 요구되고 있다. 이런 추세에 따라 대규모의 클러스터를 활용하는 하둡 및 Spark 프레임워크 기반의 온톨로지 추론 엔진 개발이 연구되고 있다. 또한, 기존의 CPU에 비해 많은 코어로 구성되어 있는 GPGPU를 활용하는 병렬 프로그래밍 방식도 온톨로지 추론에 활용되고 있다. 앞서 말한 두 가지 방식의 장점을 결합하여, 본 논문에서는 RDFS 대용량 온톨로지 데이터를 인-메모리 기반 프레임워크인 Spark를 통해 분산시키고 GPGPU를 이용하여 분산된 데이터를 고속 추론하는 방법을 제안한다. GPGPU를 통한 온톨로지 추론은 기존의 추론 방식보다 저비용으로 고속 추론을 수행하는 것이 가능하다. 또한 Spark 클러스터의 각 노드를 통하여 대용량 온톨로지 데이터에 대한 부하를 줄일 수 있다. 본 논문에서 제안하는 추론 엔진을 평가하기 위하여 LUBM10, 50, 100, 120에 대해 추론 속도를 실험하였고, 최대 데이터인 LUBM120(약 1백7십만 트리플, 2.1GB)의 실험 결과, 인-메모리(Spark) 추론 엔진 보다 7배 빠른 추론 성능을 보였다.

GPU 성능 저하 해결을 위한 내부 자원 활용/비활용 상태 분석 (Analysis on the Active/Inactive Status of Computational Resources for Improving the Performance of the GPU)

  • 최홍준;손동오;김종면;김철홍
    • 한국콘텐츠학회논문지
    • /
    • 제15권7호
    • /
    • pp.1-11
    • /
    • 2015
  • 최신 고성능 컴퓨팅 시스템에서는, 대용량 병렬 연산을 효과적으로 처리할 수 있는 GPU의 우수한 연산 성능을 그래픽 처리 이외의 범용 작업에 활용하는 GPGPU 기술에 관한 연구가 활발하게 진행 중이다. 하지만 범용 응용프로그램의 특성이 GPU 구조에 최적화되어 있지 않기 때문에 범용 프로그램 수행 시 GPGPU는 GPU의 연산 자원을 효과적으로 활용하지 못하고 있다. 그러므로 본 논문에서는 GPGPU 기술을 사용하는 컴퓨팅 시스템의 성능을 보다 향상시킬 수 있는 GPU 연구에 대한 방향을 제시하고자 한다. 이를 위하여, 본 논문에서는 GPU 성능 저하 원인 분석을 수행한다. GPU 성능 저하 원인을 보다 명확하게 분류하고자 본 논문에서는 GPU 코어의 상태를 완전 활성화 상태, 불완전 활성화 상태, 유휴 상태, 메모리스톨 상태, 그리고 GPU 코어 스톨 상태 등 5가지로 정의하였다. 완전 활성화 상태를 제외한 모든 GPU 코어 상태들은 컴퓨팅 시스템의 성능 저하를 유발한다. 본 논문에서 성능 저하 원인을 찾고자 벤치마크 프로그램의 특성에 따라 각 GPU 코어 상태의 비율 변화를 측정하였다. 분석 결과에 따르면, 불완전 활성화 상태, 유휴 상태, 메모리 스톨 상태 그리고 GPU 코어 스톨 상태는 연산 자원 활용률 저하, 낮은 프로그램 병렬성, 높은 메모리 요청, 그리고 구조적 해저드에 의해 각각 유발된다.

Algorithmic GPGPU Memory Optimization

  • Jang, Byunghyun;Choi, Minsu;Kim, Kyung Ki
    • JSTS:Journal of Semiconductor Technology and Science
    • /
    • 제14권4호
    • /
    • pp.391-406
    • /
    • 2014
  • The performance of General-Purpose computation on Graphics Processing Units (GPGPU) is heavily dependent on the memory access behavior. This sensitivity is due to a combination of the underlying Massively Parallel Processing (MPP) execution model present on GPUs and the lack of architectural support to handle irregular memory access patterns. Application performance can be significantly improved by applying memory-access-pattern-aware optimizations that can exploit knowledge of the characteristics of each access pattern. In this paper, we present an algorithmic methodology to semi-automatically find the best mapping of memory accesses present in serial loop nest to underlying data-parallel architectures based on a comprehensive static memory access pattern analysis. To that end we present a simple, yet powerful, mathematical model that captures all memory access pattern information present in serial data-parallel loop nests. We then show how this model is used in practice to select the most appropriate memory space for data and to search for an appropriate thread mapping and work group size from a large design space. To evaluate the effectiveness of our methodology, we report on execution speedup using selected benchmark kernels that cover a wide range of memory access patterns commonly found in GPGPU workloads. Our experimental results are reported using the industry standard heterogeneous programming language, OpenCL, targeting the NVIDIA GT200 architecture.

CUDA를 활용한 스케일링 필터 및 트랜스코더의 성능향상 (Performance Enhancement of Scaling Filter and Transcoder using CUDA)

  • 한재근;고영섭;서성한;하순회
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제16권4호
    • /
    • pp.507-511
    • /
    • 2010
  • 본 논문은 GPGPU가속을 이용한 스케일링 필터(scaling filter) 및 트랜스코딩(Transcoding)의 성능 향상 방법을 제안한다. 트랜스코딩 기술은 다양한 요구조건을 지닌 멀티미디어 기기에 적합하게 동영상을 가공하는 기술로, 오늘날 여러 분야에서 활용되는 중요한 기술이다. 그러나 트랜스코딩에는 대량의 연산이 필요하기 때문에 기존 트랜스코더(Transcoder) 사용자들은 오랜 처리시간을 감내 해야만 했는데, 이는 CPU만을 이용한 트랜스코딩이 충분히 효율적이지 못하기 때문이다. 본 연구에서는 고성능의 연산이 가능한 GPGPU기술을 활용하여, 트랜스코더의 스케일링 필터를 GPU 상에서 높은 병렬성을 가지고 동작하도록 개선함으로써 트랜스코더의 전체적인 성능을 향상시켰다. 개선된 트랜스코더는 다양한 크기의 동영상과 여러 종류의 스케일링 필터 옵션들에 대해 잘 동작함이 검증되었으며, 기본 옵션에서 36%, 최대 101%의 성능향상을 보였다.