[논문 리뷰] Autotuning OpenCL Workgroup Size for Stencil Patterns
이 논문은 다양한 CPU와 다중 GPU 환경에서 스텐실 패턴에 대해 최적의 OpenCL 워크그룹 크기를 자동으로 선택할 수 있도록 기계학습 기반 자동 튜닝을 제안한다. 합성 벤치마크에서 훈련된 분류기와 회귀기들을 사용하여 고정된 워크그룹 크기 대비 중앙값 3.79배의 성능 향상을 달성하고 최대 성능의 94%를 확보한다.
Selecting an appropriate workgroup size is critical for the performance of OpenCL kernels, and requires knowledge of the underlying hardware, the data being operated on, and the implementation of the kernel. This makes portable performance of OpenCL programs a challenging goal, since simple heuristics and statically chosen values fail to exploit the available performance. To address this, we propose the use of machine learning-enabled autotuning to automatically predict workgroup sizes for stencil patterns on CPUs and multi-GPUs. We present three methodologies for predicting workgroup sizes. The first, using classifiers to select the optimal workgroup size. The second and third proposed methodologies employ the novel use of regressors for performing classification by predicting the runtime of kernels and the relative performance of different workgroup sizes, respectively. We evaluate the effectiveness of each technique in an empirical study of 429 combinations of architecture, kernel, and dataset, comparing an average of 629 different workgroup sizes for each. We find that autotuning provides a median 3.79x speedup over the best possible fixed workgroup size, achieving 94% of the maximum performance.
연구 동기 및 목표
- 이질적 아키텍처 간 이식 가능하고 고성능인 OpenCL 커널을 스텐실 패턴에 대해 달성하는 데 도전하는 것.
- 고정된 히وري스틱과 수동 튜닝의 한계를 극복하기 위해 기계학습을 활용해 워크그룹 크기 선택을 자동화하는 것.
- 합성 벤치마크에서 훈련을 통해 프로그램 간 일반화를 가능하게 하여 각 프로그램별 튜닝의 필요성을 줄이는 것.
- 최적의 워크그룹 크기를 예측하기 위해 다양한 기계학습 접근법—분류기와 회귀기—를 평가하는 것.
제안 방법
- 세 가지 자동 튜닝 방법론을 적용: (1) 최적의 워크그룹 크기를 예측하는 이진 분류기, (2) 커널 실행 시간을 예측하는 회귀기, (3) 워크그룹 크기 간 상대 성능을 예측하는 회귀기.
- 행렬 차원, 경계 영역 크기, 장치 고유 제약 조건 등의 커널 및 아키텍처 메타데이터에서 특징을 추출.
- 아키텍처, 커널, 데이터셋 조합 429개에서 훈련 데이터를 수집하였으며, 각 시나리오당 최대 629개의 워크그룹 크기를 평가.
- 합성 벤치마크에서 훈련된 의사결정트리와 회귀 모델을 사용하여 미리 보지 않은 프로그램에 대해 성능이 우수한 워크그룹 크기를 예측.
- 훈련 및 예측 중에 유효하지 않은 워크그룹 크기를 필터링하기 위해 OpenCL 장치 및 커널 제약 조건을 적용.
- 최적의 고정 워크그룹 크기 대비 성능 향상을 측정하고, 기술 간 결과의 중앙값과 IQR을 비교 평가.
실험 결과
연구 질문
- RQ1수동 튜닝 없이 기계학습 모델이 스텐실 패턴의 OpenCL에서 최적의 워크그룹 크기를 효과적으로 예측할 수 있는가?
- RQ2분류기와 회귀기의 기계학습 접근법 간 성능이 뛰어난 워크그룹 크기를 예측하는 데 있어 어떤 차이가 있는가?
- RQ3직접 최적 크기를 분류하는 것과 비교해 상대 성능을 예측하는 데 회귀기를 사용할 경우 어떤 영향을 미치는가?
- RQ4특히 드라이버에 의해 유도되는 제약 조건 하에서, 다양한 하드웨어, 커널, 데이터셋 간에 자동 튜닝 기법의 강건성은 어떠한가?
주요 결과
- 429개의 테스트 시나리오 전반에서 최적의 고정 워크그룹 크기 대비 자동 튜너는 중앙값 3.79배의 성능 향상을 달성했다.
- 이 방법은 최대 성능의 94%를 확보하여 뛰어난 확장성과 이식성을 입증했다.
- 상대 성능을 예측하는 데 회귀기를 사용한 방법이 가장 높은 중앙값 성능 향상(1.33배)을 기록하여 다른 기법들을 능가했다.
- 최적의 워크그룹 크기를 분류기 기반으로 예측한 방법은 가장 낮은 실행 시간 오버헤드를 보였으며, 속도와 정확성 사이의 좋은 트레이드오프를 제공했다.
- 회귀기 기반의 실행 시간 예측 방법은 가장 효과적이지 않았으며, 중앙값 성능 향상이 낮고 IQR이 높아 결과의 일관성이 떨어지는 것으로 나타났다.
- 성능에 이상치가 관찰되었으며, 일부 예측에서는 성능 향상이 1.0배 이하로 낮아졌고, 일부는 2.0배를 초과하는 경우도 있었으며, 이는 극단적인 경우에서의 변동성을 드러냈다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.