• 제목/요약/키워드: Warp scheduler

검색결과 10건 처리시간 0.017초

KAWS: Coordinate Kernel-Aware Warp Scheduling and Warp Sharing Mechanism for Advanced GPUs

  • Vo, Viet Tan;Kim, Cheol Hong
    • Journal of Information Processing Systems
    • /
    • 제17권6호
    • /
    • pp.1157-1169
    • /
    • 2021
  • Modern graphics processor unit (GPU) architectures offer significant hardware resource enhancements for parallel computing. However, without software optimization, GPUs continuously exhibit hardware resource underutilization. In this paper, we indicate the need to alter different warp scheduler schemes during different kernel execution periods to improve resource utilization. Existing warp schedulers cannot be aware of the kernel progress to provide an effective scheduling policy. In addition, we identified the potential for improving resource utilization for multiple-warp-scheduler GPUs by sharing stalling warps with selected warp schedulers. To address the efficiency issue of the present GPU, we coordinated the kernel-aware warp scheduler and warp sharing mechanism (KAWS). The proposed warp scheduler acknowledges the execution progress of the running kernel to adapt to a more effective scheduling policy when the kernel progress attains a point of resource underutilization. Meanwhile, the warp-sharing mechanism distributes stalling warps to different warp schedulers wherein the execution pipeline unit is ready. Our design achieves performance that is on an average higher than that of the traditional warp scheduler by 7.97% and employs marginal additional hardware overhead.

슈퍼스칼라 구조를 갖지 않는 고성능 Stream Processor 설계 (A Design of a High Performance Stream Processor without Superscalar Architecture)

  • 이관호;김치용
    • 전기전자학회논문지
    • /
    • 제21권1호
    • /
    • pp.77-80
    • /
    • 2017
  • 본 논문에서는 기존의 superscalar GP-GPU 구조와 달리 superscalar issue를 제거하여 GP-GPU성능을 향상하는 방법을 제안한다. superscalar issue를 제거하기 위해 stream processor의 구조를 단순화했다. stream processor의 구조가 단순화 됨에 따라 하드웨어의 크기를 크게 늘리지 않고 thread 개 수가 늘려 성능을 개선하였다. thread 개수가 늘어남에 따라 thread의 묶음인 warp을 관리하는 warp scheduler 구조를 새롭게 제안하였다. 제안하는 warp scheduler는 superscalar issue가 제거 되어 있기 때문에 warp 활성화 정보를 통해 라운드 로빈 스케쥴링을 통해 활성화 된 warp에게 명령어를 전달한다. 성능 비교는 가우시안 필터링 연산을 사용하였으며 기존의 GP-GPU의 비해 7.89배의 성능향상을 보였다.

Latency Hiding based Warp Scheduling Policy for High Performance GPUs

  • Kim, Gwang Bok;Kim, Jong Myon;Kim, Cheol Hong
    • 한국컴퓨터정보학회논문지
    • /
    • 제24권4호
    • /
    • pp.1-9
    • /
    • 2019
  • LRR(Loose Round Robin) warp scheduling policy for GPU architecture results in high warp-level parallelism and balanced loads across multiple warps. However, traditional LRR policy makes multiple warps execute long latency operations at the same time. In cases that no more warps to be issued under long latency, the throughput of GPUs may be degraded significantly. In this paper, we propose a new warp scheduling policy which utilizes latency hiding, leading to more utilized memory resources in high performance GPUs. The proposed warp scheduler prioritizes memory instruction based on GTO(Greedy Then Oldest) policy in order to provide reduced memory stalls. When no warps can execute memory instruction any more, the warp scheduler selects a warp for computation instruction by round robin manner. Furthermore, our proposed technique achieves high performance by using additional information about recently committed warps. According to our experimental results, our proposed technique improves GPU performance by 12.7% and 5.6% over LRR and GTO on average, respectively.

