• 제목/요약/키워드: GPU Memory

검색결과 149건 처리시간 0.032초

CUDA의 메모리 복사로 인한 성능 저하 연구 (A Study on a Declines in Performance by Memory Copy in CUDA)

  • 강지훈;이대원;강인성;유헌창
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2013년도 추계학술발표대회
    • /
    • pp.135-138
    • /
    • 2013
  • GPGPU(General Purpose Graphics Processing Unit) 병렬처리 시스템인 CUDA(Compute Unified Device Architecture)는 컴퓨터에서의 고속 연산 처리를 위해 많이 사용되어왔다. CUDA에서 연산 처리를 하기 위해서는 CUDA의 특성을 이해해야 한다. CUDA는 CPU(Central Processing Unit)가 처리하는 Host 영역과 GPU(Graphics Processing Unit)가 처리하는 영역인 Device 영역이 존재하며, 이 두 영역간의 데이터 복사를 통해 연산 처리를 진행한다. 이런 구조적인 특성상 메인 메모리에서 GPU 메모리로 입력 데이터를 전달해야 GPU를 이용해 연산을 처리할 수 있는 구조를 가지고 있다. 하지만 이러한 처리 구조로 인해 연산 시간과 별도로 메인 메모리와 GPU 메모리간의 데이터 복사시간이 존재하며, 추가적으로 발생하는 메모리 복사 시간으로 인해 오버헤드가 발생하게 된다. 본 논문에서는 실험을 통해 메모리 복사 시간, 연산의 반복 횟수 그리고 연산의 복잡성이 전체 성능에 어떤 영향을 미치는지 논하고자 한다.

Workload Characteristics-based L1 Data Cache Switching-off Mechanism for GPUs

  • Do, Thuan Cong;Kim, Gwang Bok;Kim, Cheol Hong
    • 한국컴퓨터정보학회논문지
    • /
    • 제23권10호
    • /
    • pp.1-9
    • /
    • 2018
  • Modern graphics processing units (GPUs) have become one of the most attractive platforms in exploiting high thread level parallelism with the support of new programming tools such as CUDA and OpenCL. Recent GPUs has applied cache hierarchy to support irregular memory access patterns; however, L1 data cache (L1D) exhibits poor efficiency in the GPU. This paper shows that the L1D does not always positively affect the applications in terms of performance and energy efficiency for the GPU. The performance of the GPU is even harmed by using the L1D for lots of applications. Our proposed technique exploits the characteristics of the currently-executed applications to predict the performance impact of the L1D on the GPU and then decides whether to continuously use the cache for the application or not. Our experimental results show that the proposed technique improves the GPU performance by 9.4% and saves up to 52.1% of the power consumption in the L1D.

방출단층촬영 시스템을 위한 GPU 기반 반복적 기댓값 최대화 재구성 알고리즘 연구 (A Study on GPU-based Iterative ML-EM Reconstruction Algorithm for Emission Computed Tomographic Imaging Systems)

  • 하우석;김수미;박민재;이동수;이재성
    • Nuclear Medicine and Molecular Imaging
    • /
    • 제43권5호
    • /
    • pp.459-467
    • /
    • 2009
  • 목적: ML-EM (The maximum likelihood-expectation maximization) 기법은 방출과 검출 과정에 대한 통계학적 모델에 기반한 재구성 알고리즘이다. ML-EM은 결과 영상의 정확성과 유용성에 있어 많은 이점이 있는 반면 반복적인 계산과 방대한 작업량 때문에 CPU(central processing unit)로 처리할 때 상당한 연산시간이 소요되었다. 본 연구에서는 GPU(graphic processing unit)의 병렬 처리 기술을 ML-EM 알고리즘에 적용하여 영상을 재구성하였다. 대상 및 방법: 엔비디아사(社)의 CUDA 기술을 이용하여 ML-EM 알고리즘의 투사 및 역투사 과정을 병렬화 전략을 구상하였으며 Geforce 9800 GTX+ 그래픽 카드를 이용하여 병렬화 연산을 수행하여 기존의 단일 CPU기반 연산법과 비교하였다. 각 반복횟수마다 투사 및 역투사 과정에 걸리는 총 지연 시간과 퍼센트 오차(percent error)를 측정하였다. 총 지연 시간에는 RAM과 GPU 메모리 간의 데이터 전송 지연 시간도 포함하였다. 결과: 모든 반복횟수에 대해 CPU 기반 ML-EM 알고리즘보다 GPU 기반 알고리즘이 더 빠른 성능을 나타내는 것을 확인하였다. 단일 CPU 및 GPU 기반 ML-EM의 32번 반복연산에 있어 각각 3.83초와 0.26초가 걸렸으며 GPU의 병렬연산의 경우 15배 정도의 개선된 성능을 보였다. 반복횟수가 1024까지 증가하였을 경우, CPU와 GPU 기반 알고리즘은 각각 18분과 8초의 연산시간이 걸렸다. GPU 기반 알고리즘이 약 135배 빠른 처리속도를 보였는데 이는 단일 CPU 계산이 특정 반복횟수 이후 나타나는 시간 지연에 따른 것이다. 결과적으로, GPU 기반 계산이 더 작은 편차와 빠른 속도를 보였다. 결론: ML-EM 알고리즘에 기초한 GPU기반 병렬 계산이 처리 속도와 안정성을 더 증진시킴을 확인하였으며 이를 활용해 다른 영상 재구성 알고리즘에도 적용시킬 수 있을 것으로 기대한다.

