• 제목/요약/키워드: Graphic processing unit

검색결과 117건 처리시간 0.028초

PyCUDA 프레임워크에서 볼륨 렌더링을 구현하기 위한 새로운 커널 디자인 (Novel Kernel Design for Implementing Volume Rendering in the PyCUDA Framework)

  • 이수호;김종현
    • 한국컴퓨터정보학회:학술대회논문집
    • /
    • 한국컴퓨터정보학회 2022년도 제65차 동계학술대회논문집 30권1호
    • /
    • pp.349-351
    • /
    • 2022
  • 본 논문에서는 계산양이 큰 볼륨 렌더링을 구현할 수 있는 파이썬 기반의 CUDA(Computed Unified Device Architecture) 커널(Kernel) 디자인에 대해서 소개한다. 최근에 파이썬은 인공지능뿐만 아니라 서버, 보안, GUI, 데이터 시각화, 빅 데이터 처리 등 다양한 분야에서 활용이 되고 있기 때문에 인터페이스만을 위한 언어라는 색을 탈피한지 오래이다. 본 논문에서는 대용량 병렬처리 기법인 NVIDIA의 CUDA를 이용하여 파이썬 환경에서 커널을 디자인하고, 계산양이 큰 볼륨 렌더링이 빠르게 계산되는 결과를 보여준다. 결과적으로 C언어 기반의 CUDA뿐만 아니라, 상대적으로 개발이 효율적인 파이썬 환경에서도 GPU(Graphic Processing Unit)기반 애플리케이션 개발이 가능하다는 것을 볼륨 렌더링을 통해 보여준다.

  • PDF

CPU-GPU 메모리 계층을 고려한 고처리율 병렬 KMP 알고리즘 (High Throughput Parallel KMP Algorithm Considering CPU-GPU Memory Hierarchy)

  • 박소은;김대희;이명호;박능수
    • 전기학회논문지
    • /
    • 제67권5호
    • /
    • pp.656-662
    • /
    • 2018
  • Pattern matching algorithm is widely used in many application fields such as bio-informatics, intrusion detection, etc. Among many string matching algorithms, KMP (Knuth-Morris-Pratt) algorithm is commonly used because of its fast execution time when using large texts. However, the processing speed of KMP algorithm is also limited when the text size increases significantly. In this paper, we propose a high throughput parallel KMP algorithm considering CPU-GPU memory hierarchy based on OpenCL in GPGPU (General Purpose computing on Graphic Processing Unit). We focus on the optimization for the allocation of work-times and work-groups, the local memory copy of the pattern data and the failure table, and the overlapping of the data transfer with the string matching operations. The experimental results show that the execution time of the optimized parallel KMP algorithm is about 3.6 times faster than that of the non-optimized parallel KMP algorithm.

