• 제목/요약/키워드: CUDA Implementation

검색결과 67건 처리시간 0.031초

NVIDIA CUDA PTX를 활용한 SPECK, SIMON, SIMECK 병렬 구현 (Parallel Implementation of SPECK, SIMON and SIMECK by Using NVIDIA CUDA PTX)

  • 장경배;김현준;임세진;서화정
    • 정보보호학회논문지
    • /
    • 제31권3호
    • /
    • pp.423-431
    • /
    • 2021
  • SPECK과 SIMON은 NSA(National Security Agency)에서 개발한 경량블록암호이며 SIMECK은 SPECK과 SIMON의 장점을 결합하여 만든 새로운 경량블록암호이다. 본 논문에서는 SPECK, SIMON, SIMECK을 사용한 대용량 암호화를 구현 하는데 있어 병렬 처리에 용이한 GPU를 활용하였다. NVIDIA에서 제공하는 CUDA 라이브러리를 활용하였으며 불필요한 연산들을 제거하기 위해 CUDA 어셈블리 언어 PTX를 사용하여 성능을 극대화 하였다. 단순 CPU 구현과 GPU를 활용한 구현 결과를 비교해보았을 때, 더 빠른 속도로 대용량 암호화를 수행할 수 있었다. 또한 GPU 구현 시, C언어를 사용한 구현과 PTX를 사용한 구현을 비교해 보았을 때, PTX 사용 시, 성능이 더욱 증가하는 것을 확인하였다.

RANSAC을 이용한 다중 평면 피팅의 효율적인 CUDA 구현 (Efficient CUDA Implementation of Multiple Planes Fitting Using RANSAC)

  • 조태훈
    • 한국정보통신학회논문지
    • /
    • 제23권4호
    • /
    • pp.388-393
    • /
    • 2019
  • 외란(Outlier)이 있는 데이터를 피팅(Fitting)하는 방법으로 RANSAC(RANdom SAmple Consensus)알고리즘이 선, 원, 타원 등 의 피팅에 많이 사용되고 있다. 본 논문은 다수의 평면에 대한 3차원 포인트 데이터가 주어질 때 각 평면에 대해 RANSAC기반 평면 피팅을 최근 딥러닝 등에 많이 사용되는 GPU의 하나인 CUDA를 이용하여 효율적으로 수행하는 알고리즘을 제안한다. 모의 데이터와 실제 데이터를 이용하여 제안된 알고리즘의 성능을 CPU와 비교하여 보인다. 외란이 많고 인라이어(inlier) 비율이 낮을수록 CPU대비 속도가 향상되고 평면의 개수가 많을수록 평면당 데이터개수가 많을수록 병렬처리에 의한 속도가 가속됨을 보인다. 제안된 방법은 다중 평면 피팅외의 다른 피팅에도 쉽게 적용할 수 있다.

CUDA를 이용한 Particle Swarm Optimization 구현 (Implementation of Particle Swarm Optimization Method Using CUDA)

  • 김조환;김은수;김종욱
    • 전기학회논문지
    • /
    • 제58권5호
    • /
    • pp.1019-1024
    • /
    • 2009
  • In this paper, particle swarm optimization(PSO) is newly implemented by CUDA(Compute Unified Device Architecture) and is applied to function optimization with several benchmark functions. CUDA is not CPU but GPU(Graphic Processing Unit) that resolves complex computing problems using parallel processing capacities. In addition, CUDA helps one to develop GPU softwares conveniently. Compared with the optimization result of PSO executed on a general CPU, CUDA saves about 38% of PSO running time as average, which implies that CUDA is a promising frame for real-time optimization and control.

의료영상 분석을 위한 CUDA 기반의 고속 DRR 생성 기법 (CUDA-based Fast DRR Generation for Analysis of Medical Images)

  • 양상욱;최영;구승범
    • 한국CDE학회논문집
    • /
    • 제16권4호
    • /
    • pp.285-291
    • /
    • 2011
  • A pose estimation process from medical images is calculating locations and orientations of objects obtained from Computed Tomography (CT) volume data utilizing X-ray images from two directions. In this process, digitally reconstructed radiograph (DRR) images of spatially transformed objects are generated and compared to X-ray images repeatedly until reasonable transformation matrices of the objects are found. The DRR generation and image comparison take majority of the total time for this pose estimation. In this paper, a fast DRR generation technique based on GPU parallel computing is introduced. A volume ray-casting algorithm is explained with brief vector operations and a parallelization technique of the algorithm using Compute Unified Device Architecture (CUDA) is discussed. This paper also presents the implementation results and time measurements comparing to those from pure-CPU implementation and open source toolkit.

병렬 Shifted Sort 알고리즘의 Warp 단위 CUDA 구현 최적화 (Optimization of Warp-wide CUDA Implementation for Parallel Shifted Sort Algorithm)

  • 박태정
    • 디지털콘텐츠학회 논문지
    • /
    • 제18권4호
    • /
    • pp.739-745
    • /
    • 2017
  • 본 논문에서는 GPU 병렬 처리 하드웨어 아키텍처 내 최소 물리적 스레드 실행 단위(warp) 내에서 shifted sort 기반 k개 최근접 이웃 검색 기법을 구현하는 방법을 논의하고 일반적으로 동일한 목적으로 널리 사용되는 GPU 기반 kd-tree 및 CPU 기반 ANN 라이브러리와 비교한 결과를 제시한다. 또한 많은 애플리케이션에서 k가 비교적 작은 값이 필요한 경우가 많다는 사실을 고려해서 k가 warp 내부에서 직접 처리 가능한 2, 4, 8, 16개일 때 최적화에 집중한다. 구현 세부에서는 사용한 CUB 공개 라이브러리의 루프 내 메모리 관리 방법, GPU 하드웨어 직접 명령 적용 방법 등의 최적화 방법을 논의한다. 실험 결과, 제안하는 방법은 기존의 GPU 기반 유사 방법에 비해 데이터 지점과 질의 지점의 개수가 각각 $2^{23}$개 일 때 16배 이상의 빠른 처리 속도를 보였으며 이러한 경향은 처리해야 할 데이터의 크기가 커지면 더욱 더 커지는 것으로 판단된다.

