• Title/Summary/Keyword: GPU Memory

검색결과 151건 처리시간 0.027초

OpenCL을 이용한 내장형 GPU에서의 의학영상처리 가속화 (Accelerating Medical Image Processing on Integrated GPU Using OpenCL)

  • 김범준;신병석
    • 한국컴퓨터그래픽스학회논문지
    • /
    • 제23권2호
    • /
    • pp.1-10
    • /
    • 2017
  • 잡음이 있거나 해상도가 낮은 의료 영상의 화질을 개선하기 위해 다양한 필터를 적용한다. 이것은 환자의 방사선 피폭량을 줄이고, 기존에 사용하던 영상 촬영기기의 활용도를 높이기 위해 반드시 필요한 작업이다. 기존 방법에서는 PC의 CPU를 이용하여 필터링하는 것이 일반적이었다. 하지만 병원에서 사용하는 PC의 CPU 성능만으로는 해상도가 높은 인체 영상에 각종 연산 및 필터를 적용하여 실시간으로 결과를 만들어 내기는 어렵다. 본 논문에서는 CPU 안에 탑재되어 있는 인텔 내장 GPU의 구조와 성능을 분석하고 이를 기반으로 하여 OpenCL 병렬처리 기능을 적용한 영상 필터링을 수행하는 방법을 제안하였다. 이를 통해 의료 영상에 높은 연산량을 가지는 복잡한 필터를 적용하여 고화질의 결과물을 실시간에 생성할 수 있도록 하였다.

블리킹을 이용한 대용량 초음파 볼륨 데이터 렌더링 (Large-Scale Ultrasound Volume Rendering using Bricking)

  • 김주환;권구주;신병석
    • 한국컴퓨터정보학회논문지
    • /
    • 제13권7호
    • /
    • pp.117-126
    • /
    • 2008
  • 최근 높은 해상도의 볼륨 데이터를 획득할 수 있게 되면서 제한된 용량의 메모리를 가진 그래픽 하드웨어에서 대용량 볼륨 데이터를 렌더링 하는 방법이 필요하게 되었다. 대용량 볼륨 데이터의 렌더링 방법 중 데이터를 적절히 분할하여 순차적으로 처리하는 블리킹 (bricking) 방법이 많이 사용된다. 그러나 일반적인 블리킹 방법은 직교 좌표계를 사용하는 CT와 MR 데이터를 위해 고안된 것으로, 원환체 (torus) 좌표계를 사용하는 부채꼴 형태의 초음파 볼륨 데이터에 적용하면, 관측광선이 블릭 (brick)의 곡면경계로 진입한 후 다시 빠져 나갈 때 동일한 블릭이 GPU메모리에 두번 적재되는 경우가 발생한다. 본 논문에서는 초음파 볼륨을 랜더링 할 때 반복적인 텍스쳐 스위칭이 발생하지 않도록 블릭의 크기를 결정하는 방법을 제안한다. 블릭의 경계는 곡면으로 되어 있으므로 이들의 곡률을 계산하여, 관측광선이 동일한 블록을 두 번 참조하는 영역을 찾는다. 이 영역에 해당하는 복셀들을 인접한 두 블릭들이 공유하도록 크기를 정하면 둘 중의 한 블릭에서만 재샘플링하게 함으로써 블릭이 중복 적재되는 것을 피할 수 있다.

  • PDF

유한요소 비압축성 유동장 해석을 위한 이중공액구배법의 GPU 기반 연산에 대한 연구 (A Study on GPU Computing of Bi-conjugate Gradient Method for Finite Element Analysis of the Incompressible Navier-Stokes Equations)

  • 윤종선;전병진;정혜동;최형권
    • 대한기계학회논문집B
    • /
    • 제40권9호
    • /
    • pp.597-604
    • /
    • 2016
  • 본 연구에서는 GPU를 이용한 비압축성 유동장의 병렬연산을 위하여, P2P1 유한요소를 이용한 분리 알고리즘 내의 행렬 해법인 이중공액구배법(Bi-Conjugate Gradient)의 CUDA 기반 알고리즘을 개발하였다. 개발된 알고리즘을 이용해 비대칭 협착관 유동을 해석하고, 단일 CPU와의 계산시간을 비교하여 GPU 병렬 연산의 성능 향상을 측정하였다. 또한, 비대칭 협착관 유동 문제와 다른 행렬 패턴을 가지는 유체구조 상호작용 문제에 대하여 이중공액구배법 내의 희소 행렬과 벡터의 곱에 대한 GPU의 병렬성능을 확인하였다. 개발된 코드는 희소 행렬의 1개의 행과 벡터의 내적을 병렬 연산하는 커널(Kernel)로 구성되며, 최적화는 병렬 감소 연산(Parallel Reduction), 메모리 코얼레싱(Coalescing) 효과를 이용하여 구현하였다. 또한, 커널 생성 시 워프(Warp)의 크기에 따른 성능 차이를 확인하였다. 표준예제들에 대한 GPU 병렬연산속도는 CPU 대비 약 7배 이상 향상됨을 확인하였다.

