• 제목/요약/키워드: CUDA Parallel Processing

검색결과 116건 처리시간 0.02초

CUDA를 이용한 고속 영상 회전 알고리즘에 관한 연구 (A Study on High Speed Image Rotation Algorithm using CUDA)

  • 권희철;조형진;권희용
    • 한국인터넷방송통신학회논문지
    • /
    • 제16권5호
    • /
    • pp.1-6
    • /
    • 2016
  • 영상 회전은 영상 처리나 영상 패턴 인식에서 중요한 전처리 방법 중 하나이다. 영상 회전은 회전 행렬의 곱으로 이루어 진다. 그러나 기존의 방법은 대량의 실수 연산과 삼각 함수 계산을 필요로 하므로 수행 시간이 오래 걸린다. 본 논문에서는 이 같은 두가지 주요 지체 연산과정을 제거한 새로운 고속 영상 회전 알고리즘을 제안한다. 제안된 알고리즘은 단지 2개의 전단 연산을 행하므로 매우 빠르다. 또한 최신 병렬 처리 기술인 CUDA를 적용한다. CUDA는 최근 널리 보급된 GPU를 이용한 대용량 병렬처리 계산 아키텍쳐이다. GPGPU는 그래픽 전용프로세서이므로 화소 단위의 병렬처리에 탁월한 성능을 보인다. 제안된 알고리즘은 기존의 회전 알고리즘과 다양한 크기의 영상에 대해 비교 실험한다. 실험 결과는 제안된 알고리즘이 기존의 방법보다 8배 이상의 매우 우수한 성능을 보인다.

CUDA based parallel design of a shot change detection algorithm using frame segmentation and object movement

  • Kim, Seung-Hyun;Lee, Joon-Goo;Hwang, Doo-Sung
    • 한국컴퓨터정보학회논문지
    • /
    • 제20권7호
    • /
    • pp.9-16
    • /
    • 2015
  • This paper proposes the parallel design of a shot change detection algorithm using frame segmentation and moving blocks. In the proposed approach, the high parallel processing components, such as frame histogram calculation, block histogram calculation, Otsu threshold setting function, frame moving operation, and block histogram comparison, are designed in parallel for NVIDIA GPU. In order to minimize memory access delay time and guarantee fast computation, the output of a GPU kernel becomes the input data of another kernel in a pipeline way using the shared memory of GPU. In addition, the optimal sizes of CUDA processing blocks and threads are estimated through the prior experiments. In the experimental test of the proposed shot change detection algorithm, the detection rate of the GPU based parallel algorithm is the same as that of the CPU based algorithm, but the average of processing time speeds up about 6~8 times.

Weather Radar Image Gener ation Method Using Inter polation based on CUDA

  • Yang, Liu;Jang, Bong-Joo;Lim, Sanghun;Kwon, Ki-Chang;Lee, Suk-Hwan;Kwon, Ki-Ryong
    • 한국멀티미디어학회논문지
    • /
    • 제18권4호
    • /
    • pp.473-482
    • /
    • 2015
  • Doppler weather radar is an important tool for meteorological research. Through several decades of development, Doppler weather radar has enormous progress in understanding, detection and warning of meso and micro scale weather system. It makes a significant contribution to weather forecast and weather disaster warning. But the large amount of data process limits the application of Doppler weather radar. This paper proposed for fast weather radar data processing based on CUDA. CDUA is a powerful platform for highly parallel programming developed by NVIDIA. Through running plenty of threads, radar data can be calculated at same time. In experiment, CUDA parallel program can significantly improve weather data processing time.

CUDA를 이용한 실시간 대기질 예보 자료동화 (Data Assimilation of Real-time Air Quality Forecast using CUDA)

  • 배효식;유숙현;권희용
    • 한국인터넷방송통신학회논문지
    • /
    • 제17권2호
    • /
    • pp.271-277
    • /
    • 2017
  • 현대에 들어서면서 대기오염 물질이 심각하게 국민의 건강을 위협하는 단계에 이르렀기 때문에 이에 대한 예보의 중요성은 점점 높아지고 있다. 대기질을 예보하는데 있어서 예보 모델에 입력되는 초기장은 예보의 정확성에 영향을 미치는 요소이기 때문에 신뢰도 높은 초기장을 생성하는 것이 매우 중요하며, 이때 필요한 기법 중 하나가 자료동화이다. 자료동화는 대상 지역이 넓어지고, 관측소의 수가 증가될수록 더 많은 연산이 필요하기 때문에 그 수행시간이 길어진다. 때문에 예보 규모가 커질수록 기존의 순차처리 방식으로는 빠른 처리속도를 요구하는 현업에 적용하기 어렵다. 이에 본 논문에서는 자료동화 기법 중의 하나인 크레스만 방법을 CUDA를 이용하여 실시간으로 처리할 수 있는 방법을 제안하였다. 그 결과, 제안한 CUDA를 이용한 병렬처리 방법이 최소 35배 이상 속도가 향상되었다.

