Performance Optimization of Sparse Matrix Operation

희소 행렬 연산의 성능 최적화에 관한 연구

  • Published : 2003.04.01

Abstract

계산 과학을 사용하는 응용 분야는 공학, 물리, 화학, 생명 과학에서 경제학까지 다양하다. 계산 과학에 사용되는 많은 알고리즘들은 행렬 연산을 포함하고 있으며 이 행렬은 크기가 크고 대부분의 원소가 0값을 갖는 희소 행렬일 경우가 많다. 본 논문에서는 희소 행렬의 연산 중, 희소 행렬 A와 밀집 벡터 x, y에 대하여 ylongleftarrowy+Ax와 ylongleftarrowy+$A^{T}$ Ax 의 두 가지 연산에 대한 계산 속도 개선 방법으로서 레지스터 재사용을 높이는 레지스터 블록화와 캐쉬 미스를 줄이기 위한 캐쉬 최적화 방법을 제안하며 또한 희소 행렬의 특성과 target 컴퓨터의 구조에 따라 정해지는 레지스터 블록 크기를 결정하는 방법을 설명한다. Preliminary결과로 이 방법을 Pentium III system상에서 실험한 결과를 보이는데 ylongleftarrowy+Ax 의 연산에 대하여는 2.5 배, ylongleftarrowy+$A^{T}$ Ax 의 연산에 대하여는 3.5 배까지의 성능 개선을 이룰 수 있다.

Keywords