GPU를 이용한 위상 측정법의 가속화 (Acceleration of Phase Measuring Profilometry using GPU)

  • 김호중;조태훈
    • 한국정보통신학회논문지
    • /
    • 제21권12호
    • /
    • pp.2285-2290
    • /
    • 2017
  • 최근 산업의 여러 분야에서 자동화 시스템이 발전함에 따라 3D 측정에 의한 물체의 높이 검사의 필요성이 점차 대두되고 있다. 여러 3D 측정 방법 중에서 본 논문에서 다루는 방법은 위상 측정법으로, 위상 측정법이란 프린지 패턴의 위상값을 이용하여 물체의 높이를 구하는 방법이다. 위상 측정법은 연산량이 많이 필요한 알고리즘이기 때문에 이를 효율적으로 해결할 방법이 필요하다. 본 논문에서는 이를 위해 NVIDIA에서 나온 CUDA를 사용할 것을 제안했다. 또 CUDA에서 제공하는 Pinned memory와 Stream을 사용할 것을 제안하였다. 이를 통해 정확도를 유지하면서 측정 속도는 크게 향상시킬 수 있었고 실험을 통해 성능을 입증하였다.

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.

Practical methods for GPU-based whole-core Monte Carlo depletion calculation

  • Kyung Min Kim;Namjae Choi;Han Gyu Lee;Han Gyu Joo
    • Nuclear Engineering and Technology
    • /
    • 제55권7호
    • /
    • pp.2516-2533
    • /
    • 2023
  • Several practical methods for accelerating the depletion calculation in a GPU-based Monte Carlo (MC) code PRAGMA are presented including the multilevel spectral collapse method and the vectorized Chebyshev rational approximation method (CRAM). Since the generation of microscopic reaction rates for each nuclide needed for the construction of the depletion matrix of the Bateman equation requires either enormous memory access or tremendous physical memory, both of which are quite burdensome on GPUs, a new method called multilevel spectral collapse is proposed which combines two types of spectra to generate microscopic reaction rates: an ultrafine spectrum for an entire fuel pin and coarser spectra for each depletion region. Errors in reaction rates introduced by this method are mitigated by a hybrid usage of direct online reaction rate tallies for several important fissile nuclides. The linear system to appear in the solution process adopting the CRAM is solved by the Gauss-Seidel method which can be easily vectorized on GPUs. With the accelerated depletion methods, only about 10% of MC calculation time is consumed for depletion, so an accurate full core cycle depletion calculation for a commercial power reactor (BEAVRS) can be done in 16 h with 24 consumer-grade GPUs.

메모리내 연산 기술의 클라우드 신뢰실행 관련 연구 전망

  • 신수환;이호준
    • 정보보호학회지
    • /
    • 제33권5호
    • /
    • pp.11-16
    • /
    • 2023
  • 오늘 날의 클라우드 워크로드는 인공지능 및 빅 데이터 활용의 비약적인 발전으로 인하여 메모리 대역폭이 프로세서의 연산 속도를 따라가지 못해 병목 현상을 겪고 있다. 이러한 이른바 메모리 벽 문제 (Memory Wall Problem)를 해결하기 위해 컴퓨터 아키텍처 및 운영체제는 변화해 나가고 있다. 그 중 최근 가장 주목 받는 기술 중 하나인 메모리내 연산기술(Processing-In-Memory)는 프로세서를 메모리 디바이스 내에 탑재함으로써, 데이터를 메인 프로세서에 이동시켜 처리할 필요 없이 데이터 내부에서 처리한다. 이로 인해 대용량 데이터의 처리속도 향상과 동시에 메인 메모리버스의 부하를 줄여 클라우드 시스템의 전반적인 성능 향상 또한 꽤할 수 있다. 한편, 클라우드 아키텍처는 또 다른 요구에 의하여 변화를 거치고 있으며, 이는 바로 보안이다. 오늘 날의 컴퓨터 아키텍처 및 GPU등의 가속기들은 신뢰실행 기술 (Trusted Execution)의 지원을 통하여 클라우드에서의 민감한 연산을 격리 및 보호하고자 한다. Intel의 SGX와 NVIDIA GPU의 confidential computing기능 지원이 이러한 흐름을 대표한다. 최근 PIM을 활용한 보안기술의 새로운 방향들을 제시하는 연구들이 소개되고 있는 가운데, 본 논문은 클라우드 신뢰실행 (Trusted Execution)에서의 PIM을 적용한 최신 연구들의 방향을 소개하고 또한 향후 연구 전망을 제공하고자 한다. PIM기술의 동향과 PIM을 보안에 특화시킨 연구, 그리고 앞으로 해결되어야할 과제들을 논함으로써, 새로이 주목받는 PIM 기반 보안 기술들을 정리하고 향후 전망을 제공한다.

