• 제목/요약/키워드: Cuda

검색결과 294건 처리시간 0.025초

GPGPU 환경에서 최대휘소투영 렌더링의 고속화 방법 (Acceleration techniques for GPGPU-based Maximum Intensity Projection)

  • 계희원;김준호
    • 한국멀티미디어학회논문지
    • /
    • 제14권8호
    • /
    • pp.981-991
    • /
    • 2011
  • 최대휘소투영은 볼륨 렌더링의 한 기법으로, 의료영상을 판독하기 위해서 중요한 기능이다. 광선 투사법을 이용한 최대휘소투영 렌더링은 비교적 높은 화질의 영상을 생성하나 많은 연산을 요구한다. 본 연구는 그래픽 처리장치(GPU : Graphic Process Unit) 에 일반 연산을 적용하는 GPGPU(General-purpose computing on Graphic Process Unit) 기술을 이용하여 최대휘소투영 렌더링의 속도를 향상시키는 방법에 관한 연구를 수행한다. 본 논문에서는 GPGPU를 수행 할 수 있는 프로그래밍 언어인 CUDA(an acronym for Compute Unified Device Architecture)를 기반으로 고속 광선 투사법을 구현하며, CUDA 환경에 적함한 가속화 방법을 제안한다. 구체적으로, 블록 기반 공간 도약 기법을 적용하여 불필요한 부분을 도약하고, 이분 이동법을 통해 블록 경계면의 탐색을 고속으로 수행하며, 초기 값 추정 알고리즘을 이용하여 공간 도약 확률을 향상시킨다. 이를 통해 화질 손실 없이 최대휘소투영 렌더링의 가시화 속도를 크게 향상시킨다.

다중 GPU기반 홀로그램 생성을 위한 병렬처리 성능 최적화 기법 (An Optimization Method for Hologram Generation on Multiple GPU-based Parallel Processing)

  • 국중진
    • 스마트미디어저널
    • /
    • 제8권2호
    • /
    • pp.9-15
    • /
    • 2019
  • 홀로그램의 생성을 위한 연산은 포인트 클라우드의 규모에 따라 연산량이 기하급수적으로 증가하기 때문에 최근에는 다중의 GPU를 기반으로 CUDA 또는 OpenCL 라이브러리를 활용한 병렬처리가 이루어지고 있다. GPU기반의 병렬처리를 위한 CUDA 커널은 GPU의 코어 개수와 메모리 크기를 고려하여 쓰레드(thread), 블록(block), 그리드(grid)를 구성해야 하며, 다중 GPU 환경인 경우 GPU의 개수에 따른 그리드, 블록, 또는 쓰레드 단위의 분산처리가 필요하다. 본 논문에서는 CGH 생성에 대한 성능평가를 위해 포인트 클라우드의 포인트 개수를 10~1,000,000개 범위에서 점진적으로 증가시키면서 CPU, 단일 GPU, 다중 GPU 환경에서 연산 속도를 비교해 보았으며, 다중 GPU 환경에서 CGH(Computer Generated Hologram) 생성 연산을 가속화하기 위한 CUDA 기반의 병렬처리 과정에서 요구되는 메모리 구조 설계와 연산 방법을 제안한다.

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 해법에서의 최적화 방향도 논의한다.

고속 병렬처리 기법을 활용한 주파수 도약 신호 분석 (Frequency Hopping Signal Analysis Using High-Speed Parallel Processing)

  • 이광용;윤현철;이현휘
    • 한국전자파학회논문지
    • /
    • 제25권2호
    • /
    • pp.251-254
    • /
    • 2014
  • 본 논문에서는 주파수 도약 신호를 고속 병렬처리 구조로 설계하여 추출하는 기법에 대해 연구하였다. 주파수 도약 시스템은 반송파 주파수를 무작위한 것으로 보이는 패턴으로 변형시키기 때문에 고정 신호와는 달리 신호를 탐지하기 어렵고, 분석에 많은 시간이 소요되는 특성을 가진다. 이를 해결하기 위해 주파수 도약 신호를 분석하는 방법을 고속병렬처리 기법을 적용하여 설계하였다. 병렬처리를 위해 GPU를 사용하는 CUDA를 사용하였고, 단일처리 사용 결과와의 성능 평가 결과를 비교하였다. 그 결과, 단일처리 대비 연산 수행 속도 면에서 약 8.53배 성능이 향상됨을 확인하였다.