BioFET 시뮬레이션을 위한 CUDA 기반 병렬 Bi-CG 행렬 해법 (CUDA-based Parallel Bi-Conjugate Gradient Matrix Solver for BioFET Simulation)

  • 박태정;우준명;김창헌
    • 전자공학회논문지CI
    • /
    • 제48권1호
    • /
    • pp.90-100
    • /
    • 2011
  • 본 연구에서는 연산 부하가 매우 큰 Bio-FET 시뮬레이션을 위해 낮은 비용으로 대규모 병렬처리 환경 구축이 가능한 최신 그래픽 프로세서(GPU)를 이용해서 선형 방정식 해법을 수행하기 위한 병렬 Bi-CG(Bi-Conjugate Gradient) 방식을 제안한다. 제안하는 병렬 방식에서는 반도체 소자 시뮬레이션, 전산유체역학(CFD), 열전달 시뮬레이션 등을 포함한 다양한 분야에서 많은 연산량이 집중되어 전체 시뮬레이션에 필요한 시간을 증가시키는 포아송(Poisson) 방정식의 해를 병렬 방식으로 구한다. 그 결과, 이 논문의 테스트에서 사용된 FDM 3차원 문제 공간에서 단일 CPU 대비 연산 속도가 최대 30 배 이상 증가했다. 실제 구현은 NVIDIA의 태슬라 아키텍처(Tesla Architecture) 기반 GPU에서 범용 목적으로 병렬 프로그래밍이 가능한 NVIDIA사의 CUDA(Compute Unified Device Architecture) 환경에서 수행되었으며 기존 연구가 주로 32 비트 정밀도(single floating point) 실수 범위에서 수행된 것과는 달리 본 연구는 64 비트 정밀도(double floating point) 실수 범위로 수행되어 Bi-CG 해법의 수렴성을 개선했다. 특히, CUDA는 비교적 코딩이 쉬운 반면, 최적화가 어려운 특성이 있어 본 논문에서는 제안하는 Bi-CG 해법에서의 최적화 방향도 논의한다.

GPU에서 CUDA를 이용한 그래프 유사도 측정을 위한 병렬 알고리즘 (A Parallel Algorithm for Measuring Graph Similarity Using CUDA on GPU)

  • 손민영;김영학;최성자
    • 정보과학회 컴퓨팅의 실제 논문지
    • /
    • 제23권3호
    • /
    • pp.156-164
    • /
    • 2017
  • 두 그래프의 유사도를 측정하는 문제는 다양한 응용분야에서 그래프 문제를 해결하기 위한 기본적인 도구 중 하나이다. 대부분 그래프 알고리즘들은 정점과 간선의 개수를 기반으로 한 시간 복잡도를 가진다. 최근 GPU는 낮은 가격 대비 높은 계산 능력을 제공하기 때문에 그래프 응용에서 수행 시간을 개선하기 위해 널리 활용되고 있다. 본 논문에서는 GPU 환경에서 CUDA를 사용하여 그래프의 유사도를 측정하기 위한 효율적인 병렬 알고리즘을 제안한다. 제안된 알고리즘의 평가를 위해 CPU 기반 알고리즘과 비교하였으며 실험적 결과를 통하여 제안된 방법이 성능과 효율성에서 상당한 개선이 있음을 보인다. 또한 그래프의 크기가 클수록 제안된 알고리즘의 성능이 더 개선됨을 보인다.

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 사용 시, 성능이 더욱 증가하는 것을 확인하였다.

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.

An Improved Hybrid Approach to Parallel Connected Component Labeling using CUDA

  • Soh, Young-Sung;Ashraf, Hadi;Kim, In-Taek
    • 융합신호처리학회논문지
    • /
    • 제16권1호
    • /
    • pp.1-8
    • /
    • 2015
  • In many image processing tasks, connected component labeling (CCL) is performed to extract regions of interest. CCL was usually done in a sequential fashion when image resolution was relatively low and there are small number of input channels. As image resolution gets higher up to HD or Full HD and as the number of input channels increases, sequential CCL is too time-consuming to be used in real time applications. To cope with this situation, parallel CCL framework was introduced where multiple cores are utilized simultaneously. Several parallel CCL methods have been proposed in the literature. Among them are NSZ label equivalence (NSZ-LE) method[1], modified 8 directional label selection (M8DLS) method[2], and HYBRID1 method[3]. Soh [3] showed that HYBRID1 outperforms NSZ-LE and M8DLS, and argued that HYBRID1 is by far the best. In this paper we propose an improved hybrid parallel CCL algorithm termed as HYBRID2 that hybridizes M8DLS with label backtracking (LB) and show that it runs around 20% faster than HYBRID1 for various kinds of images.

Building a Dynamic Analyzer for CUDA based System.

  • SALAH T. ALSHAMMARI
    • International Journal of Computer Science & Network Security
    • /
    • 제23권8호
    • /
    • pp.77-84
    • /
    • 2023
  • The utilization of GPUs on general-purpose computers is currently on the rise due to the increase in its programmability and performance requirements. The utility of tools like NVIDIA's CUDA have been designed to allow programmers to code algorithms by using C-like language for the execution process on the graphics processing units GPU. Unfortunately, many of the performance and correctness bugs will happen on parallel programs. The CUDA tool support for the parallel programs has not yet been actualized. The use of a dynamic analyzer to find performance and correctness bugs in CUDA programs facilitates the execution of sophisticated processes, especially in modern computing requirements. Any race conditions bug it will impact of program correctness and the share memory bank conflicts to improve the overall performance. The technique instruments the programs in a way that promotes accessibility of the memory locations accessed by different threads well as to check for any bugs in the code of a program. The instrumented source code will be used initiated directly in the device emulation code of CUDA to send report for the user about all errors. The current degree of automation helps programmers solve subtle bugs in highly complex programs or programs that cannot be analyzed manually.