계층적 결합형 양방향 필터를 이용한 실시간 깊이 영상 보정 방법 (Real-time Depth Image Refinement using Hierarchical Joint Bilateral Filter)

  • 신동원;호요성
    • 방송공학회논문지
    • /
    • 제19권2호
    • /
    • pp.140-147
    • /
    • 2014
  • 본 논문에서는 결합형 양방향 필터를 이용하여 깊이 영상을 실시간으로 보정하는 방법을 제안한다. 제안한 방법은 Kinect 깊이 카메라로부터 얻은 깊이 영상의 화질을 실시간으로 향상시키기 위해 GPU 내의 상수 메모리와 2차원 영상 처리에 적합한 텍스쳐 메모리를 사용한다. 또한, 단일 화소에 대한 결합형 양방향 필터 연산을 각 GPU 쓰레드(thread)에 할당한 다음 병렬로 처리하여 계산량을 현저히 감소시킨다. 그리고 깊이 영상의 품질을 더욱 높이기 위해 CUDA를 이용해 구현한 결합형 양방향 필터를 계층형 구조로 반복적으로 수행하여 폐색 영역이 채워진 깊이 영상을 얻을 수 있다. 실험 결과를 통해, 제안한 실시간 깊이 영상 보정 방법이 깊이 영상의 주관적 화질을 향상시키고, 초당 55 화면의 속도로 동작하는 것을 확인했다.

텐서 처리부의 분석 및 파이썬을 이용한 모의실행 (Analysis of Tensor Processing Unit and Simulation Using Python)

  • 이종복
    • 한국인터넷방송통신학회논문지
    • /
    • 제19권3호
    • /
    • pp.165-171
    • /
    • 2019
  • 컴퓨터 구조의 연구 결과, 특정 영역의 하드웨어를 개발하는 과정에서 가격 대 에너지 성능의 획기적인 개선이 이뤄진다고 알려져 있다. 본 논문은 인공신경망(NN)의 추론을 가속화시킬 수 있는 텐서 처리부(TPU) ASIC에 대한 분석을 수행하였다. 텐서 처리부의 핵심장치는 고속의 연산이 가능한 MAC 행렬곱셈기와 소프트웨어로 관리되는 온칩 메모리이다. 텐서 처리부의 실행모델은 기존의 CPU와 GPU의 실행모델보다 인공신경망의 반응시간 요구사항을 제대로 충족시킬 수 있으며, 수많은 MAC과 큰 메모리를 장착함에도 불구하고 면적이 작고 전력 소비가 낮다. 텐서플로우 벤치마크 프레임워크에 대하여 텐서 처리부를 활용함으로써, CPU 또는 GPU보다 높은 성능과 전력 효율을 나타낼 수가 있다. 본 논문에서는 텐서 처리부를 분석하고, 파이썬을 이용하여 모델링한 OpenTPU에 대하여 모의실행을 하였으며, 그 핵심장치인 행렬 곱셈부에 대한 합성을 시행하였다.

GPU 성능 향상을 위한 MSHR 정보 기반 워프 스케줄링 기법 (A new warp scheduling technique for improving the performance of GPUs by utilizing MSHR information)

  • 김광복;김종면;김철홍
    • 한국차세대컴퓨팅학회논문지
    • /
    • 제13권3호
    • /
    • pp.72-83
    • /
    • 2017
  • GPU는 다수의 워프를 병렬적으로 수행함으로써 레이턴시를 숨기면서 높은 처리량을 제공할 수 있다. 만약 GPU에서 캐쉬에 대한 요청이 미스를 발생시킨다면 하위 메모리로부터 요청한 데이터를 받을 때까지 MSHR(Miss Status Holding Register)을 통해 미스 정보를 추적하고 다른 워프를 수행한다. 최신 GPU에서는 캐쉬 자원에 대한 과도한 요청이 발생한 경우 자원점유 실패가 발생하여 GPU 자원을 충분히 활용할 수 없는 경우가 자주 발생한다. 본 논문에서는 MSHR 자원 부족으로 인해 발생하는 성능 감소를 줄이고자 새로운 워프 스케줄링 기법을 제안한다. L1 데이터 캐쉬에서 각 워프별 캐쉬 미스율은 긴 사이클 동안 비슷하게 유지되는 특성을 이용하여 각 워프들의 캐쉬 미스율을 예측하고, 이를 바탕으로 MSHR의 자원을 더 이상 사용할 수 없는 상태에서는 낮은 캐쉬 미스율을 보일 것으로 예측되는 워프들과 연산 위주 워프들을 우선적으로 이슈 한다. 제안하는 기법은 예측된 캐쉬 미스율과 MSHR 상태를 기반으로 캐쉬 자원을 더 효율적으로 사용함으로써 GPU 성능을 향상시킨다. 실험 결과, 제안된 기법은 LRR(Loose Round Robin) 정책에 비해 자원점유실패 사이클이 25.7% 감소하고 IPC(Instruction Per Cycle)가 6.2% 증가한다.