Skip to main content
QUICK REVIEW

[논문 리뷰] Tensor processing primitives: a programming abstraction for efficiency and portability in deep learning workloads

Evangelos Georganas, Dhiraj Kalamkar|arXiv (Cornell University)|2021. 11. 14.
Parallel Computing and Optimization Techniques참고 문헌 19인용 수 2
한 줄 요약

이 논문은 복잡한 고차원 연산을 위한 구조적 빌딩 블록으로 2D 텐서 연산자 집합을 사용하는 이식성 있고 고성능인 딥러닝 워크로드를 위한 프로그래밍 추상화인 텐서 처리 원자공(이하 TPP)을 소개한다. TPP는 다양한 플랫폼에서 최신 커널 성능을 초월하는 효율적이고 플랫폼에 구애받지 않는 구현을 가능하게 한다.

ABSTRACT

During the past decade, novel Deep Learning (DL) algorithms/workloads and hardware have been developed to tackle a wide range of problems. Despite the advances in workload/hardware ecosystems, the programming methodology of DL systems is stagnant. DL workloads leverage either highly-optimized, yet platform-specific and inflexible kernels from DL libraries, or in the case of novel operators, reference implementations are built via DL framework primitives with underwhelming performance. This work introduces the Tensor Processing Primitives (TPP), a programming abstraction striving for efficient, portable implementation of DL workloads with high-productivity. TPPs define a compact, yet versatile set of 2D-tensor operators (or a virtual Tensor ISA), which subsequently can be utilized as building-blocks to construct complex operators on high-dimensional tensors. The TPP specification is platform-agnostic, thus code expressed via TPPs is portable, whereas the TPP implementation is highly-optimized and platform-specific. We demonstrate the efficacy of our approach using standalone kernels and end-to-end DL workloads expressed entirely via TPPs that outperform state-of-the-art implementations on multiple platforms.

연구 동기 및 목표

  • 딥러닝 알고리즘과 하드웨어의 발전에도 불구하고 딥러닝 프로그래밍 방법론의 정체를 해결하기 위해.
  • 기존 딥러닝 라이브러리에서 플랫폼에 종속적이고 유연하지 못한 커널의 한계를 극복하기 위해.
  • 복잡한 딥러닝 연산의 이식성 있고 고성능 최적화된 구현을 가능하게 하는 고생산성 프로그래밍 추상화를 제공하기 위해.
  • 딥러닝 시스템 개발에서 성능 이식성과 개발자 생산성 간 격차를 메우기 위해.

제안 방법

  • 복잡한 딥러닝 워크로드를 구축하기 위한 핵심 추상화로 사용할 수 있는 최소한의 플랫폼에 종속되지 않는 2D 텐서 연산자 집합(가상의 텐서 ISA)을 정의한다.
  • 이 원자공을 조합과 타일링을 통해 고차원 연산을 표현하는 빌딩 블록으로 사용한다.
  • 고성능을 확보하기 위해 이 원자공을 고도로 최적화된 플랫폼 전용 커널로 구현한다.
  • 고수준의 사양(TPP)과 저수준의 구현을 분리하여 이식성을 유지하면서도 성능을 확보한다.
  • TPP로 완전히 표현된 엔드 투 엔드 딥러닝 워크로드와 단독 커널을 구현하여 검증한다.
  • 다양한 플랫폼에서 성능을 평가하여 효율성과 이식성의 타당성을 입증한다.

실험 결과

연구 질문

  • RQ1최소한의 이식성 있는 2D 텐서 연산자 집합이 복잡한 딥러닝 워크로드의 효과적인 추상화로 기능할 수 있는가?
  • RQ2TPP는 수작업 최적화된 플랫폼 전용 커널과 비교해 어느 정도의 성능을 달성할 수 있는가?
  • RQ3사양(TPP)과 구현의 분리가 이식성과 고성능을 동시에 달성하는 데 어떻게 기여하는가?
  • RQ4엔드 투 엔드 딥러닝 워크로드가 오직 TPP 원자공만으로 효율적이고 이식 가능하게 표현될 수 있는가?

주요 결과

  • 다양한 플랫폼에서 단독 커널의 TPP 기반 구현이 최신 수준의 수작업 최적화된 구현을 능가한다.
  • 전적으로 TPP로 표현된 엔드 투 엔드 딥러닝 워크로드는 기존 최적화된 프레임워크와 비교해 경쟁력 있거나 뛰어난 성능을 달성한다.
  • TPP의 플랫폼에 종속되지 않는 사양은 성능을 희생시키지 않은 채 다양한 하드웨어 타겟으로의 코드 이식성을 보장한다.
  • 작고 일관된 원자공 집합을 사용함으로써 개발자가 복잡한 연산을 표현할 수 있도록 고생산성 추상화를 가능하게 한다.
  • 사양과 구현의 분리로 각 플랫폼에 맞는 TPP 커널 최적화가 가능하면서도 인터페이스 호환성이 유지된다.
  • 이 접근법은 딥러닝 시스템에서 고성능과 이식성이 상호 배타적이지 않음을 입증한다.

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

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

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

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