• 제목/요약/키워드: General-purpose computation on GPUs

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

An Efficient Block Cipher Implementation on Many-Core Graphics Processing Units

  • Lee, Sang-Pil;Kim, Deok-Ho;Yi, Jae-Young;Ro, Won-Woo
    • Journal of Information Processing Systems
    • /
    • 제8권1호
    • /
    • pp.159-174
    • /
    • 2012
  • This paper presents a study on a high-performance design for a block cipher algorithm implemented on modern many-core graphics processing units (GPUs). The recent emergence of VLSI technology makes it feasible to fabricate multiple processing cores on a single chip and enables general-purpose computation on a GPU (GPGPU). The GPU strategy offers significant performance improvements for all-purpose computation and can be used to support a broad variety of applications, including cryptography. We have proposed an efficient implementation of the encryption/decryption operations of a block cipher algorithm, SEED, on off-the-shelf NVIDIA many-core graphics processors. In a thorough experiment, we achieved high performance that is capable of supporting a high network speed of up to 9.5 Gbps on an NVIDIA GTX285 system (which has 240 processing cores). Our implementation provides up to 4.75 times higher performance in terms of encoding and decoding throughput as compared to the Intel 8-core system.

GPGPU의 멀티 쓰레드를 활용한 고성능 병렬 LU 분해 프로그램의 구현 (Implementation of high performance parallel LU factorization program for multi-threads on GPGPUs)

  • 신봉희;김영태
    • 인터넷정보학회논문지
    • /
    • 제12권3호
    • /
    • pp.131-137
    • /
    • 2011
  • GPGPU는 원래 그래픽 계산을 위한 프로세서인 GPU를 일반 계산에 활용하여 저전력으로 고성능의 효율을 보이는 신개념의 계산 장치이다. 본 논문에서는 GPGPU에서 계산을 하기 위한 병렬 LU 분해법의 알고리즘을 제안하였다. Nvidia GPGPU에서 프로그램을 실행하기 위한 CUDA 계산 환경에서는 계산하고자 하는 데이터 도메인을 블록으로 나누고 각 블록을 쓰레드들이 동시에 계산을 하는데, 이 때 블록들의 계산 순서는 무작위로 진행이 되기 때문에 블록간의 데이터 의존성을 가지는 LU 분해 프로그램에서는 결과가 정확하지 않게 된다. 본 논문에서는 병렬 LU 분해법에서 블록간의 계산 순서를 인위적으로 정하는 구현 방식을 제안하며 아울러 LU 분해법의 부분 피벗팅을 계산하기 위한 병렬 reduction 알고리즘도 제안한다. 또한 구현된 병렬프로그램의 성능 분석을 통하여 GPGPU의 멀티 쓰레드 기반으로 고성능으로 계산할 수 있는 병렬프로그램의 효율성을 보인다.

A Case Study of the Base Technology for the Smart Grid Security: Focusing on a Performance Improvement of the Basic Algorithm for the DDoS Attacks Detection Using CUDA

  • Huh, Jun-Ho;Seo, Kyungryong
    • 한국멀티미디어학회논문지
    • /
    • 제19권2호
    • /
    • pp.411-417
    • /
    • 2016
  • Since the development of Graphic Processing Unit (GPU) in 1999, the development speed of GPUs has become much faster than that of CPUs and currently, the computational power of GPUs exceeds CPUs dozens and hundreds times in terms of decimal calculations and costs much less. Owing to recent technological development of hardwares, general-purpose computing and utilization using GPUs are on the rise. Thus, in this paper, we have identified the elements to be considered for the Smart Grid Security. Focusing on a Performance Improvement of the Basic Algorithm for the Stateful Inspection to Detect DDoS Attacks using CUDA. In the program, we compared the search speeds of GPU against CPU while they search for the suffix trees. For the computation, the system constraints and specifications were made identical during the experiment. We were able to understand from the results of the experiment that the problem-solving capability improves when GPU is used. The other finding was that performance of the system had been enhanced when shared memory was used explicitly instead of a global memory as the volume of data became larger.

