Skip to main content
QUICK REVIEW

[논문 리뷰] Reordering GPU Kernel Launches to Enable Efficient Concurrent Execution

Teng Li, Vikram K. Narayana|arXiv (Cornell University)|2015. 11. 25.
Parallel Computing and Optimization Techniques참고 문헌 8인용 수 3
한 줄 요약

이 논문은 커널을 수정하지 않고 독립적인 커널을 실행하는 순서를 최적화하여 GPU에서 동시 실행을 극대화하는 커널 실행 순서 재정렬 기법을 제안한다. 실행 라운드 간 레지스터, 공유 메모리, 워프 등 자원 활용도와 명령어 대 메모리 비율을 균형 잡음으로써, 근사 최적의 성능을 달성한다—순열 공간에서 94.8번째 백분율 이상 순위를 기록하고 최악의 순서 대비 최대 5.185배의 성능 향상을 제공한다.

ABSTRACT

Contemporary GPUs allow concurrent execution of small computational kernels in order to prevent idling of GPU resources. Despite the potential concurrency between independent kernels, the order in which kernels are issued to the GPU will significantly influence the application performance. A technique for deriving suitable kernel launch orders is therefore presented, with the aim of reducing the total execution time. Experimental results indicate that the proposed method yields solutions that are well above the 90 percentile mark in the design space of all possible permutations of the kernel launch sequences.

연구 동기 및 목표

  • GPU에서 동시 커널 실행을 지원함에도 불구하고 비최적의 커널 실행 순서로 인한 성능 저하 문제를 해결한다.
  • CUDA 스트림에서 교환 가능하지 않은 동시성으로 인한 잘못된 종속성과 자원 미사용 문제를 해결한다.
  • SM 자원 활용도를 극대화하고 실행 라운드 수를 최소화하도록 커널 실행 순서를 재정렬하는 스케줄링 알고리즘을 개발한다.
  • 각 실행 라운드 내에서 커널 간 계산과 메모리 액세스 비율(Inst/Mem)을 균형 잡음으로써 전체 GPU 실행 시간을 향상시킨다.
  • 소스 코드 수정이나 커널 변환 없이도 적용 가능한 커널 무관(커널-agnostic) 솔루션을 제공한다.

제안 방법

  • 각 커널의 프로파일링 데이터(N_tblk_i, N_reg_i, N_shm_i, N_warp_i, R_i)를 분석하여 자원 및 균형 지표를 계산한다.
  • 자원 활용도와 각 실행 라운드에서의 R_comb(통합 Inst/Mem 비율)에 대한 영향을 종합적으로 고려해 커널 쌍의 순위를 매기는 점수 행렬을 사용한다.
  • 자원 활용도와 균형을 극대화하는 조합을 우선순위로 삼아, 탐욕 알고리즘을 적용해 차례로 커널을 실행 라운드에 할당한다.
  • 각 실행 라운드가 SM 자원 한계(N_reg_SM, N_shm_SM, N_warp_SM, N_blk_SM)를 초과하지 않도록 보장하며, 자원이 소진된 경우에만 라운드를 개방한다.
  • 각 라운드의 통합 R_comb는 다음과 같이 계산한다: R_comb = 총 명령어 수 / (4 × (글로벌 스토어 수 + L1 캐시 로드 미스 수)).
  • 모든 커널이 스케줄링될 때까지 현재 라운드에서 점수가 가장 높은 커널을 선택해 반복적으로 커널 시퀀스를 구축한다.

실험 결과

연구 질문

  • RQ1동일한 GPU에 여러 독립 커널이 스케줄링될 때 커널 실행 순서가 GPU 실행 시간에 어떤 영향을 미치는가?
  • RQ2SM 자원 활용도와 메모리/계산 비율을 균형 잡음으로써 커널 실행 순서 재정렬이 동시 실행을 얼마나 향상시킬 수 있는가?
  • RQ3커널 코드를 수정하지 않고도 랜덤 또는 단순 순서보다 커널 무관 순서 재정렬 전략이 뛰어난 성능을 낼 수 있는가?
  • RQ4히우리스틱 기반의 실행 순서 재정렬 알고리즘이 다양한 GPU 워크로드에서 최적 순열에 얼마나 가까이 도달할 수 있는가?
  • RQ5공유 메모리, 격자 크기, 블록 크기의 변화가 실행 순서 재정렬의 효과성에 어떤 영향을 미치는가?

주요 결과

  • 제안된 알고리즘은 EpBsEsSw-8 실험에서 전체 40,320개 순열 중 중앙값으로 94.8번째 백분율 순위를 기록하여 근사 최적의 행동을 보였다.
  • 8개 커널이 4개의 다른 응용 프로그램에서 온 EpBsEsSw-8 워크로드에서, 알고리즘은 최악의 실행 순서 대비 5.185배의 성능 향상을 달성했다.
  • EP-6-shm 실험에서는 91.5번째 백분율 순위를 기록했고, 최적 실행 시간에서 4.21% 이내의 편차를 보였다.
  • 알고리즘은 항상 랜덤 순서보다 뛰어나며, 랜덤 순서 대비 최소 16.1% 성능 향상을 달성할 가능성이 50% 이상이었다.
  • 공유 메모리, 격자 크기, 블록 크기의 변화가 포함된 모든 여섯 개의 벤치마크 실험에서, 알고리즘은 96.5% 이상의 백분율 순위를 기록했다.
  • 커널이 서로 동일하지 않고 자원 제약(예: 레지스터, 공유 메모리)으로 인해 경쟁이 발생할 경우에만 이 방법이 효과적이며, 그렇지 않으면 실행 순서의 영향은 없다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.