그래픽 프로세서를 이용한 탄성파 수치모사의 계산속도 향상 (Acceleration of computation speed for elastic wave simulation using a Graphic Processing Unit)

  • Nakata, Norimitsu;Tsuji, Takeshi;Matsuoka, Toshifumi
    • 지구물리와물리탐사
    • /
    • 제14권1호
    • /
    • pp.98-104
    • /
    • 2011
  • 탐사 지구물리학에서 수치 모사는 지하매질에서의 탄성파 전파 현상을 이해하는데 중요한 통찰력을 제공한다. 탄성파 모사는 음향파 근사에 의한 수치 모사보다 계산시간이 많이 소요되지만 전단응력 성분을 포함하여 보다 현실적인 파동의 모사를 가능하게 한다. 그러므로 탄성파 모사는 탄성체의 반응을 탐사하는데 적합하다고 할 수 있다. 계산 시간이 길다는 단점을 극복하기 위해 본 논문에서는 그래픽 프로세서(GPU)를 이용하여 탄성파 수치 모사 시간을 단축하고자 하였다. GPU는 많은 수의 프로세서와 광대역 메모리를 갖고 있기 때문에 병렬화된 계산 아카텍쳐에서 사용할 수 있는 장점이 있다. 본 연구에서 사용한 GPU 하드웨어는 NVIDIA Tesla C1060으로 240개의 프로세서로 구성되어 있으며 102 GB/s의 메모리 대역폭을 갖고 있다. NVIDIA에서 개발된 병렬계산 아카텍쳐인 CUDA를 사용할 수 있음에도 불구하고 계산효율을 상당히 향상시키기 위해서는 GPU 장치의 여러 가지 다양한 메모리의 사용과 계산 순서를 최적화해야만 한다. 본 연구에서는 GPU 시스템에서 시간영역 유한차분법을 이용하여 2차원과 3차원 탄성과 전파를 수치 모사하였다. 파동전파 모사에 가장 널리 사용되는 유한차분법 중의 하나인 엇갈린 격자기법을 채택하였다. 엇갈린 격자법은 지구물리학 분야에서 수치 모델링을 위해 사용하기에 충분한 정확도를 갖고 있는 것으로 알려져 있다. 본 논문에서 제안한 모델링기법은 자료 접근 시간을 단축하기 위해 GPU 장치를 메모리 사용을 최적화하여 가능한 더 빠른 메모리를 사용한다. 이점이 GPU를 이용한 계산의 핵심 요소이다. 하나의 GPU 장치를 사용하고 메모리 사용을 최적화함으로써 단일 CPU를 이용할 경우보다 2차원 모사에서는 14배 이상, 3차원에서는 6배 이상 계산시간을 단축할 수 있었다. 세 개의 GPU를 사용한 경우에는 3차원 모사에서 계산효율을 10배 향상시킬 수 있었다.

GPGPU 기반의 변위증분 방법을 이용한 중간시점 고속 생성 (Fast Generation of Intermediate View Image Using GPGPU-Based Disparity Increment Method)

  • 구자명;서영호;김동욱
    • 한국정보통신학회논문지
    • /
    • 제17권8호
    • /
    • pp.1908-1918
    • /
    • 2013
  • 자유시점 또는 오토스테레오스코픽 비디오 서비스는 3차원 영상을 제공하는 차세대 방송 시스템으로, 여러 시점의 영상들이 필요하다. 본 논문에서는 가상 시점 영상을 고속 생성하기 위해 알고리즘 병렬 구조를 최적화하고, Compute Unified Device Architecture(CUDA)를 이용한 General Propose Graphic Processing Unit(GPGPU) 기반의 중간시점 영상 고속 생성을 위한 최적화 기법을 제안한다. 제안한 방법은 좌/우 깊이영상을 병렬화시킨 스테레오 정합알고리즘을 이용하여 변위정보를 얻은 후, 깊이 당 변위증분을 계산하여 사용한다. 계산된 변위증분을 사용하여 해당 각 화소들의 깊이 값을 이용하여 좌/우 영상들을 원하는 위치의 중간시점으로 영상을 이동시킨다. 그 다음, 비폐색영역들을 서로 상호 보완하여 없앤 다음에 남은 홀들은 홀 필링으로 없애 최종 중간시점 영상을 생성한다. 제안한 방법을 구현하여 여러 실험 영상에 적용한 결과, 생성된 중간시점 깊이영상의 화질은 평균 PSNR 30.47dB이었으며, Full HD급 중간시점 영상을 초당 38 프레임 정도 생성하는 속도를 보였다.

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%의 성능 향상을 보여준다.

