• 제목/요약/키워드: Many-core Processors

검색결과 36건 처리시간 0.02초

최적화된 CUDA 소프트웨어 제작을 위한 프로그래밍 기법 분석 (Analysis of Programming Techniques for Creating Optimized CUDA Software)

  • 김성수;김동헌;우상규;임인성
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제16권7호
    • /
    • pp.775-787
    • /
    • 2010
  • GPU(Graphics Processing Unit)는 범용 CPU와는 달리 다수코어 스트리밍 프로세서(manycore streaming processor) 형태로 특화되어 발전되어 왔으며, 최근 뛰어난 병렬 처리 연산 능력으로 인하여 점차 많은 영역에서 CPU의 역할을 대체하고 있다. 이러한 추세에 따라 최근 NVIDIA 사에서는 GPGPU(General Purpose GPU) 아키텍처인 CUDA(Compute Unified Device Architecture)를 발표하여 보다 유연한 GPU 프로그래밍 환경을 제공하고 있다. 일반적으로 CUDA API를 사용한 프로그래밍 작업시 GPU의 계산구조에 관한 여러 가지 요소들에 대한 특성을 정확히 파악해야 효율적인 병렬 소프트웨어를 개발할 수 있다. 본 논문에서는 다양한 실험과 시행착오를 통하여 획득한 CUDA 프로그래밍에 관한 최적화 기법에 대하여 설명하고, 그러한 방법들이 프로그램 수행의 효율에 어떠한 영향을 미치는지 알아본다. 특히 특정 예제 문제에 대하여 효과적인 계층 구조 메모리의 접근과 코어 활성화 비율(occupancy), 지연 감춤(latency hiding) 등과 같이 성능에 영향을 미치는 몇 가지 규칙을 실험을 통해 분석해봄으로써, 향후 CUDA를 기반으로 하는 효과적인 병렬 프로그래밍에 유용하게 활용할 수 있는 구체적인 방안을 제시한다.

멀티 코어 시스템에서 통신 프로세스의 동적 스케줄링 (Dynamic Scheduling of Network Processes for Multi-Core Systems)

  • 장혜천;진현욱;김학영
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제15권12호
    • /
    • pp.968-972
    • /
    • 2009
  • 멀티 코어 프로세서는 현재 많은 고성능 서버에 적용되어 사용되고 있다. 최근 이들 서버는 점차 높은 네트워크 대역폭 활용을 요구하고 있다. 이러한 요구를 만족시키기 위해서는 멀티 코어를 효율적으로 활용하여 네트워크 처리율을 향상시키는 방안이 필요하다. 그러나 현재 운영체제들은 멀티 코어 시스템을 멀티 프로세서 환경과 거의 동일하게 다루고 있으며 아직 멀티 코어의 고유 특성을 고려한 성능 최적화 시도는 미흡한 상태이다. 이러한 문제를 해결하기 위해서 본 논문에서는 멀티 코어의 특성을 최대한으로 고려하여 프로세스 스케줄링을 결정함으로써 통신 성능을 향상시키는 방안에 대해서 연구한다. 제안되는 프로세스 스케줄링은 멀티 코어 프로세서의 캐쉬 구조, 프로세스의 통신 집중도, 그리고 각 코어의 부하를 기반으로 해당 프로세스에게 최적의 코어를 결정하고 스케줄링한다. 제안된 기법은 리눅스 커널에 구현되었으며 측정 결과는 최신 리눅스 커널의 네트워크 처리율을 20%까지 향상시켰으며 프로세서 자원은 55% 더 절약할 수 있음을 보인다.

GPGPU 기반의 효율적인 카메라 ISP 구현 (Implementing Efficient Camera ISP Filters on GPGPUs Using OpenCL)

  • 박종태;;홍진건
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2010년도 추계학술발표대회
    • /
    • pp.1784-1787
    • /
    • 2010
  • General Purpose Graphic Processing Unit (GPGPU) computing is a technique that utilizes the high-performance many-core processors of high-end graphic cards for general-purpose computations such as 3D graphics, video/image processing, computer vision, scientific computing, HPC and many more. GPGPUs offer a vast amount of raw computing power, but programming is extremely challenging because of hardware idiosyncrasies. The open computing language (OpenCL) has been proposed as a vendor-independent GPGPU programming interface. OpenCL is very close to the hardware and thus does little to increase GPGPU programmability. In this paper we present how a set of digital camera image signal processing (ISP) filters can be realized efficiently on GPGPUs using OpenCL. Although we found ISP filters to be memory-bound computations, our GPGPU implementations achieve speedups of up to a factor of 64.8 over their sequential counterparts. On GPGPUs, our proposed optimizations achieved speedups between 145% and 275% over their baseline GPGPU implementations. Our experiments have been conducted on a Geforce GTX 275; because of OpenCL we expect our optimizations to be applicable to other architectures as well.