GPGPU를 위한 쉐이더 명령어기반 멀티 스레드 관리 기법 (Method of Multi Thread Management based on Shader Instruction for Mobile GPGPU)

  • 이광엽;박태룡
    • 전기전자학회논문지
    • /
    • 제16권4호
    • /
    • pp.310-315
    • /
    • 2012
  • 본 논문에서는 모바일환경에 최적화 된 멀티 스레드 모바일 GPGPU를 설계하고, 멀티 스레드로 구성된 모바일 프로세서에서의 효과적인 스레드 관리 기법을 검증한다. 스레드의 제어에는 별도의 하드웨어 없이 소프트웨어 명령어를 기반으로 설계하였다. 스레드 관리 기법의 검증은 차선 검출 알고리즘을 구현하여 nVidia의 CUDA Architecture와 설계한 GPGPU의 스레드 관리 효율을 비교 분석한다. 스레드 효율에서는 CUDA와 비교했을 때 최대 2배까지 높은 효율을 보인다.

CUDA 환경에서 CUSUM 검증의 병렬화 (Parallelization of CUSUM Test in a CUDA Environment)

  • 손창환;박우열;김형균;한경숙;표창우
    • 정보과학회 컴퓨팅의 실제 논문지
    • /
    • 제21권7호
    • /
    • pp.476-481
    • /
    • 2015
  • NIST통계적 난수 검증 모음에 속한 누적 합(CUSUM) 검증을 CUDA 환경에서 병렬화하였다. 배열 사유화를 적용하여 스칼라 변수에 저장하던 랜덤 워크(random walk) 값을 배열 변수에 저장하여 데이터 의존성을 제거하였다. 자료 구조 변경에 따라 알고리즘 각 단계에 병렬 스캔, 스캐터 및 병렬 축약 적용이 가능하게 되었다. 또한 CPU를 사용하여 진행되던 부분을 GPU가 담당하게 하여 두 프로세서 사이의 데이터 이동으로 인해 발생하는 직렬화를 해소하였다. 마지막으로 전역 메모리 접근을 최적화하여 전체적으로 순차적 구현 대비 약 23배에 달하는 성능 향상을 달성하였다. 이 결과는 검증 모음의 실행시간 단축과 더불어 암호 키 보안 향상을 위한 난수 연구에 기여할 것으로 예상된다.

CUDA를 이용한 Convolutional Neural Network의 효율적인 구현 (Efficient Implementation of Convolutional Neural Network Using CUDA)

  • 기철민;조태훈
    • 한국정보통신학회논문지
    • /
    • 제21권6호
    • /
    • pp.1143-1148
    • /
    • 2017
  • 현재 인공지능과 딥 러닝이 사회적인 이슈로 떠오르고 있는 추세이며, 다양한 분야에 이 기술들을 응용하고 있다. 인공지능 분야의 여러 알고리즘들 중에서 각광받는 방법 중 하나는 Convolutional Neural Network이다. Convolutional Neural Network를 적은 양의 데이터에서 이용하거나, Layer의 구조가 복잡하지 않은 경우에는 학습시간이 길지 않아 속도에 크게 신경 쓰지 않아도 되지만, 학습 데이터의 크기가 크고, Layer의 구조가 복잡할수록 학습시간이 상당히 오래 걸린다. 이로 인해 GPU를 이용하여 병렬처리를 하는 방법을 많이 사용하는데, 본 논문에서는 CUDA를 이용한 Convolutional Neural Network를 구현하였으며, 비교에 사용한 Framework/Program들 보다 학습속도가 빨라지고 큰 데이터를 학습 시키는데 더욱 효율적으로 진행하도록 한다.

일반적인 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 및 분할-정복 기반의 효율적인 다차원 척도법 (An Efficient Multidimensional Scaling Method based on CUDA and Divide-and-Conquer)

  • 박성인;황규백
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제16권4호
    • /
    • pp.427-431
    • /
    • 2010
  • 다차원 척도법(multidimensional scaling)은 고차원의 데이터를 낮은 차원의 공간에 매핑(mapping)하여 데이터 간의 유사성을 표현하는 방법이다. 이는 주로 자질 선정 및 데이터를 시각화하는 데 이용된다. 그러한 다차원 척도법 중, 전통 다차원 척도법(classical multidimensional scaling)은 긴 수행 시간과 큰 공간을 필요로 하기 때문에 객체의 수가 많은 경우에 대해 적용하기 어렵다. 이는 유클리드 거리(Euclidean distance)에 기반한 $n{\times}n$ 상이도 행렬(dissimilarity matrix)에 대해 고유쌍 문제(eigenpair problem)를 풀어야 하기 때문이다(단, n은 객체의 개수). 따라서, n이 커질수록 수행 시간이 길어지며, 메모리 사용량 증가로 인해 적용할 수 있는 데이터 크기에 한계가 있다. 본 논문에서는 이러한 문제를 완화하기 위해 GPGPU 기술 중 하나인 CUDA와 분할-정복(divide-and-conquer)기법을 활용한 효율적인 다차원 척도법을 제안하며, 다양한 실험을 통해 제안하는 기법이 객체의 개수가 많은 경우에 매우 효율적일 수 있음을 보인다.