병렬 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 프로그래밍 기법을 이용한 비사실적 랜더링 (Non-Photorealistic Rendering using GPU Programming Technique)

  • 블러르마 바트-오처;성경;김수균
    • 한국항행학회논문지
    • /
    • 제15권6호
    • /
    • pp.1228-1233
    • /
    • 2011
  • 컴퓨터 그래픽 기술 중 비사실적 랜더링 기술은 매년 발전을 거듭하고 있다. 비사실적 랜더링 기술은 일러스트, 애니메이션, 만화와 같은 예술적인 스타일에 영감을 받은 것입니다. 이러한 비사실적 랜더링 기술을 위한 많은 응용 프로그램들은 특히 애니메이션, 게임 산업 등에서 인기가 있다. 전통적인 컴퓨터 그래픽스에서는 비사실적 렌더링 기술에 많은 관심을 가지고 있지만, 많은 계산 시간을 요구하기 때문에 실시간으로 사용하지는않았다. 그러나 최근 몇 년 동안 비사실적 랜더링은 그래픽 가속기를 이용하여 훨씬 다양한 고급 랜더링 및 실시간 기술을 선보이고 있다. 본 논문은 비사실적 랜더링을 위한 GPU 프로그래밍 기법에 대해 설명한다.

GPU-Based ECC Decode Unit for Efficient Massive Data Reception Acceleration

  • Kwon, Jisu;Seok, Moon Gi;Park, Daejin
    • Journal of Information Processing Systems
    • /
    • 제16권6호
    • /
    • pp.1359-1371
    • /
    • 2020
  • In transmitting and receiving such a large amount of data, reliable data communication is crucial for normal operation of a device and to prevent abnormal operations caused by errors. Therefore, in this paper, it is assumed that an error correction code (ECC) that can detect and correct errors by itself is used in an environment where massive data is sequentially received. Because an embedded system has limited resources, such as a low-performance processor or a small memory, it requires efficient operation of applications. In this paper, we propose using an accelerated ECC-decoding technique with a graphics processing unit (GPU) built into the embedded system when receiving a large amount of data. In the matrix-vector multiplication that forms the Hamming code used as a function of the ECC operation, the matrix is expressed in compressed sparse row (CSR) format, and a sparse matrix-vector product is used. The multiplication operation is performed in the kernel of the GPU, and we also accelerate the Hamming code computation so that the ECC operation can be performed in parallel. The proposed technique is implemented with CUDA on a GPU-embedded target board, NVIDIA Jetson TX2, and compared with execution time of the CPU.

IPC-based Dynamic SM management on GPGPU for Executing AES Algorithm

  • Son, Dong Oh;Choi, Hong Jun;Kim, Cheol Hong
    • 한국컴퓨터정보학회논문지
    • /
    • 제25권2호
    • /
    • pp.11-19
    • /
    • 2020
  • 최신 GPU는 GPGPU를 활용하여 범용 연산이 가능하다. 뿐만 아니라, GPU는 내장된 다수의 코어를 활용하여 강력한 연산 처리량을 제공한다. AES 알고리즘은 다수의 병렬 연산을 요구하지만 CPU 구조에서는 효율적인 병렬처리가 이뤄지지 않는다. 따라서, 본 논문에서는 강력한 병력 연산 자원을 활용하는 GPGPU 구조에서 AES 알고리즘을 수행함으로써 AES 알고리즘 처리시간을 줄여보았다. 하지만, GPGPU 구조는 AES 알고리즘 같은 암호알고리즘에 최적화되어 있지 않다. 그러므로 AES 알고리즘에 최적화될 수 있도록 재구성 가능한 GPGPU 구조를 제안하고자 한다. 제안된 기법은 SM의 개수를 동적으로 할당하는 IPC 기반 SM 동적 관리 기법이다. IPC 기반 SM 동적 관리 기법은 GPGPU 구조에서 동작하는 AES의 IPC를 실시간으로 반영하여 최적의 SM의 개수를 동적으로 할당한다. 실험 결과에 따르면 제안된 동적 SM 관리 기법은 기존의 GPGPU 구조와 비교하여 하드웨어 자원을 효과적으로 활용하여 성능을 크게 향상시켰다. 일반적인 GPGP 구조와 비교하여, 제안된 기법의 AES의 암호화/복호화는 평균 41.2%의 성능 향상을 보여준다.