일반적인 GPU 트리 탐색과의 비교실험을 통한 GPU 기반 병렬 Shifted Sort 알고리즘 분석 (Analysis of GPU-based Parallel Shifted Sort Algorithm by comparing with General GPU-based Tree Traversal)

  • 김희수;박태정
    • 디지털콘텐츠학회 논문지
    • /
    • 제18권6호
    • /
    • pp.1151-1156
    • /
    • 2017
  • 일반적으로 GPU 기반 트리 탐색을 수행할 경우 병렬 처리 속도가 생각보다 크게 향상되지 않는 경우가 대부분이다. 본 논문에서는 이러한 원인을 분석하고 그 분석 결과로 GPU 병렬 처리 하드웨어 아키텍처 내 최소 물리적 스레드 실행 단위인 warp 내에서 분기문(if문)으로 인한 warp divergence가 일어나기 때문임을 제시한다. 또한 이러한 warp divergence를 최소화할 수 있는 병렬 shifted sort 알고리즘과의 비교를 통해 shifted sort 알고리즘이 일반적인 GPU 내 트리 탐색에 비해 우수한 성능을 보이는 구조임을 제시하였다. 분석 결과 GPU 기반 kd-tree 탐색에 비해 warp divergence가 발생하지 않은 shifted sort 탐색은 3차원 공간에서 데이터나 쿼리의 수가 $2^{23}$개 일 때 16배 이상의 빠른 처리 속도를 보였으며 이 성능 차이는 데이터나 쿼리의 개수가 증가함에 따라 더 커지는 경향을 보였다.

CUDA GPGPU 상에서 경량 블록 암호 PIPO의 최적 구현 (Optimal Implementation of Lightweight Block Cipher PIPO on CUDA GPGPU)

  • 김현준;엄시우;서화정
    • 정보보호학회논문지
    • /
    • 제32권6호
    • /
    • pp.1035-1043
    • /
    • 2022
  • 사물인터넷(IoT), 클라우드 컴퓨팅, 빅데이터 등의 확산으로 애플리케이션에 대한 고속 암호화의 필요성이 대두되고 있다. GPU 최적화는 GPU가 이론적으로 얻은 암호 분석 결과 또는 축소된 버전을 합리적인 시간에 검증하는데 사용될 수 있다. 본 논문에서는 다양한 환경에서 구현되고 있는 PIPO 경량암호를 대상으로 GPU 상에서 구현하였다. PIPO에 대한 무차별 대입 공격을 고려하여 최적 구현하였다. 특히 비트 슬라이싱 기법을 적용한 최적화 구현과 GPU 요소를 최대한 사용하였다. 결과적으로 제안 기법의 구현은 RTX 3060 환경에서 초당 약 195억의 처리량을 보여 이전 연구 보다 약 122배 높은 처리량을 달성하였다.

Time Complexity Measurement on CUDA-based GPU Parallel Architecture of Morphology Operation

  • Izmantoko, Yonny S.;Choi, Heung-Kook
    • 한국멀티미디어학회논문지
    • /
    • 제16권4호
    • /
    • pp.444-452
    • /
    • 2013
  • Operation time of a function or procedure is a thing that always needs to be optimized. Parallelizing the operation is the general method to reduce the operation time of the function. One of the most powerful parallelizing methods is using GPU. In image processing field, one of the most commonly used operations is morphology operation. Three types of morphology operations kernel, na$\ddot{i}$ve, global and shared, are presented in this paper. All kernels are made using CUDA and work parallel on GPU. Four morphology operations (erosion, dilation, opening, and closing) using square structuring element are tested on MRI images with different size to measure the speedup of the GPU implementation over CPU implementation. The results show that the speedup of dilation is similar for all kernels. However, on erosion, opening, and closing, shared kernel works faster than other kernels.

GPU 하드웨어 아키텍처 기반 sub-warp 단위 병렬 프리픽스(prefix) 연산의 정확한 구현 (Correct Implementation of Sub-warp Parallel Prefix Operations based on GPU Hardware Architecture)

  • 박태정
    • 디지털콘텐츠학회 논문지
    • /
    • 제18권3호
    • /
    • pp.613-619
    • /
    • 2017
  • 본 논문에서는 대규모 데이터를 길이가 32 미만인 로컬 세그먼트 단위로 구분하고 이 로컬 세그먼트 내에서 정확한 GPU 병렬 프리픽스(prefix) 연산 결과를 출력하는 CUDA (Compute Unified Device Architecture) 코드를 제시한다. 이미 Mark Harris와 Michael Garland가 이러한 목적을 수행하기 위한 CUDA 코드를 이미 발표한 바 있으나 본 논문에서는 로컬 세그먼트의 길이가 32 미만일 때 기존 코드의 결과가 정확하지 않다는 사실을 살펴 보고 그 원인을 논의한 후, 정확한 결과를 출력하는 코드를 제안한다. 본 논문에서 다루는 로컬 세그먼트 단위의 병렬 프리픽스 연산은 최인접 요소 탐색(k-nearest neighbor search) 등은 물론 다양한 대규모 병렬 처리 알고리즘을 구성하는 기본 연산으로 활용 가능하다.