Core Concepts
본 논문은 스파스 텐서 대수 표현식에서 발생하는 스파스 산포 문제를 해결하기 위해 모듈식 및 일반적인 스파스 작업 공간 생성 알고리즘을 제안한다.
Abstract
최근 몇 년간 스파스 텐서 대수 표현식 컴파일에 대한 많은 연구가 진행되었다. 그러나 이 연구들은 스파스 결과 텐서에 값을 효율적으로 산포하는 문제를 해결하지 못했다.
본 논문은 이 문제를 해결하기 위해 스파스 중간 텐서(스파스 작업 공간)를 사용하는 컴파일러 설계를 제안한다. 스파스 작업 공간은 계산 코드와 결과 텐서 사이의 효율적인 어댑터 역할을 한다.
제안된 알고리즘 템플릿은 모듈식으로 설계되어 다양한 사용자 정의 구현을 지원한다. 또한 이 알고리즘은 임의 순서로 값을 산포할 수 있는 표현식을 처리할 수 있다.
평가 결과, 제안된 스파스 작업 공간은 이전 연구의 밀집 작업 공간보다 최대 27.12배 빠르지만, 다른 상황에서는 밀집 작업 공간이 최대 7.58배 빠른 것으로 나타났다. 이는 두 가지 접근 방식이 모두 필요함을 보여준다.
제안된 컴파일러는 순차 코드를 생성하며, 기존 라이브러리와 경쟁할 수 있는 성능을 보인다. 또한 스파스 작업 공간은 밀집 작업 공간보다 메모리 효율적이어서 메모리 제한을 극복할 수 있다.
Stats
스파스 작업 공간은 밀집 작업 공간보다 최대 27.12배 빠를 수 있다.
밀집 작업 공간은 스파스 작업 공간보다 최대 7.58배 빠를 수 있다.
Quotes
"스파스 산포는 스파스 텐서 대수에서 일반적인 문제이다."
"본 논문은 스파스 작업 공간을 사용하여 스파스 산포 문제를 해결한다."
"제안된 알고리즘 템플릿은 다양한 사용자 정의 구현을 지원하는 모듈식으로 설계되었다."