작은 크기의 Warp 스케쥴러 기반 SIMT구조 고성능 모바일 GPGPU 설계 (Design of a High-Performance Mobile GPGPU with SIMT Architecture based on a Small-size Warp Scheduler)

  • 이광엽
    • 전기전자학회논문지
    • /
    • 제25권3호
    • /
    • pp.479-484
    • /
    • 2021
  • 본 논문은 SIMT구조의 GPGPU에서 적은 core수로 고성능을 달성하기 위한 구조를 제안하고 설계하였다. 모바일기기에 적용하기 위한 GPGPU는 소모전력대비 성능을 높이기 위한 구조가 필수적이다. 소모전력을 줄이기 위해서 core수가 줄어든 대신 성능을 높이기 위해 thread를 관리하기 위한 warp scheduler의 size를 4로 하여 일반적인 GPGPU의 32 보다 크게 줄였다. Warp size를 적게 되면 pipeline의 idle cycle수를 줄일 수 있고 cache 메모리 접근시 miss penalty를 줄이기 위한 memory latency 적용이 효율적이다. 설계된 GPGPU는 부동소수점 연산을 포함하는 테스트 프로그램으로 연산 성능을 측정하고 28nm CMOS공정으로 소비전력을 측정하여 전력당 성능지수로 104.5GFlops/Watt를 얻었다. 본 논문의 결과는 Nvidia의 Tegra K1과 비교하였을 때 약 4배 우수한 전력당 성능지수를 보였다.

GPU 성능 향상을 위한 MSHR 활용률 기반 동적 워프 스케줄러 (MSHR-Aware Dynamic Warp Scheduler for High Performance GPUs)

  • 김광복;김종면;김철홍
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제8권5호
    • /
    • pp.111-118
    • /
    • 2019
  • GPU는 병렬처리가 가능한 강력한 하드웨어 자원을 기반으로 높은 처리량을 제공한다. 하지만 과도한 메모리 요청이 발생하는 경우 캐쉬 효율이 낮아져 GPU 성능이 크게 감소할 수 있다. 캐쉬에서의 경합이 심각하게 발생한 경우 동시 처리되는 스레드의 수를 감소시킨다면 캐쉬에서의 경합이 완화되어 전체 성능을 향상시킬 수 있다. 본 논문에서는 캐쉬에서의 경합 정도에 따라 동적으로 병렬성을 조절할 수 있는 워프 스케줄링 기법을 제안한다. 기존 워프 스케줄링 정책 중 LRR은 GTO에 비해 워프 수준의 병렬성이 높다. 따라서 제안하는 워프 스케줄러는 L1 데이터 캐쉬 경합 정도를 반영하는 MSHR(Miss Status Holding Register)이 낮은 자원 활용률을 보일 때 LRR 정책을 적용한다. 반대로 MSHR 자원 활용률이 높을 때는 워프 수준의 병렬성을 낮추기 위해 GTO 정책을 적용하여 워프 우선순위를 결정한다. 제안하는 기법은 동적으로 스케줄링 정책을 선택하기 때문에 기존의 고정된 LRR과 GTO에 비해 높은 IPC 성능과 캐쉬 효율을 보여준다. 실험 결과 제안하는 동적 워프 스케줄링 기법은 LRR 정책에 비해 약 12.8%, GTO 정책에 비해 약 3.5% IPC 향상을 보인다.

병렬 알고리즘의 가속화를 위한 GP-GPU의 Thread할당 기법 (Thread Distribution Method of GP-GPU for Accelerating Parallel Algorithms)

  • 이관호;김치용
    • 전기전자학회논문지
    • /
    • 제21권1호
    • /
    • pp.92-95
    • /
    • 2017
  • 본 논문에서는 적은 면적의 GP-GPU에서 성능을 향상시키기 위한 방법을 제안한다. 본 논문에서는 superscalar와 같이 과도하게 스케줄링 복잡성을 증가시키지 않는 대신 단순한 코어의 수를 늘려 성능을 극대화 시키는 방법을 제안한다. GP-GPU를 구성하는 Stream Processor의 구조를 단순화한다. 또한, Warp Schedule에서 thread 할당을 어플리케이션에 적합한 방법을 개발하여 성능을 개선한다. 성능을 검증하는 방안으로 neural network의 한 분야인 딥러닝에 대한 스레드 할당방식을 제안한다. Neural Network 알고리즘의 경우 Intel CPU 대비 90%에서 ARM Cortex-A15 4 core 대비 98% 성능 향상을 확인할 수 있었다.