CUDA와 OPenMP를 이용한 빠르고 효율적인 신경망 구현 (Fast and Efficient Implementation of Neural Networks using CUDA and OpenMP)

  • 박안진;장홍훈;정기철
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제36권4호
    • /
    • pp.253-260
    • /
    • 2009
  • 컴퓨터 비전이나 패턴 인식 분야에서 이용되고 있는 많은 알고리즘들이 최근 빠른 수행시간을 위해 GPU에서 구현되고 있지만, GPU를 이용하여 알고리즘을 구현할 경우 크게 두 가지 문제점을 고려해야 한다. 첫째, 컴퓨터 그래픽스 분야의 지식이 필요한 쉐이딩(shading) 언어를 알아야 한다. 둘째, GPU를 효율적으로 활용하기 위해 CPU와 GPU간의 데이터 교환을 최소화해야 한다. 이를 위해 CPU는 GPU에서 처리할 수 있는 최대 용량의 데이터를 생성하여 GPU에 전송해야 하기 때문에 CPU에서 많은 처리시간을 소모하며, 이로 인해 CPU와 GPU 사이에 많은 오버헤드가 발생한다. 본 논문에서는 그래픽 하드웨어와 멀티코어(multi-core) CPU를 이용한 빠르고 효율적인 신경망 구현 방법을 제안한다. 기존 GPU의 첫 번째 문제점을 해결하기 위해 제안된 방법은 복잡한 쉐이팅 언어 대신 그래픽스적인 기본지식 없이도 GPU를 이용하여 응용프로그램 개발이 가능한 CUDA를 이용하였다. 두 번째 문제점을 해결하기 위해 멀티코어 CPU에서 공유 메모리 환경의 병렬화를 수행할 수 있는 OpenMP를 이용하였으며, 이의 처리시간을 줄여 CPU와 GPU 환경에서 오버 헤드를 최소화할 수 있다. 실험에서 제안된 CUDA와 OpenMP기반의 구현 방법을 신경망을 이용한 문자영역 검출 알고리즘에 적용하였으며, CPU에서의 수행시간과 비교하여 약 15배, GPU만을 이용한 수행시간과 비교하여 약 4배정도 빠른 수행시간을 보였다.

GPU 작업 배치의 효율화를 위한 자원 이용률 상세 분석 (Analyzing Fine-Grained Resource Utilization for Efficient GPU Workload Allocation)

  • 박윤주;신동희;조경운;반효경
    • 한국인터넷방송통신학회논문지
    • /
    • 제19권1호
    • /
    • pp.111-116
    • /
    • 2019
  • 최근 GPU가 그래픽 처리뿐 아니라 다양한 분야의 병렬 처리로 그 영역을 넓혀가고 있다. 그러나, 현재 GPU는 워크로드의 다양성을 반영하기보다 간결한 제어 구조를 통한 개별 워크로드의 병렬성 극대화에 초점을 맞추고 있다. 본 논문은 워크로드 특성을 반영한 GPU 작업 배치를 위해 GPU에서 수행되는 워크로드의 자원 사용 특성을 컴퓨팅 바운드형, 메모리 바운드형, 실행종속 지연형으로 분류한 후, 각 분류에서 병목점이 되는 세부 자원을 규명한다. 예를 들어 컴퓨팅 바운드형의 경우 단정밀도 연산장치, 배정밀도 연산장치, 특수함수 연산장치 등 병목 자원이 무엇인지 분석한다. 본 논문의 분석 결과는 동일한 컴퓨팅 바운드형 워크로드라도 병목이 되는 세부 자원이 다를 경우 함께 배치하는 것이 성능 충돌을 일으키지 않는다는 점을 규명하여 GPU 작업배치의 효율화에 기여할 것으로 기대된다.

조선해양 설계분야에서 협업시스템을 위한 프레임워크의 설계 및 구현 (Design and Implementation of a Framework for Collaboration Systems in the Shipbuilding and Marine Industry)

  • 윤문경;김현주;박민길;한명기;김완규
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국정보통신학회 2015년도 춘계학술대회
    • /
    • pp.270-273
    • /
    • 2015
  • 조선 해양산업에서 엔지니어링 설계시스템은 사용 데이터의 대량화와 실시간성으로 인하여 이전의 2D CAD(2차원 CAD)의 한계와 문제점에서 벗어나 최근에는 3D CAD(3차원 CAD) 환경으로 발전해오고 있다. 그러나 3D CAD 환경에서는 다양한 엔지니어링 모델 정보와 그래픽 데이터가 늘어남에 따라 서버의 자원 지원에 대한 부하가 크게 발생될 뿐만 아니라, 3D CAD로 제작한 설계 모델을 자유롭게 핸들링 할 수 없는 문제점이 있다. 또한 사용자 측면에서는 서버 당 접속 세션이 늘어남에 따라 전반적인 성능저하가 초래된다. 따라서 네트워크 퍼포먼스에 대한 효율적인 협업 환경을 지원하는 엔지니어링 설계시스템의 필요성이 제기되고 있다. 본 논문에서는 높은 그래픽 처리 능력과 공유 기술이 뛰어난 가상화 솔루션 시트릭스 젠앱 6.5(Citrix XenApp)와 강화된 GPU(Graphic Processing Unit) 하드웨어 가속 기술을 적용한 NVIDIA GRID(엔비디아 그리드) K2 솔루션을 적용함으로써 효율적인 엔지니어링 협업 설계시스템을 위한 프레임워크를 설계하고 구현하였다.

  • PDF

