Skip to main content
QUICK REVIEW

[논문 리뷰] DeepProf: Performance Analysis for Deep Learning Applications via Mining GPU Execution Patterns

Jiazhen Gu, Huan Liu|arXiv (Cornell University)|2017. 07. 12.
Software System Performance and Reliability참고 문헌 20인용 수 21
한 줄 요약

DeepProf는 딥러닝 응용 프로그램에서 GPU 실행 패턴을(suffix trees를 사용하여) 추출함으로써 반복되는 연산 시퀀스를 탐지하여 자동 프로파일링 및 성능 저하 원인 진단을 가능하게 하는 새로운 성능 분석 도구이다. 이 도구는 텐서플로우의 GPU 활용도 패턴과 같은 핵심 실행 특성을 드러내어 시스템 설정 및 최적화를 위한 실질적인 통찰을 제공한다.

ABSTRACT

Deep learning applications are computation-intensive and often employ GPU as the underlying computing devices. Deep learning frameworks provide powerful programming interfaces, but the gap between source codes and practical GPU operations make it difficult to analyze the performance of deep learning applications. In this paper, through examing the features of GPU traces and deep learning applications, we use the suffix tree structure to extract the repeated patten in GPU traces. Performance analysis graphs can be generated from the preprocessed GPU traces. We further present exttt{DeepProf}, a novel tool to automatically process GPU traces and generate performance analysis reports for deep learning applications. Empirical study verifies the effectiveness of exttt{DeepProf} in performance analysis and diagnosis. We also find out some interesting properties of Tensorflow, which can be used to guide the deep learning system setup.

연구 동기 및 목표

  • 고수준 코드와 저수준 GPU 연산 간의 추상화로 인해 발생하는 딥러닝 응용 프로그램의 성능 분석 격차를 해소하기 위해.
  • 개발자가 하위 GPU 실행에 대한 시각적 가시성이 제한된 상태에서도 GPU 가속 딥러닝 워크로드의 성능 문제를 진단할 수 있도록 하기 위해.
  • 원시 GPU 트레이스를 처리하고 실질적인 성능 분석 보고서를 생성하는 자동화된 도구를 개발하기 위해.
  • GPU 트레이스 마이닝을 통해 텐서플로우 응용 프로그램의 숨겨진 실행 패턴을 밝혀내어 시스템 수준 최적화 가이드라인을 제공하기 위해.
  • CPU 중심 도구에 그치지 않고 GPU 네이티브 딥러닝 워크로드를 대상으로 한 프로파일링 기능을 확장하기 위해.

제안 방법

  • 서프릭스 트리 기반으로 GPU 트레이스를 마이닝하여 반복되는 연산 시퀀스를 식별하고 성능 관련 패턴을 추출하기 위해.
  • 패턴 인식을 통해 저수준 GPU 연산을 고수준의 의미 있는 실행 단위로 변환하기 위해.
  • 처리된 GPU 트레이스에서 성능 분석 그래프를 생성하여 실행 블로킹 요소와 비효율성을 시각화하기 위해.
  • DeepProf 도구를 사용하여 원시 GPU 트레이스 수신부터 보고서 생성까지 전 과정을 자동화하기 위해.
  • 텐서플로우의 동작에서 유도된 실행 규칙을 활용하여 패턴 추출 및 트레이스 단순화를 안내하기 위해.
  • 다양한 모델과 GPU 디바이스에 적용하여 일반화 가능성과 시스템 수준의 통찰을 입증하기 위해.

실험 결과

연구 질문

  • RQ1딥러닝 응용 프로그램의 GPU 실행 트레이스는 어떻게 효과적으로 추상화되어 성능 핵심 패턴을 드러낼 수 있는가?
  • RQ2텐서플로우 GPU 트레이스에 존재하는 반복 실행 패턴은 무엇이며, 어떻게 자동으로 탐지할 수 있는가?
  • RQ3GPU 트레이스에서의 패턴 마이닝은 딥러닝 개발자가 성능 진단 및 최적화 가이드라인을 위해 의미 있는 통찰을 얻는 데 기여할 수 있는가?
  • RQ4GPU 트레이스 분석을 통해 텐서플로우의 어떤 기반 실행 특성이 드러날 수 있는가?
  • RQ5제안된 방법은 다양한 딥러닝 모델과 GPU 하드웨어 구성에 대해 어느 정도 일반화될 수 있는가?

주요 결과

  • DeepProf는 서프릭스 트리 기반으로 딥러닝 워크로드의 반복 GPU 연산 패턴을 성공적으로 식별하여 트레이스 복잡도를 감소시키면서도 성능 의미를 유지한다.
  • 도구는 GPU 실행에서 잠재적 블로킹 요소와 비효율성을 강조하는 해석 가능한 성능 분석 보고서를 생성한다.
  • 실증적 평가를 통해 DeepProf가 다양한 딥러닝 모델과 GPU 디바이스에서 성능 문제 진단에 효과적임을 확인하였다.
  • 분석 결과, 텐서플로우 응용 프로그램에서 반복적인 커널 실행 및 메모리 전송 오버헤드와 같은 일관된 GPU 활용도 패턴이 드러났다.
  • 이러한 패턴은 최적의 GPU 선택 및 구성 튜닝과 같은 시스템 설정에 실질적인 통찰을 제공한다.
  • DeepProf는 딥러닝 응용 프로그램을 위한 GPU 트레이스 분석에 특화된 첫 번째 도구로, 기존 프로파일링 솔루션의 핵심 격차를 메운다.

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

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

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

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