Fast GPU Computation of the Mass Properties of a General Shape and its Application to Buoyancy Simulation

  • Kim, Jin-Wook;Kim, Soo-Jae;Ko, Hee-Dong;Terzopoulos, Demetri
    • 한국HCI학회:학술대회논문집
    • /
    • 한국HCI학회 2007년도 학술대회 3부
    • /
    • pp.326-333
    • /
    • 2007
  • To simulate solid dynamics,a we must com-pute the mass, the center of mass, and the products of inertia about the axes of the body of interest. These mass property computations must be continuously re-peated for certain simulations with rigid bodies or as the shape of the body changes. We introduce a GPU-friendly algorithm to approximate the mass properties for an arbitrarily shaped body. Our algorithm converts the necessary volume integrals into surface integrals on a projected plane. It then maps the plane into a frame-buffer in order to perform the surface integrals rapidly on the GPU. To deal with non-convex shapes, we use a depth-peeling algorithm. Our approach is image-based; hence, it is not restricted by the mathematical or geometric representation of the body, which means that it can efficiently compute the mass properties of any object that can be rendered on the graphics hardware. We compare the speed and accuracy of our algorithm with an analytic algorithm, and demonstrate it in a hydrostatic buoyancy simulation for real-time applications, such as interactive games.

  • PDF

An IPC-based Dynamic Cooperative Thread Array Scheduling Scheme for GPUs

  • Son, Dong Oh;Kim, Jong Myon;Kim, Cheol Hong
    • 한국컴퓨터정보학회논문지
    • /
    • 제21권2호
    • /
    • pp.9-16
    • /
    • 2016
  • Recently, many research groups have focused on GPGPUs in order to improve the performance of computing systems. GPGPUs can execute general-purpose applications as well as graphics applications by using parallel GPU hardware resources. GPGPUs can process thousands of threads based on warp scheduling and CTA scheduling. In this paper, we utilize the traditional CTA scheduler to assign a various number of CTAs to SMs. According to our simulation results, increasing the number of CTAs assigned to the SM statically does not improve the performance. To solve the problem in traditional CTA scheduling schemes, we propose a new IPC-based dynamic CTA scheduling scheme. Compared to traditional CTA scheduling schemes, the proposed dynamic CTA scheduling scheme can increase the GPU performance by up to 13.1%.

CUDA를 이용한 FDTD 알고리즘의 병렬처리 (Parallel Computation of FDTD algorithm using CUDA)

  • 이호영;박종현;김준성
    • 전자공학회논문지CI
    • /
    • 제47권4호
    • /
    • pp.82-87
    • /
    • 2010
  • CPU를 능가하는 GPU의 연산능력 향상으로 범용 계산에 그래픽 프로세서를 사용하는 GP-GPU연구가 활발히 전개되고 있으며, 그 응용분야가 확대되고 있다. 본 논문에서는 전자기학 관련 분야에서 널리 사용되는 FDTD 알고리즘을 nVIDIA에서 제공하는 소프트웨어 플랫폼인 CUDA를 사용하여 구현한다. FDTD 알고리즘의 주요 연산과정을 병렬화하고, 그래픽 카드 내각기 다른 메모리의 사용에 따라 최적화하며, 단일 프로세서에서 FDTD 알고리즘을 실행시킨 경우와 비교하여 그 성능 향상 정도를 측정한다. 실험결과 단일 프로세서로 구현하였을 때에 비해 실행시간이 45배까지 향상됨을 확인할 수 있었다.

다중 프로세스 서비스를 이용한 GPU 응용 동시 실행 성능 분석 (A Execution Performance Analysis of Applications using Multi-Process Service over GPU)

  • 김세진;오지선;김윤희
    • KNOM Review
    • /
    • 제22권1호
    • /
    • pp.60-67
    • /
    • 2019
  • Graphical Processing Units(GPUs)는 비교적 정형화된 연산을 병렬적으로 처리함으로써 높은 성능을 제공한다. 기술의 발전에 따라 GPU 환경에서 다양한 응용 실행을 시도하는 General Purpose GPU(GPGPU) 실행환경이 연구되고 있으나, 자원 분배, 스케줄링 등의 GPU 자원을 효율적으로 사용하기에는 아직 제한적이다. 최신의 GPU 구조들은 커널의 동시 실행을 지원하지만 같은 응용 안에서만 동시 실행이 가능하다는 문제점이 있어 NVIDIA는 Multi-Process Service(MPS)를 제안하였다. MPS는 다른 응용에 속한 커널도 동시 실행할 수 있도록 서비스한다. 하지만 응용의 실행 특성 및 동시 실행되는 패턴이 미리 파악되어 있지 않으면 MPS 장점을 최대한으로 취할 수 없다. 본 논문에서는 응용 프로파일링을 통해 응용의 특성을 파악하고, 동시 실행 스케줄링 알고리즘을 적용하여 실험을 진행하였다. MPS의 장점을 최대한으로 활용하기 위해서는 함께 돌릴 응용의 특성을 파악하고, 프로파일링을 통해 동시 실행하는 응용들의 순서를 제어하는 스케줄링 알고리즘이 중요함을 보인다.

