캐논 알고리즘

Cannon's algorithm

컴퓨터 과학에서 캐논 알고리즘은 1969년 린 엘리엇 [1][2]캐논에 의해 처음 기술된 2차원 메쉬 행렬 곱셈의 분산 알고리즘이다.

특히 N × N [3]메쉬에 배치되어 있는 컴퓨터에 적합합니다.Cannon의 알고리즘은 동종 2D 그리드에서 잘 작동하지만, 이를 이종 2D 그리드로 확장하는 것은 어려운 [4]것으로 나타났습니다.

알고리즘의 주요 장점은 스토리지 요구사항이 일정하고 프로세서 [2]수와 독립적이라는 것입니다.

확장 가능한 범용 매트릭스 곱셈 알고리즘([5]SUMA)은 작업 공간을 줄이고 정사각형 2D 그리드의 필요성을 극복하는 보다 실용적인 알고리즘입니다.ScaLAPACK, PLAPACKElemental 라이브러리에서 사용됩니다.

알고리즘의 개요

2개의 n×n 행렬 A와 B를 곱할 때 2D 그리드에 배치된 n×n 처리 노드 p가 필요합니다.처음에는i,j p가 a와i,j b를i,j 담당합니다.

//PE(나는, j)k:=(나는 j+)mod N;:=a[나는][k], b:=b[k][j], c[나는][j]:=0;과(나는:=0;나는<>N;l++){c[나는][j]:)c[나는][j]+는*b>동시에{PE(나는,(j+N1−)mod N);PE((나는 − 1N+)에 mod)bN, j를 보낸 보내 주십시오.}을{은 'PE(나는,(j+1)mod N)에서, b을 받'에서 받는다.체육(i + 1) mod N, j ); } a := a'; b := b'; }

프로세서가 한 데이터에 액세스하여 k j* * 하지 않도록 프로세서 요소(PE)마다 k 를 선택해야 합니다.

따라서 동일한 행/열의 프로세서는 서로 다른 인덱스로 합계를 시작해야 합니다.를 들어 PE(0,0)가 첫 번째 단계에서 00 b 계산할 경우 PE(0,1)는 먼저 01 b 합니다.PE(i,j)에 대해 k : = (i + j) mod n을 선택하면 첫 번째 단계에서 이 제약 조건을 충족합니다.

첫 번째 단계에서는 이전 규칙에 따라 입력 행렬을 프로세서 간에 분배합니다.

다음 반복에서는 모든 프로세서에 대해 새로운 k' := (k + 1) mod n을 선택합니다.이렇게 하면 모든 프로세서가 매트릭스의 다른 값에 계속 액세스합니다.필요한 데이터는 항상 인접 프로세서에 있습니다.다음으로 PE(i,j)에 PE(i,(j + 1) mod n){\ a와 PE(i + 1) mod n,j)의b{ b 필요합니다. a( 스타일는 왼쪽으로 순환적으로 해야하며 b 스타일 b)도 위쪽으로 순환적으로 통과해야 합니다.곱셈 결과는 평소와 같이 요약됩니다.n개의 스텝 후, 각 프로세서는 j (\ a_ 1회 계산하고, 그 합계는 j (\가 됩니다.

각 프로세서의 초기 배포 후에는 다음 단계의 데이터만 저장하면 됩니다.이는 이전 합계 })와 의 중간 결과입니다.즉, 3개의 매트릭스 모두 프로세서에 균등하게 분산된 후에 메모리에 저장하기만 하면 됩니다.

일반화

실제로는 매트릭스 요소보다 프로세서가 훨씬 적습니다.모든 프로세서가 더 많은 값을 처리할 수 있도록 매트릭스 요소를 하위 매트릭스로 대체할 수 있습니다.스칼라 곱셈과 덧셈은 순차 행렬 곱셈과 덧셈이 됩니다.서브매트릭스의 폭과 높이는 N / {\ N입니다.

알고리즘의 실행 시간은 (n , ) ( / ,) + q ( /) + ( - )( t t + e ( /N ) \ T { \ _ n _ n , p ) } = { _ n .)^{2 c l coll}은 첫 번째 단계의 행렬 초기 분포 , {seq}는 중간 결과의 계산, s t t t t { T_displaystyle tyle T_{ t} }는 T_{style e입니다.및 바이트의 접속과 전송을 확립하는 데 걸리는 시간.

이 알고리즘의 단점은 메시지사이즈가 작은 접속 설정이 많다는 점입니다.각 메시지에서 더 많은 데이터를 전송할 수 있는 것이 좋습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Lynn Elliot Cannon, Kalman Filter Algorithm을 구현하는 셀룰러 컴퓨터, 기술 보고서, Ph.D.1969년 7월 14일 몬태나 주립 대학교 논문.
  2. ^ a b 굽타, H.; 사다야판, P. Hypercubes에서의 커뮤니케이션 효율 매트릭스 - 곱셈, dbpubs.stanford.edu
  3. ^ 4.2 분산 메모리 머신에서의 매트릭스 곱셈(www.phy.ornl.gov
  4. ^ Jean-Franchois Pineau, 이종 마스터 워커 플랫폼의 커뮤니케이션 인식 스케줄링, 박사 논문, 2010년 10월.
  5. ^ Robert A. van de Geijn과 Jerrell Watts, SUMA: 스케일러블 유니버설 매트릭스 곱셈 알고리즘, 동시성: 연습과 경험.제9권 제4호, 255~274쪽, 1997년 4월.

외부 링크