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

검색결과 11건 처리시간 0.017초

OpenCL을 이용한 임베디드 GPGPU환경에서의 AES 암호화 성능 개선과 평가 (Performance Enhancement and Evaluation of AES Cryptography using OpenCL on Embedded GPGPU)

  • 이민학;강우철
    • 정보과학회 컴퓨팅의 실제 논문지
    • /
    • 제22권7호
    • /
    • pp.303-309
    • /
    • 2016
  • 최근, ARM Mali와 같은 여러 임베디드 프로세서들이 OpenCL과 같은 GPGPU 프레임워크를 지원함에 따라 기존 PC 환경에서 활용되던 GPGPU 기술이 임베디드 시스템 영역으로 확대 되고 있다. 그러나 임베디드 시스템은 PC와는 상이한 구조를 갖으며, 저전력이나 실시간성과 같은 성능이 더욱 중요하다. 본 논문에서는 임베디드 GPGPU환경에서 AES 암호화 알고리즘을 개방형 범용 병렬 컴퓨팅 프레임워크인 OpenCL을 사용하여 구현하고 이를 CPU만을 이용한 구현과 비교한다. 실험결과, 1000KByte의 데이터 사이즈의 128비트 AES 암호화 시에 OpenCL을 사용하여 GPU로 병렬 처리하는 것이 OpenMP를 사용하여 CPU상에서 병렬 처리한 방식보다 응답 시간은 최대 1/150, 에너지 소비량은 최대 1/290로 감소함을 확인하였다. 또한 호스트와 GPU 디바이스 간에 메모리를 공유하는 임베디드 구조의 특성에 최적화하여 메모리 복제를 하지 않는 기법을 적용하는 경우 응답시간과 에너지 소비량에서 최대 100% 이상의 추가적인 성능개선을 이룰 수 있었으며, 연구에서 사용한 데이터의 크기에 비례하여 더 높은 성능의 개선이 나타나는 것을 확인하였다.

스마트폰에서의 영상처리를 위한 GPU 활용

  • 박인규;최호열
    • 정보와 통신
    • /
    • 제29권4호
    • /
    • pp.46-51
    • /
    • 2012
  • 본 기고에서는 최근 스마트폰에서 요구되는 다양한 멀티미디어 어플리케이션을 embedded GPU(Graphics Processing Unit)를 이용하여 고속 병렬처리하기 위한 GPGPU (General-Purpose Computing on GPU) 기술 및 영상처리 분야의 응용 사례를 소개한다. 일반적인 데스크탑 컴퓨팅 환경과 달리 제약사항이 많은 embedded 환경에서의 GPGPU 응용 기술은 아직 초기단계이다. 그러나 급격히 발전하는 embedded GPU IP와 OpenCL과 같은 API의 등장으로 embedded GPU를 이용한 고속 병렬처리 환경이 수 년 이내에 일반화 될 것이다. 본 기고에서는 그 가능성을 점검하기 위하여 embedded GPU에서의 영상처리를 위한 최신 하드웨어와 소프트웨어 환경의 발전 동향을 소개한다. 더불어 최신 스마트폰에서의 GPGPU기술을 사용한 영상처리 사례와 영상처리 알고리즘의 GPGPU 알고리즘 구현시 고려해야 할 주요 사항을 정리한다.

GPGPU를 이용한 파데브-레브리어 알고리즘 구현 및 성능 분석 (Implementation and Performance Evaluation of the Faddev-Leverrier Algorithm using GPGPU)

  • 박용훈;김철홍;김종면
    • 대한임베디드공학회논문지
    • /
    • 제8권3호
    • /
    • pp.171-178
    • /
    • 2013
  • In this paper, we implement the Faddev-Leverier algorithm using GPGPU (General-Purpose Graphics Processing Unit) to accelerate singular value decomposition. In addition, we compare the performance of the algorithm using CPU and CPU plus GPGPU for eleven ${\times}n$ matrix sizes in order to decompose singular values, where =4, 8, 16, 32, 64, 128, 256, 512, 1,024, 2,048, and 4,096. Experimental results indicate that CPU achieves better performance than CPU plus GPGPU for $n{\leq}64$ because of a large number of read and write operations between CPU and GPGPU. However, CPU plus GPGPU outperforms CPU exponentially in the execution time for $n{\geq}64$.