이종 멀티코어 프로세서에서 분할된 공유 LLC가 성능에 미치는 영향 분석 (Analysis on the Performance Impact of Partitioned LLC for Heterogeneous Multicore Processors)

  • 문민구;김철홍
    • 한국차세대컴퓨팅학회논문지
    • /
    • 제15권2호
    • /
    • pp.39-49
    • /
    • 2019
  • 컴퓨팅 성능을 향상시키기 위해 다양한 구조적 설계 기법들이 제안되고 있는데 그중에서도 CPU-GPU 융합형 이종 멀티코어 프로세서가 많은 관심을 받고 있다. CPU-GPU 융합형 이종 멀티코어 프로세서는 단일 칩에 CPU와 GPU를 집적하기 때문에 일반적으로 CPU와 GPU가 Last Level Cache(LLC)를 공유하게 된다. LLC 공유는 CPU와 GPU 코어 사이에 심각한 캐쉬 경합이 발생하는 경우 각각의 코어 활용도가 저하되는 문제를 가지고 있다. 본 논문에서는 CPU와 GPU 사이의 캐쉬 경합 문제를 해결하기 위해 단일 LLC를 CPU와 GPU 각각의 공간으로 분할하고, 분할된 공간의 크기 변화가 전체 시스템 성능에 미치는 영향을 분석하고자 한다. 모의실험 결과에 따르면, CPU는 사용하는 LLC 크기가 커질수록 성능이 최대 21%까지 향상되지만 GPU는 사용하는 LLC 크기가 커져도 큰 성능변화를 보이지 않는다. 즉, GPU는 LLC 크기가 감소하더라도 CPU에 비하여 성능이 적게 하락함을 알 수 있다. GPU에서의 LLC 크기 감소에 의한 성능하락이 CPU에서의 LLC 크기 증가에 따른 성능향상보다 훨씬 작기 때문에 실험결과를 기반으로 각각의 코어에 LLC를 분할하여 할당한다면 전체적인 이종 멀티코어 프로세서의 성능을 향상시킬 수 있을 것으로 기대된다. 또한, 이러한 분석을 통해 향후 각 코어의 성능을 최대한 높일 수 있는 메모리 관리기법을 개발한다면 이종 멀티코어 프로세서의 성능을 크게 향상시킬 수 있을 것이다.

GPU 가속기를 통한 비트 연산 최적화 및 DNN 응용 (Bit Operation Optimization and DNN Application using GPU Acceleration)

  • 김상혁;이재흥
    • 전기전자학회논문지
    • /
    • 제23권4호
    • /
    • pp.1314-1320
    • /
    • 2019
  • 본 논문에서는 소프트웨어 환경에서 비트연산을 최적화 하고 DNN으로 응용하는 방법을 제안한다. 이를 위해 비트연산 최적화를 위한 패킹 함수와 DNN으로 응용을 위한 마스킹 행렬 곱 연산을 제안한다. 패킹 함수의 경우는 32bit의 실제 가중치값을 2bit로 변환하는 연산을 수행한다. 연산을 수행할 땐, 임계값 비교 연산을 통해 2bit 값으로 변환한다. 이 연산을 수행하면 4개의 32bit값이 1개의 8bit 메모리에 들어가게 된다. 마스킹 행렬 곱 연산의 경우 패킹된 가중치 값과 일반 입력 값을 곱하기 위한 특수한 연산으로 이루어져 있다. 그리고 각각의 연산은 GPU 가속기를 이용해 병렬로 처리되게 하였다. 그 결과 HandWritten 데이터 셋에 환경에서 32bit DNN 모델에 비해 약 16배의 메모리 절약을 볼 수 있었다. 그럼에도 정확도는 32bit 모델과 비슷한 1% 이내의 차이를 보였다.

CNN을 이용한 Quad Tree 기반 2D Smoke Super-resolution (Quad Tree Based 2D Smoke Super-resolution with CNN)

  • 홍병선;박지혁;최명진;김창헌
    • 한국컴퓨터그래픽스학회논문지
    • /
    • 제25권3호
    • /
    • pp.105-113
    • /
    • 2019
  • 물리 기반 유체 시뮬레이션은 고해상도 연산을 위해 많은 시간이 필요하다. 이 문제를 해결하기 위해 저해상도 유체 시뮬레이션의 한계를 딥 러닝으로 보완하는 연구들이 있으며, 그중에서는 저해상도의 시뮬레이션 데이터를 고해상도로 변환해주는 Super-resolution 분야가 있다. 하지만 기존 기법들은 전체 데이터 공간에서 밀도 데이터가 없는 부분까지 연산하므로 전체 시뮬레이션 속도 면에서 효율성이 떨어지며, 입력 해상도가 큰 경우에는 GPU 메모리가 부족해 연산할 수 없는 경우가 발생할 수 있다. 본 연구에서는 공간 분할 법 중 하나인 쿼드 트리를 활용하여 시뮬레이션 공간을 분할 및 분류하여 Super-resolution 하는 기법을 제안한다. 본 기법은 필요 공간만 Super-resolution 하므로 전체 시뮬레이션 가속화가 가능하고, 입력 데이터를 분할 연산하므로 GPU 메모리 문제를 해결할 수 있게 된다.