GPU용 연산 라이브러리 CUDA를 이용한 블록암호 고속 구현 (High-Speed Implementations of Block Ciphers on Graphics Processing Units Using CUDA Library)

  • 염용진;조용국
    • 정보보호학회논문지
    • /
    • 제18권3호
    • /
    • pp.23-32
    • /
    • 2008
  • 그래픽 프로세서(GPU)의 연산 능력은 이미 CPU를 능가하고 있으며, 그 격차는 점점 벌어지고 있다. 따라서, 범용 계산에 그래픽 프로세서를 활용하는 GPGPU 연구가 활발히 전개되고 있으며, 병렬 처리가 필요한 분야에서 특히 두드러진 성과를 보이고 있다. GPU를 이용한 암호 알고리즘의 구현은 2005년 Cook 등에 의하여 처음 시도되었으며, OpenGL, DirectX 등의 라이브러리를 이용하여 개선된 결과들이 속속 발표되고 있다. 본 논문에서는 2007년 발표된 NVIDIA의 CUDA 라이브러리를 이용한 블록암호 구현 기법과 그 결과를 소개하고자한다. 또한, 소프트웨어로 구현된 블록암호 소스를 GPU 프로그램으로 이식하는 일반적인 방법을 제공하고자 한다. 8800GTX GPU에서 블록암호 AES, ARIA, DES를 구현했으며, 속도는 각각 4.5Gbps, 7.0Gbps, 2.8Gbps로 CPU보다 고속 구현이 가능하였다.

버스기반의 VLIW형 프로세서를 위한 최적화 컴파일러 구현 (Implementation of Optimizing Compiler for Bus-based VLIW Processors)

  • 홍승표;문수묵
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제27권4호
    • /
    • pp.401-407
    • /
    • 2000
  • 최근의 고성능 프로세서들은 명령어 수준의 병렬처리(Instruction Level Parallel Processing) 를 이용하여 성능향상을 꾀하고 있다. 특히 컴파일러의 도움을 받는 VLIW(Very Long Instruction Word) 방식의 프로세서는 고성능 DSP 및 그래픽 프로세싱 등 특수한 분야에서 사용이 증가하고 있다. 이러한 특수 목적의 프로세서 구조로서 버스 기반의 VLIW 구조가 제안되었으며[2], 이는 포워딩 하드웨어의 부담과 명령어 폭을 줄여주는 장점을 갖는다. 본 논문에서는 제안된 버스 기반의 VLIW 프로세서를 위해 개발된 최적화 스케쥴링 컴파일러를 소개한다. 우선 버스간 연결 및 자원사용을 모델링 하는 기법을 설명하고 이를 바탕으로 레지스터-버스 승진, 복사자 융합, 오퍼랜드 대체 등의 기계 의존적인 최적화 기법과 선택 스케쥴링, EPS(Enhanced Pipelining Scheduling) 기법 등 VLIW 스케쥴링 기법을 어떻게 구현했는지 설명한다. 이러한 최적화 기법들을 멀티미디어 응용 프로그램에 대하여 적용하여 보았고 약 20%의 성능향상을 보임을 확인하였다.

  • PDF