Skip to main content
QUICK REVIEW

[논문 리뷰] Strassen's Matrix Multiplication Algorithm for Matrices of Arbitrary Order

Ivo Hedtke|arXiv (Cornell University)|2010. 07. 13.
Matrix Theory and Algorithms참고 문헌 11인용 수 7
한 줄 요약

이 논문은 임의의 $n \times n$ 행렬에 대해 스트라센의 행렬 곱셈 알고리즘을 분석하여, 매개변수 선택이 계산 오버헤드에 미치는 영향을 조사한다. 스트라센의 원래 매개변수는 최악의 경우 최적 매개변수 대비 약 20% 더 많은 부동소수점 연산을 유발함을 보여주며, 이는 실용적 성능 향상을 위한 개선된 매개변수 선택 전략의 필요성을 강조하는 심각한 비효율성을 드러낸다.

ABSTRACT

The well known algorithm of Volker Strassen for matrix multiplication can only be used for $(m2^k imes m2^k)$ matrices. For arbitrary $(n imes n)$ matrices one has to add zero rows and columns to the given matrices to use Strassen's algorithm. Strassen gave a strategy of how to set $m$ and $k$ for arbitrary $n$ to ensure $n\leq m2^k$. In this paper we study the number $d$ of additional zero rows and columns and the influence on the number of flops used by the algorithm in the worst case ($d=n/16$), best case ($d=1$) and in the average case ($d\approx n/48$). The aim of this work is to give a detailed analysis of the number of additional zero rows and columns and the additional work caused by Strassen's bad parameters. Strassen used the parameters $m$ and $k$ to show that his matrix multiplication algorithm needs less than $4.7n^{\log_2 7}$ flops. We can show in this paper, that these parameters cause an additional work of approx. 20 % in the worst case in comparison to the optimal strategy for the worst case. This is the main reason for the search for better parameters.

연구 동기 및 목표

  • 스트라센의 알고리즘을 임의의 $n \times n$ 행렬에 적용할 때, 그의 원래 매개변수 선택($m$, $k$)이 초래하는 계산 오버헤드를 분석하는 것.
  • 이 매개변수들이 최악, 최선, 평균 케이스에서 추가적인 작업(부동소수점 연산 수로 측정)을 얼마나 유발하는지 정량화하는 것.
  • 스트라센의 매개변수 전략을 최적 대안과 비교하여 최악의 경우 성능 격차를 입증하는 것.
  • 행렬을 $m2^k$ 크기로 패딩하기 위해 추가되는 영행렬/영열의 수($d$)에 대한 세부 분석과 알고리즘 효율성에 미치는 영향을 다루는 것.

제안 방법

  • 논문은 스트라센 알고리즘을 재귀적 분할정복 방법으로 모델링하여, 크기가 $m2^k \times m2^k$인 행렬에 대해 $7^k m^2(2m+5) - 4^k 6m^2$의 flops가 필요하다고 정의하고, 이는 나이브한 $n^3$ 알고리즘과 비교된다.
  • 패딩된 행렬 크기를 $\tilde{n} = m2^k$로 정의하고, $d = \tilde{n} - n$으로 영행렬/영열의 수를 정의한다.
  • 최악의 경우($d = n/16$), 최선의 경우($d = 1$), 평균의 경우($d \approx n/48$)를 설정하여 매개변수 영향을 평가한다.
  • 기대값 $\mathbb{E}[\tilde{n}/n] = 49/48 \approx 1.0208$를 유도하여 평균 패딩이 $n$의 약 2.08%임을 보여준다.
  • 스트라센의 원래 매개변수($m=32$, $k=p-5$ for $n=2^p-1$)와 최적 매개변수($m=8$, $k=p-3$)를 비율 함수 $r(p) = F(p)/\tilde{F}(p)$를 통해 비교한다.
  • 점근적 극한과 단조성 분석을 사용하여, 스트라센의 매개변수가 최선의 경우 약 8% 더 나쁘고, 최악의 경우 최대 20% 더 나쁜 성능을 보임을 입증한다.

실험 결과

연구 질문

  • RQ1스트라센의 원래 매개변수 선택이 임의의 $n \times n$ 행렬에 적용되었을 때 부동소수점 연산 수에 어떤 영향을 미치는가?
  • RQ2최악, 최선, 평균 케이스에서 패딩된 영행렬 및 영열의 수($d$)는 어떻게 변하는가?
  • RQ3스트라센의 원래 매개변수와 최적 매개변수 사이의 성능 격차는 추가적인 계산 작업 측면에서 얼마인가?
  • RQ4임의의 $n$에 대해 기대 패딩 크기 $\mathbb{E}[\tilde{n}/n]$를 해석적으로 유도할 수 있는가?
  • RQ5왜 스트라센의 원래 매개변수 선택은 최악의 경우에 약 20%의 작업 증가를 초래하며, 실용적 구현에 어떤 영향을 미치는가?

주요 결과

  • 최악의 경우, 스트라센의 원래 매개변수는 최적 매개변수 대비 약 20% 더 많은 부동소수점 연산을 초래하며, 이는 과도한 패딩($d = n/16$)으로 인한 것이다.
  • 최선의 경우, 단 한 개의 영행렬과 영열만 추가되는($d = 1$) 상황에서도 스트라센의 매개변수는 여전히 최적 대비 약 8% 더 많은 작업을 유발한다.
  • 평균적으로 기대 패딩 비율은 $\mathbb{E}[\tilde{n}/n] = 49/48 \approx 1.0208$이며, 이는 패딩으로 인해 평균적으로 약 2.08% 더 큰 행렬 크기가 되는 것을 의미한다.
  • 스트라센의 원래 매개변수와 최적 매개변수를 비교하는 비율 $r(p) = F(p)/\tilde{F}(p)$는 $p=5$에서 약 1.080에서 시작하여 $p \to \infty$로 갈수록 약 1.0729로 단조 감소함을 확인하여 일관된 비효율성을 입증한다.
  • 분석을 통해 스트라센의 원래 매개변수 선택($m=32$, $k=p-5$)은 최적화되지 않았으며, 심각한 계산 오버헤드를 초래함을 확인하였으며, 이는 더 나은 매개변수 조합을 찾는 데 동기를 부여한다.
  • 논문은 최악의 성능 격차 약 20%가 스트라센 알고리즘의 실용적 구현에서 개선된 매개변수 전략을 모색하는 주요 이유임을 입증한다.

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

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

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

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