OpenCL 및 Embedded GPU를 이용한 영상 특징 추출 및 파노라마 영상 생성의 병렬화 (Parallelization of Feature Detection and Panorama Image Generation using OpenCL and Embedded GPU)

  • 강승헌;이승재;이만희;박인규
    • 방송공학회논문지
    • /
    • 제19권3호
    • /
    • pp.316-328
    • /
    • 2014
  • 본 논문에서는 최신 embedded GPU를 사용하여 영상의 특징 추출 알고리즘(SIFT, SURF)을 병렬화하고, 특징 추출 및 정합 결과를 이용하여 파노라마 영상을 GPU에서 고속으로 생성하는 방법을 제안한다. 병렬화 된 알고리즘의 GPGPU(general purpose computation on GPU) 구현은 최신 스마트폰의 embedded GPU에서 지원하기 시작한 OpenCL을 이용하였다. 본 논문에서는 GPU에서 OpenGL Shading Language(GLSL)를 이용한 기존의 병렬화와 OpenCL을 이용한 새로운 병렬화 구현 결과를 효과적인 코드 구현 방법과 수행속도 관점에서 비교하였다. 실험결과, OpenCL은 GLSL과 유사한 수행 속도를 보였으며 embedded CPU와 비교하여 약 3~4배 빠른 수행속도를 보였다. 구현한 특징 추출 결과의 응용 사례로써, 특징 정합을 통한 영상 정합을 GPU상에서 병렬 수행하여 여러 장의 영상으로부터 파노라마 영상을 고속으로 생성하는 사례를 보인다.

Deep Learning을 위한 GPGPU 기반 Convolution 가속기 구현 (An Implementation of a Convolutional Accelerator based on a GPGPU for a Deep Learning)

  • 전희경;이광엽;김치용
    • 전기전자학회논문지
    • /
    • 제20권3호
    • /
    • pp.303-306
    • /
    • 2016
  • 본 논문에서는 GPGPU를 활용하여 Convolutional neural network의 가속화 방법을 제안한다. Convolutional neural network는 이미지의 특징 값을 학습하여 분류하는 neural network의 일종으로 대량의 데이터를 학습해야하는 영상 처리에 적합하다. 기존의 Convolutional neural network의 convolution layer는 다수의 곱셈 연산을 필요로 하여 임베디드 환경에서 실시간으로 동작하기에 어려움이 있다. 본 논문에서는 이러한 단점을 해결하기 위하여 winograd convolution 연산을 통하여 곱셈 연산을 줄이고 GPGPU의 SIMT 구조를 활용하여 convolution 연산을 병렬 처리한다. 실험은 ModelSim, TestDrive를 사용하여 진행하였고 실험 결과 기존의 convolution 연산보다 처리 시간이 약 17% 개선되었다.

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 연산을 수행할 때 쉬어야 하는 스레드가 발생하는 데 이러한 문제를 해결하기 위해 남은 스레드가 다음 피쳐맵과 커널 계산에 활용되는 방법을 사용함으로써 연산 속도를 증가시켰다.

