Skip to main content
QUICK REVIEW

[논문 리뷰] A model-driven approach for a new generation of adaptive libraries

Marco Cianfriglia, Flavio Vella|arXiv (Cornell University)|2018. 06. 19.
Algorithms and Data Compression참고 문헌 41인용 수 3
한 줄 요약

이 논문은 GPU 가속 BLAS 라이브러리의 최적 알고리즘 파라미터를 동적으로 선택하기 위한 기계학습 기반의 모델 기반 프레임워크를 제안한다. 특히 행렬 곱셈과 같은 데이터 기반 워크로드를 대상으로 한다. 합성 데이터와 실제 데이터셋을 기반으로 결정 트리를 학습시켜, 기존의 하드코딩된 최적화 방식에 비해 NVIDIA Pascal에서 최대 3배, ARM Mali GPU에서 최대 2.5배의 성능 향상을 달성한다.

ABSTRACT

Efficient high-performance libraries often expose multiple tunable parameters to provide highly optimized routines. These can range from simple loop unroll factors or vector sizes all the way to algorithmic changes, given that some implementations can be more suitable for certain devices by exploiting hardware characteristics such as local memories and vector units. Traditionally, such parameters and algorithmic choices are tuned and then hard-coded for a specific architecture and for certain characteristics of the inputs. However, emerging applications are often data-driven, thus traditional approaches are not effective across the wide range of inputs and architectures used in practice. In this paper, we present a new adaptive framework for data-driven applications which uses a predictive model to select the optimal algorithmic parameters by training with synthetic and real datasets. We demonstrate the effectiveness of a BLAS library and specifically on its matrix multiplication routine. We present experimental results for two GPU architectures and show significant performance gains of up to 3x (on a high-end NVIDIA Pascal GPU) and 2.5x (on an embedded ARM Mali GPU) when compared to a traditionally optimized library.

연구 동기 및 목표

  • 딥 러닝이나 그래프 분석과 같은 데이터 기반 HPC 워크로드에서 입력 데이터 특성이 다양하게 변할 때 발생하는 성능 이식성 문제를 해결한다.
  • 고정된 수동 최적화 파라미터나 단순 히ュ리스틱 기반의 기존 BLAS 라이브러리의 한계를 극복하여, 다양한 입력 크기와 하드웨어 환경에서의 성능 저하를 방지한다.
  • 입력 차원과 하드웨어 특성에 기반해 런타임에서 최적의 GEMM(일반 행렬 곱셈) 설정을 자동으로 선택할 수 있도록 한다.
  • 저수준 명령어 세트나 아키텍처에 특화된 코드 생성에 의존하지 않는 일반화 가능한, 아키텍처에 관계없는 솔루션을 개발한다.
  • 하이브리드 시스템, 특히 GPU에서의 성능 이식성을 향상시키기 위해, 하드코딩된 파라미터가 아닌 학습 데이터에서 최적의 선택지를 학습함으로써 성능 향상을 달성한다.

제안 방법

  • 입력 특성(예: 행렬 차원 등)을 기반으로 최적의 GEMM 구현 및 튜닝 파라미터를 예측하기 위해 투명하고 해석 가능한 지도 학습 분류기인 결정 트리를 사용한다.
  • 학습 데이터셋을 생성하기 위해 세 가지 접근 방식을 활용한다: 균일 샘플링을 통한 합성 데이터, 애플리케이션 워크로드에서 유래한 실제 데이터, 그리고 극단적인 케이스를 커버하기 위한 하이브리드 샘플링.
  • 다양한 입력 구성에서 예측 모델을 학습시켜, 특정 행렬 형태에 적합한 커널 설정(예: 블록 크기, 타일링 전략 등)을 런타임에서 최적화 선택할 수 있도록 한다.
  • 학습된 모델을 오픈소스 OpenCL BLAS 라이브러리인 CLBlast에 통합하여, 런타임에서 최적화된 커널을 자동으로 선택할 수 있도록 한다.
  • 다양한 아키텍처에서 학습함으로써 모델의 일반화 능력을 향상시키며, 한 GPU에서 학습된 모델이 다른 GPU에 최소한의 재학습으로 적용 가능하도록 한다.
  • 예측 모델의 추론 성능를 최적화하여 런타임 오버헤드를 최소화하고, 성능 향상에 비해 추가 지연이 거의 없는 수준을 확보한다.

실험 결과

연구 질문

  • RQ1기계학습 기반의 예측 모델은 다양한 입력 크기와 GPU 아키텍처에서 최적의 GEMM 설정을 효과적으로 선택할 수 있는가?
  • RQ2합성 데이터와 실제 워크로드 데이터를 기반으로 학습했을 때, 모델 정확도와 성능 향상 간의 상관관계는 어떻게 되는가?
  • RQ3가벼운 해석 가능한 모델인 결정 트리가 데이터 기반 워크로드에서 기존의 히ュ리스틱 기반 선택 방식보다 얼마나 뛰어난 성능을 보일 수 있는가?
  • RQ4학습 데이터의 밀도와 다양성이 모델의 일반화 능력과 런타임 성능에 어떤 영향을 미치는가?
  • RQ5제안된 프레임워크는 아키텍처에 특화된 코드나 명령어 세트 노출 없이도 상당한 성능 향상을 달성할 수 있는가?

주요 결과

  • 모델 기반 접근 방식은 고성능 NVIDIA Pascal GPU에서 최대 3배, 임베디드 ARM Mali GPU에서 최대 2.5배의 성능 향상을 달성했다.
  • 결정 트리의 정확도가 중간 수준이어도, 학습 데이터가 밀도 있고 대표성이 높을 경우 잘못된 예측의 영향이 제한적이므로 성능 향상이 뚜렷했다.
  • 합성 데이터만으로 학습하는 것은 최적의 성능을 달성하는 데 부족했으며, 합성 데이터와 실제 워크로드 데이터를 조합함으로써 모델의 강건성과 일반화 능력이 향상되었다.
  • 이 프레임워크는 강력한 아키텍처 간 성능 이식성을 보였으며, 한 GPU에서 학습된 모델이 다른 GPU에서도 최소한의 재학습으로 효과적으로 작동함을 입증했다.
  • 예측 모델의 런타임 오버헤드는 거의 없었으며, CLBlast와 같은 프로덕션 수준의 라이브러리에 통합하는 데 실용적이었다.
  • 이 접근 방식은 그래프 분석과 같이 최적의 데이터-병렬 전략을 사전에 정의하기 어려운 복잡한 워크로드나 다른 계산 집약적인 커널으로도 확장 가능하다.

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

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

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

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