Skip to main content
QUICK REVIEW

[논문 리뷰] Sparse Tensor Algebra as a Parallel Programming Model

Edgar Solomonik, Torsten Hoefler|arXiv (Cornell University)|2015. 11. 30.
Parallel Computing and Optimization Techniques참고 문헌 40인용 수 32
한 줄 요약

이 논문은 희소 데이터 구조와 임의의 원소별 함수를 지원하는 고수준 병렬 프로그래밍 모델로 희소 텐서 대수를 제안한다. CTF(Cyclops Tensor Framework)에 희소 레이아웃과 사용자 정의 가능한 연산을 확장함으로써, 반복적 해법, 그래프 알고리즘, 전자 구조 계산 등에 대해 효율적이고 통신을 최소화한 실행을 가능하게 하며, MP3 전자 구조 계산에서 최대 6배의 성능 향상을 달성하고, 희소성 인식 런타임 최적화를 통해 약한 확장성도 향상시킨다.

ABSTRACT

Dense and sparse tensors allow the representation of most bulk data structures in computational science applications. We show that sparse tensor algebra can also be used to express many of the transformations on these datasets, especially those which are parallelizable. Tensor computations are a natural generalization of matrix and graph computations. We extend the usual basic operations of tensor summation and contraction to arbitrary functions, and further operations such as reductions and mapping. The expression of these transformations in a high-level sparse linear algebra domain specific language allows our framework to understand their properties at runtime to select the preferred communication-avoiding algorithm. To demonstrate the efficacy of our approach, we show how key graph algorithms as well as common numerical kernels can be succinctly expressed using our interface and provide performance results of a general library implementation.

연구 동기 및 목표

  • 고성능 계산을 위한 배열, 행렬, 그래프 계산을 하나의 희소 텐서 대수 추상화로 통합하기 위해.
  • 텐서 성질과 데이터 레이아웃에 기반해 런타임 시 통신을 최소화하는 알고리즘을 자동으로 선택할 수 있도록 하기 위해.
  • CTF 프레임워크를 임의의 원소 유형과 사용자 정의 함수를 지원하는 희소 텐서를 처리할 수 있도록 확장하기 위해.
  • 희소성의 영향으로 주요 과학적 워크로드에서 성능 향상과 약한 확장성 향상이 상당히 가능하다는 것을 입증하기 위해.
  • 명시적 루프 없이 프로그래밍 오류를 줄일 수 있는 최소한이지만 강력한 인터페이스를 제공하기 위해.

제안 방법

  • 합성, 수축, 매핑, 감소 연산을 임의의 함수와 대수적 구조로 확장하여 다양한 데이터 변환을 가능하게 한다.
  • 데이터 레이아웃을 추상화하고 분산 메모리에서의 자동 병렬화를 가능하게 하는 고수준 C++ 도메인 특화 언어(DSL)를 도입한다.
  • 순환 CTF 레이아웃을 활용해 비제로 요소의 분포를 무작위화함으로써, 고비용의 그래프 분할을 피하면서도 임의의 희소성 패턴에 대해 거의 최적의 성능 유지를 한다.
  • 런타임 분석을 통해 희소성과 데이터 구조 특성에 기반해 최적의 통신 최소화 알고리즘을 선택한다.
  • 희소-희소, 희소-밀도, 밀도-밀도 수축을 지원하며, MKL 및 정수 유형을 위한 커스터마이징된 커널과의 통합을 통해 성능을 최적화한다.
  • 배치 동기 병렬(BSP) 실행을 활용해 깊이가 낮고 고도로 병렬화 가능한 프로그램을 보장하며, 복잡한 의존성을 피한다.

실험 결과

연구 질문

  • RQ1희소 텐서 대수는 그래프 및 PDE 해법기를 포함한 다양한 과학적 워크로드에 대해 통합적이고 고수준의 프로그래밍 모델로 기능할 수 있는가?
  • RQ2분산 메모리 시스템에서 텐서 연산의 희소성은 통신 비용과 계산 비용에 어떤 영향을 미치는가?
  • RQ3자동 알고리즘 선택 기능을 갖춘 고수준 DSL이 수작업 최적화된 커널에 비해 성능과 확장성 향상에 얼마나 기여하는가?
  • RQ4사용자 정의 함수와 임의의 데이터 유형이 성능을 희생시키지 않고도 희소 텐서 프레임워크에서 효율적으로 지원될 수 있는가?
  • RQ5실제 과학적 응용에서 희소성의 사용이 약한 확장성과 강한 확장성에 어떤 영향을 미치는가?

주요 결과

  • 희소 텐서 대수 모델은 밀도 기반 실행 대비 MP3 전자 구조 계산에서 최대 6배의 성능 향상을 달성했으며, 병렬 처리 수준이 높아질수록 성능 향상이 더욱 두드러졌다.
  • 희소성 덕분에 약한 확장성 향상이 상당히 이루어졌으며, 특히 경로를 두 배로 늘리는 방식의 전쌍 최단경로 계산에서 희소 커널이 밀도 커널보다 약한 확장성에서 성능이 뛰어났다. 이는 통신 및 계산 비용 감소 덕분이었다.
  • 384개 코어에서 희소 경로 두 배 늘리기 커널은 로컬 커널에서 71.4%의 시간만을 소비했으며(밀도 대비 86.6%), 이는 더 나은 로드 밸런싱과 통신 오버헤드 감소를 의미한다.
  • 밀도 기반 그래프 APSP 벤치마크에서, 384개 코어에서 약한 확장성 조건에서 희소 커널은 각각 87.8%와 90.8%의 시간을 로컬 커널에서 소비하여 밀도 대비 더 나은 확장성을 보였다.
  • 비제로 요소 비율에 비례해 계산 비용과 통신 비용이 모두 감소했으며, 최소한의 튜닝으로도 성능 향상이 관찰되었다.
  • 런타임 시 통신 최소화 알고리즘을 자동으로 선택할 수 있는 프레임워크의 능력 덕분에 수동 분할 또는 레이아웃 최적화 없이도 효율적인 실행이 가능했다.

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

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

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

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