삼중대각행렬 시스템 풀이의 빠른 GPU 구현 (Fast GPU Implementation for the Solution of Tridiagonal Matrix Systems)

  • 김영희;이성기
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제32권11_12호
    • /
    • pp.692-704
    • /
    • 2005
  • 컴퓨터 하드웨어의 급속한 발전으로 그래픽 프로세서 유닛(Graphics Processor Units : GPUs)은 굉장한 메모리 대역폭과 산술 능역을 보유하게 되어 범용 계산에 많이 활용되고 있으며, 특히 계산 집약적인 물리 기반 시뮬레이션(physics based simulation)의 GPU 구현이 활발하게 연구되고 있다. 물리 기반 시뮬레이션의 기본이 되는 미분방정식 풀이 과정에서 삼중대각행렬(tridiagonal matrix) 시스템은 유한차분(finite-difference) 근사에 의해서 자주 나타나는 선형시스템으로 물리 기반 시뮬레이션 관점에서 삼중대각행렬 시스템의 빠른 풀이는 중요한 연구 분야이다. 본 논문에서는 GPU에서 삼중대각행렬 시스템 풀이를 빠르게 구현할 수 있는 방법을 제안한다. 벡터 프로세서(vector processor) 계산에서 삼중대각행렬 시스템 풀이 방법으로 널리 사용되는 cyclic reduction 또는 odd-even reduction 알고리즘을 GPU에서 구현하였다. 본 논문에서 제안한 방법을 삼중대각행렬 시스템 풀이 방법으로 잘 알려져 있는 Thomas 방법과 GPU를 이용한 선형시스템 풀이에서 좋은 성과를 보이고 있는 conjugate gradient 방법과 비교할 때 상당한 성능 향상을 얻을 수 있었다. 또한, 열전도(heat conduction) 방정식, 이류 확산(advection-diffusion) 방정식, 얕은 물(shallow water) 방정식에 의한 물리 기반 시뮬레이션의 GPU 구현에 본 논문에서 제안한 방법을 사용하여 1024x1024 격자의 계산 영역에서 초당 35프레임 이상의 놀라운 성능을 보여주었다.

그래픽 프로세서를 이용한 고차 유한 차분식 기반 수중채널모델 연구 (A Study on the Underwater Channel Model based on a High-Order Finite Difference Method using GPUs)

  • 배호석;김원기;손수욱;하완수
    • 한국시뮬레이션학회논문지
    • /
    • 제30권1호
    • /
    • pp.11-20
    • /
    • 2021
  • 최근 수중 무인 체계가 대두됨에 따라 핵심 기반 기술인 장거리 수중통신기술 및 고속 수중채널모델링 기술이 많은 관심을 받고 있다. 본 논문에서는 고속 수중채널모델링을 수행하기 위한 고속 음파전달모델을 제안하여, 정량적인 성능 분석을 통해 제안 기술의 적용 가능성을 살펴보았다. 수층에서의 파동 전파를 모사하기 위하여 고차 유한 차분 기법을 사용하였으며, 범용 그래픽 프로세서를 이용한 영역 분할 기법을 적용하여 여러 개의 그래픽 프로세서 병렬 처리를 통해 연산 속도를 향상시켰다. 제안한 기법은 반무한 매질에서의 해석해와의 비교 및 파선법에 기반한 VirTEX 모델을 이용한 결과와의 비교를 통해 그 타당성을 검증하였다. 최종적으로 수치예제를 통해 고속 수중채널 모델링 기법의 정량적인 연산 성능을 분석하였다. 개발모델의 연산 성능 향상 정도를 정량적으로 분석한 결과 그래픽 프로세서 수가 증가함에 따라 연산 속도가 선형에 가깝게 빨라지는 것을 확인하였다. 연산 영역의 크기가 2배로 증가할 때와 주파수가 2배로 증가할 때 계산 시간은 각각 2배와 8배로 증가하였다. 본 논문을 통해 제안한 고속 수중채널모델 기술은 해양무인체계의 수중통신기술 개발을 위한 수중통신 채널모델 및 분석 툴로 탑재되어 국방력 강화에 기여할 수 있을 것으로 기대된다.

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.