Skip to main content
QUICK REVIEW

[논문 리뷰] True BLAS-3 Performance QRCP using Random Sampling

Jed A. Duersch, Ming Gu|arXiv (Cornell University)|2015. 09. 23.
Stochastic Gradient Optimization Techniques인용 수 7
한 줄 요약

이 논문은 BLAS-3 연산과 표본 기반 열 노름 근사법을 사용하여 의사결정 기반의 통신 회피 QRCP 알고리즘을 제안한다. 이는 근사적으로 풀어지지 않은 QR 성능에 가까운 성능를 달성하면서도 전통적인 QRCP와 유사한 정확도를 유지한다. 비용이 많이 드는 꼬리 행렬 갱신을 피하고 표본 갱신 공식을 도입함으로써, 공유 메모리 시스템에서 강력한 병렬 성능을 보이는 빠르고 확장 가능한 절단된 SVD와 저질서 근사에 기여한다.

ABSTRACT

The dominant contribution to communication complexity in factorizing a matrix using QR with column pivoting is due to column-norm updates that are required to process pivot decisions. We use randomized sampling to approximate this process which dramatically reduces communication in column selection. We also introduce a sample update formula to reduce the cost of sampling trailing matrices. Using our column selection mechanism we observe results that are comparable to those obtained from the QRCP algorithm, but with performance near unpivoted QR. We also demonstrate strong parallel scalability on shared memory multiple core systems using an implementation in Fortran with OpenMP. This work immediately extends to produce low-rank truncated approximations of large matrices. We propose a truncated QR factorization with column pivoting that avoids trailing matrix updates which are used in current implementations of BLAS-3 QR and QRCP. Provided the truncation rank is small, avoiding trailing matrix updates reduces approximation time by nearly half. By using these techniques and employing a variation on Stewart's QLP algorithm, we develop an approximate truncated SVD that runs nearly as fast as truncated QR.

연구 동기 및 목표

  • 피벗 선택 과정에서 빈번한 열 노름 갱신으로 인해 발생하는 QRCP 분해의 통신 오버헤드를 줄이기 위해.
  • 피벗이 없는 QR에 가까운 성능를 달성하면서도 열 피벗 기반 QR의 수치적 안정성과 정확도를 유지하기 위해.
  • BLAS-3 QR과 QRCP에서 비용이 많이 드는 꼬리 행렬 갱신을 제거하여 절단된 행렬 분해를 가속화하기 위해.
  • OpenMP와 포트란을 사용하여 공유 메모리 다중 코어 아키텍처에서 강력한 병렬 확장성을 달성하기 위해.
  • 제안된 샘플링 기반 QRCP를 활용하여 수정된 QLP 알고리즘을 통해 효율적인 절단된 SVD를 개발하기 위해.

제안 방법

  • 비용이 많이 드는 순차적 갱신을 대체하기 위해 랜덤 샘플링을 사용하여 열 노름을 근사한다. 이를 통해 배치 처리된 BLAS-3 최적화 연산으로 전환한다.
  • 꼬리 행렬 갱신 중에 샘플링 정보를 효율적으로 유지하기 위해 표본 갱신 공식을 도입하여 계산 비용을 감소시킨다.
  • 최소한의 오버헤드로 근사적인 절단된 SVD를 구성하기 위해 스토우어의 QLP 알고리즘의 수정된 버전을 사용한다.
  • 완전한 꼬리 행렬 갱신을 피하는 절단된 QR 분해를 설계하여, 저질서 근사에 있어 계산 시간을 크게 줄인다.
  • 공유 메모리 시스템에서 강력한 병렬 확장성을 달성하기 위해 포트란으로 알고리즘을 구현하고 OpenMP를 적용한다.
  • 이 방법을 적용하여 피벗이 없는 QR에 가까운 성능를 달성하면서도 QRCP 수준의 정확도를 유지하는 저질서 행렬 근사 결과를 도출한다.

실험 결과

연구 질문

  • RQ1랜덤 샘플링을 통해 QRCP에서 열 노름을 효과적으로 근사할 수 있는가? 이는 정확도를 희생시키지 않고 통신 비용을 줄일 수 있는가?
  • RQ2BLAS-3 QR과 QRCP에서 꼬리 행렬 갱신을 얼마나 효과적으로 피할 수 있는가? 이를 통해 절단된 분해를 얼마나 빠르게 가속화할 수 있는가?
  • RQ3저질서 근사 작업에서 기존의 QRCP와 피벗이 없는 QR에 비해 제안된 방법의 성능와 정확도는 어떻게 비교되는가?
  • RQ4공유 메모리 다중 코어 시스템에서 고성능을 유지하면서도 강력한 병렬 확장성을 달성할 수 있는가?
  • RQ5절단 질서가 작을 경우, 제안된 절단된 SVD는 기존 방법에 비해 얼마나 높은 성능 향상을 보이는가?

주요 결과

  • 제안된 방법은 피벗이 없는 QR에 가까운 성능를 달성하면서도 전통적인 QRCP 수준의 정확도를 유지하여 통신 비용을 크게 줄였다.
  • 절단된 QR에서 꼬리 행렬 갱신을 피함으로써, 절단 질서가 작을 경우 근사 시간을 거의 반으로 줄였다.
  • 표본 갱신 공식은 요소 갱신 과정에서 샘플링 정보를 유지하는 데 있어 비용을 효과적으로 감소시켜 효율적인 계산을 가능하게 하였다.
  • OpenMP와 포트란을 사용한 구현은 공유 메모리 다중 코어 시스템에서 강력한 병렬 확장성을 보였다.
  • 결과적으로 근사적인 절단된 SVD는 절단된 QR만큼 빠르게 실행되어 효율적인 저질서 행렬 근사를 가능하게 하였다.
  • 이 방법은 대규모 데이터 분석에 적합한 고성능의 통신 회피 행렬 분해를 가능하게 하였다.

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

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

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

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