GPGPU 자원 활용 개선을 위한 블록 지연시간 기반 워프 스케줄링 기법 (A Novel Cooperative Warp and Thread Block Scheduling Technique for Improving the GPGPU Resource Utilization)

  • ;최용;김종면;김철홍
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제6권5호
    • /
    • pp.219-230
    • /
    • 2017
  • 멀티스레딩 기법이 적용된 GPGPU는 내부 병렬 자원들을 기반으로 데이터를 고속으로 처리하고 메모리 접근시간을 감소시킬 수 있다. CUDA, OpenCL 등과 같은 프로그래밍 모델을 활용하면 스레드 레벨 처리를 통해 응용프로그램의 고속 병렬 수행이 가능하다. 하지만, GPGPU는 범용 목적의 응용프로그램을 수행함에 있어 내부 하드웨어 자원들을 효과적으로 사용하지 못한다는 단점을 보이고 있다. 이는 GPGPU에서 사용하는 기존의 워프/스레드 블록 스케줄러가 메모리 접근시간이 긴 명령어를 처리하는데 있어서 비효율적이기 때문이다. 이와 같은 문제점을 해결하기 위해 본 논문에서는 GPGPU 자원 활용률을 개선하기 위한 새로운 워프 스케줄링 기법을 제안하고자 한다. 제안하는 워프 스케줄링 기법은 스레드 블록의 워프들 중 긴 메모리 접근시간을 가진 워프와 짧은 메모리 접근시간을 가진 워프들을 구분한 후, 긴 메모리 접근시간을 가진 워프를 우선 할당하고, 짧은 메모리 접근시간을 가진 워프를 나중에 할당하여 처리한다. 또한, 메모리와 내부 연결망에서 높은 경합이 발생했을 때 동적으로 스트리밍 멀티프로세서의 수를 감소시켜 워프 스케줄러를 효과적으로 사용할 수 있는 기법도 제안한다. 실험결과에 따르면, 15개의 스트리밍 멀티프로세서를 가진 GPGPU 플랫폼에서 제안된 워프 스케줄링 기법은 기존의 라운드로빈 워프 스케줄링 기법과 비교하여 평균 7.5%의 성능(IPC)이 향상됨을 확인할 수 있다. 또한, 제안된 두 개의 기법을 동시에 적용하였을 경우에는 평균 8.9%의 성능(IPC) 향상을 보인다.

SIMT구조 GP-GPU의 명령어 처리 성능 향상을 위한 Dispatch Unit과 Operand Selection Unit설계 (Design of a Dispatch Unit & Operand Selection Unit for Improving the SIMT Based GP-GPU Instruction Performance)

  • 곽재창
    • 전기전자학회논문지
    • /
    • 제19권3호
    • /
    • pp.455-459
    • /
    • 2015
  • 본 논문은 그래픽 처리 뿐 만 아니라 범용 연산의 가속화를 지원하기 위한 SIMT 구조 GP-GPU의 Dispatch Unit과 Operand Selection Unit을 제안한다. Warp Scheduler로부터 발행된 명령어에서 사용되는 Operand의 모든 정보를 Decoding 하면 불필요한 Operand Load가 발생하여 레지스터 부하가 발생 한다. 이러한 문제점을 해결하기 위해 Pre-decoding방법을 사용하여 Operand의 정보만을 먼저 Decoding 하여 Operand Load를 줄이고, 레지스터의 부하를 줄일 수 있는 방법을 제안한다. 제안하는 Dispatch Unit에서 나온 Operand 정보들을 레지스터 뱅크 충돌을 방지하는 방법을 적용한 Operand Selection Unit에 전달해 전체적인 처리 성능을 향상 시켰다. Modelsim 10.0b를 이용하여 Warp Scheduler로부터 발행된 10,000개의 임의의 명령어를 처리하여 소요되는 총 Clock Cycle을 측정하였다. 본 논문에서 제안한 Pre-Decoding 기능을 탑재한 Dispatch Unit과 Operand Selection Unit을 적용하여 기존의 방법들 보다 각각 약 11%, 24%의 처리 효율이 증가한 것을 확인 할 수 있었다.

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% 증가한다.

An IPC-based Dynamic Cooperative Thread Array Scheduling Scheme for GPUs

  • Son, Dong Oh;Kim, Jong Myon;Kim, Cheol Hong
    • 한국컴퓨터정보학회논문지
    • /
    • 제21권2호
    • /
    • pp.9-16
    • /
    • 2016
  • Recently, many research groups have focused on GPGPUs in order to improve the performance of computing systems. GPGPUs can execute general-purpose applications as well as graphics applications by using parallel GPU hardware resources. GPGPUs can process thousands of threads based on warp scheduling and CTA scheduling. In this paper, we utilize the traditional CTA scheduler to assign a various number of CTAs to SMs. According to our simulation results, increasing the number of CTAs assigned to the SM statically does not improve the performance. To solve the problem in traditional CTA scheduling schemes, we propose a new IPC-based dynamic CTA scheduling scheme. Compared to traditional CTA scheduling schemes, the proposed dynamic CTA scheduling scheme can increase the GPU performance by up to 13.1%.