CPU-GPU간 긴밀성을 위한 효율적인 공유메모리 접근 방법과 검증 시스템 구현 (Implementation of Integrated CPU-GPU for Efficient Uniform Memory Access Method and Verification System)

  • 박현문;권진산;황태호;김동순
    • 대한임베디드공학회논문지
    • /
    • 제11권2호
    • /
    • pp.57-65
    • /
    • 2016
  • In this paper, we propose a system for efficient use of shared memory between CPU and GPU. The system, called Fusion Architecture, assures consistency of the shared memory and minimizes cache misses that frequently occurs on Heterogeneous System Architecture or Unified Virtual Memory based systems. It also maximizes the performance for memory intensive jobs by efficient allocation of GPU cores. To test between architectures on various scenarios, we introduce the Fusion Architecture Analyzer, which compares OpenMP, OpenCL, CUDA, and the proposed architecture in terms of memory overhead and process time. As a result, Proposed fusion architectures show that the Fusion Architecture runs benchmarks 55% faster and reduces memory overheads by 220% in average.

GPGPU를 이용한 고속 의료 볼륨 영상의 압축 복원 (Fast Medical Volume Decompression Using GPGPU)

  • 계희원
    • 한국멀티미디어학회논문지
    • /
    • 제15권5호
    • /
    • pp.624-631
    • /
    • 2012
  • 많은 의료영상 시스템에서 의료 볼륨 데이터는 압축된 형태로 저장되어 있으며, 압축된 데이터는 가시화 이전에 압축 복원을 수행해야 한다. 압축 복원은 상당한 시간이 소모되기 때문에 본 연구는 삼차원 의료영상의 고속 복원 방식을 제안한다. 제안 방법은 의료영상의 특수성에 대한 사용자 요구를 감안하여, 손실과 무손실 압축을 모두 제공하며 점진적 개선(progressive refinement) 복원 속성을 갖는다. 그리고 그래픽스처리장치(GPU)를 이용한 병렬화를 수행하여 매우 짧은 시간 내에 압축 복원이 수행된다. 마지막으로 압축 복원과 볼륨 가시화를 연계하여 선택적 압축 복원 방법이 가능하며, 이를 통하여 볼륨 압축 복원의 추가적 성능 향상을 얻었다.

Analysis of Implementing Mobile Heterogeneous Computing for Image Sequence Processing

  • BAEK, Aram;LEE, Kangwoon;KIM, Jae-Gon;CHOI, Haechul
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • 제11권10호
    • /
    • pp.4948-4967
    • /
    • 2017
  • On mobile devices, image sequences are widely used for multimedia applications such as computer vision, video enhancement, and augmented reality. However, the real-time processing of mobile devices is still a challenge because of constraints and demands for higher resolution images. Recently, heterogeneous computing methods that utilize both a central processing unit (CPU) and a graphics processing unit (GPU) have been researched to accelerate the image sequence processing. This paper deals with various optimizing techniques such as parallel processing by the CPU and GPU, distributed processing on the CPU, frame buffer object, and double buffering for parallel and/or distributed tasks. Using the optimizing techniques both individually and combined, several heterogeneous computing structures were implemented and their effectiveness were analyzed. The experimental results show that the heterogeneous computing facilitates executions up to 3.5 times faster than CPU-only processing.

데이터 플로우 기반 응용들을 위한 GPU 스케줄링 프레임워크 (A GPU scheduling framework for applications based on dataflow specification)

  • 이용빈;김성찬
    • 한국멀티미디어학회논문지
    • /
    • 제17권10호
    • /
    • pp.1189-1197
    • /
    • 2014
  • Recently, general purpose graphic processing units(GPUs) are being widely used in mobile embedded systems such as smart phone and tablet PCs. Because of architectural limitations of mobile GPGPUs, only a single program is allowed to occupy a GPU at a time in a non-preemptive way. As a result, it is difficult to meet performance requirements of applications such as frame rate or response time if applications running on a GPU are not scheduled properly. To tackle this difficulty, we propose to specify applications using synchronous data flow model of computation such that applications are formed with edges and nodes. Then nodes of applications are scheduled onto a GPU unlike conventional scheduling an application as a whole. This approach allows applications to share a GPU at a finer granularity, node (or task)-level, providing several benefits such as eliminating need for manually partitioning applications and better GPU utilization. Furthermore, any scheduling policy can be applied in response to the characteristics of applications.