저부하 멀티코어 프로세서에서 주기적 실시간 작업들의 저전력 스케쥴링 (Power-efficient Scheduling of Periodic Real-time Tasks on Lightly Loaded Multicore Processors)

  • 이완연
    • 한국컴퓨터정보학회논문지
    • /
    • 제17권8호
    • /
    • pp.11-19
    • /
    • 2012
  • 본 논문에서는 작업 개수보다 프로세싱 코어 개수가 많은 저부하 멀티코어 프로세서에 적합한 실시간 작업용 저전력 스케쥴링 기법을 제안하였다. 제시된 기법을 시스템상에 존재하는 모든 프로세싱 코어들을 사용하지 않고, 주어진 작업들의 전체 계산량을 고려하여 일부의 프로세싱 코어들만을 사용하고 나머지 사용하지 않는 코어들의 전원을 소등하여 전력소모량을 줄였다. 또한 휴리스틱 기법을 사용하여 주어진 작업들을 프로세싱 코어들에게 빠르게 배치하였다. 마지막을 각각의 프로세싱 코어는 배치된 작업들의 데드라인 모두 만족하면서 전력소모량을 최소화하도록 프로세싱 코어에 적용되는 최적의 클락 주파수를 선택하여 사용하였다. 제시된 스케쥴링 기법과 기존의 프로세싱 코어들을 최대한 많이 사용하는 방법을 비교하는 실험에서, 제시된 기법이 기존 방법의 전력소모량을 최대 78%까지 감소시킴을 확인하였다.

멀티미디어 데이터 처리에 적합한 SIMD MAC 연산기의 설계 (SIMD MAC Unit Design for Multimedia Data Processing)

  • 홍인표;정우경;정재원;이용석
    • 대한전자공학회논문지SD
    • /
    • 제38권12호
    • /
    • pp.44-55
    • /
    • 2001
  • MAC(Multiply and ACcumulate) 연산은 DSP와 멀티미디어 데이터 처리의 핵심이 되는 연산이다. 기존의 DSP 혹은 내장형 프로세서의 MAC 연산기들은 주로 3사이클의 latency를 가지며, 한번에 하나씩의 데이터를 처리하므로 성능에 한계를 보인다. 따라서 고성능의 범용 프로세서들은 SIMD(Single Instruction Multiple Data) 연산을 지원하는 MAC 연산기를 실행 유닛으로 내장하는 추세이다. 하지만 이러한 고성능의 연산기는 고성능 범용 프로세서의 특성상 다양한 동작 모드를 지원해야 하고 clock 주파수가 높아야 하므로 파이프라인 기법을 사용하고 이에 따른 컨트롤이 복잡하여 하드웨어 설계가 까다롭고 면적이 큰 문제가 있다. 본 논문에서는 내장형 프로세서에 적합한 64비트 폭을 갖는 SIMD MAC 연산기를 설계하였다. 한 사이클에 누적연산까지 모두 완료하도록 하여 파이프라인 제어의 필요성을 없앴고, 기존의 Booth 곱셈기 구조에 기반하여 약간의 회로 추가로 SIMD 연산이 가능하도록 하였다.

  • PDF

RISC 기반 DSP 프로세서 아키텍쳐의 성능 평가 (A Performance Evaluation of a RISC-Based Digital Signal Processor Architecture)

  • 강지랑;이종복;성원용
    • 전자공학회논문지C
    • /
    • 제36C권2호
    • /
    • pp.1-13
    • /
    • 1999
  • 디지털 신호처리용 응용 프로그램의 복잡도가 증가햐면서, 효율적인 컴파일러를 지원하는 DSP 프로세서 구조의 필요성이 증대되고 있다. 많은 범용 레지스터와 직교적(orthogonal)인 명령어 집합을 가지는 RISC프로세서 구조에 메모리 오퍼랜드, 전용 어드레스 계산 유닛, 단일 사이클 MAC 명령어, zero-overhead 하드웨어 루프 등 DSP 프로세서의 구조적 특징을 가하여 효율적인 컴파일러를 가지는 고성능의 RISC 기반 DSP를 구현할 수 있다. 본 논문에서는 이 네 가지 DSP 아키텍쳐 구성 요소를 지원하는 코드변환기를 개발하고, 이를 이용하여 각각의 DSP 아키텍쳐 구성 요소들을 보완하였을 때 성능에 미치는 영향을 정량적으로 평가하였다. 성능 평가 실험에는 C 언어로 작성된 7개의 DSP 벤치마크 프로그램과 QCELP 음성 부호화기를 이용하였으며, 평가 결과를 RISC 프로세서뿐만 아니라 Texas Instruments 사의 TMS320C3x, TMS320C54x, TMS320C5x DSP 프로세서와 비교하였다.

  • PDF