行列演算に特化したアレイプロセッサの開発
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*メンバー [#k30b433c]
-[[三留]]
-[[志賀]]
-[[五十嵐]]
*卒業生 [#vf90e9a7]
-[[進藤]]@2008年度修了(行列演算の局所性に着目したアレイプロセッサのためのメモリ階層の設計)
-[[八巻]]@2008年度卒業(行列乗算のサイズと局所性を考慮したRapidMatriXのためのソフトウェアインターフェイスの設計)
*背景及び目的 [#aa06e438]
行列演算を用いて科学計算、信号処理などを扱うアルゴリズムの多くが効率的に解けることが知られている。過去の例を見ても、さまざまなアルゴリズムや手法が提案されており、行列演算を効率的に扱うことは非常に重要である。~
近年の商用プロセッサにおいても、''Fused Multiply-Add''や''Fused Multiply-Accumulation''(FMA)と呼ばれる演算器が通常の演算に用いるArithmetic Logic Unit(ALU)とは別に用意され、行列演算の高速化に貢献している。~
行列FMAは,LINPACKで核となるBasic Linear Algebra Subprogram(Blas)レベル3の主要部分である。(LINPACK, BLASの説明については下記)~
そこで、行列FMA演算を高速化するアーキテクチャとして、RapidMatriXを提案した。
- ''FMA''~
FMAは一つの3項演算で、かつ分割することのできないアトミック演算~
''fma(a,b,c): d = ±a(×)b(±)c'' ~
''a, b, c, dはスカラ値''~
行列データをfmaで扱うためには演算を何度も繰り返す必要がある。~
その繰り返しを減らすために2次元マトリックスを構成するPE array がある。~
この構成を用いることで、以下のFMA演算が可能になる。~
''fma(A,B,C): D = ±A(×)B(±)C'' ~
''A, B, C, Dは正方行列''~
- ''LINPACK BLAS'' ~
LINPACKは多くの複雑な科学計算や工学技術のために広く用いられている。~
DFTやDCTのような多次元離散変換についても行列同士の乗算の組み合わせとして表現できる。~
BLASは、ベクトルと行列の基本演算を行う高性能なルーチン群。~
ベクトル-ベクトル演算(レベル1 BLAS)~
行列-ベクトル演算(レベル2 BLAS)~
行列-行列演算(レベル3 BLAS)を行う3種のルーチン群から構成されている。
*Rapid MatriX [#ra130023]
**特徴 [#y966dddc]
RapidMatriXは主に行列部と制御部から構成され、行列部は2次元のトーラス構造になっている。~
全ての隣接PEは垂直方向と水平方向に接続され、されに上下左右の端に位置するPEは反対端のPEと互いに接続している。~
(何枚か図を載せる予定)~
そして続く~
**PEの内部構成 [#db13b8e9]
**その他 [#c35c0580]
*チームのページ [#j7646696]
[[進藤/ARRAY PROJECT]]~
...To Be Continued
終了行:
*メンバー [#k30b433c]
-[[三留]]
-[[志賀]]
-[[五十嵐]]
*卒業生 [#vf90e9a7]
-[[進藤]]@2008年度修了(行列演算の局所性に着目したアレイプロセッサのためのメモリ階層の設計)
-[[八巻]]@2008年度卒業(行列乗算のサイズと局所性を考慮したRapidMatriXのためのソフトウェアインターフェイスの設計)
*背景及び目的 [#aa06e438]
行列演算を用いて科学計算、信号処理などを扱うアルゴリズムの多くが効率的に解けることが知られている。過去の例を見ても、さまざまなアルゴリズムや手法が提案されており、行列演算を効率的に扱うことは非常に重要である。~
近年の商用プロセッサにおいても、''Fused Multiply-Add''や''Fused Multiply-Accumulation''(FMA)と呼ばれる演算器が通常の演算に用いるArithmetic Logic Unit(ALU)とは別に用意され、行列演算の高速化に貢献している。~
行列FMAは,LINPACKで核となるBasic Linear Algebra Subprogram(Blas)レベル3の主要部分である。(LINPACK, BLASの説明については下記)~
そこで、行列FMA演算を高速化するアーキテクチャとして、RapidMatriXを提案した。
- ''FMA''~
FMAは一つの3項演算で、かつ分割することのできないアトミック演算~
''fma(a,b,c): d = ±a(×)b(±)c'' ~
''a, b, c, dはスカラ値''~
行列データをfmaで扱うためには演算を何度も繰り返す必要がある。~
その繰り返しを減らすために2次元マトリックスを構成するPE array がある。~
この構成を用いることで、以下のFMA演算が可能になる。~
''fma(A,B,C): D = ±A(×)B(±)C'' ~
''A, B, C, Dは正方行列''~
- ''LINPACK BLAS'' ~
LINPACKは多くの複雑な科学計算や工学技術のために広く用いられている。~
DFTやDCTのような多次元離散変換についても行列同士の乗算の組み合わせとして表現できる。~
BLASは、ベクトルと行列の基本演算を行う高性能なルーチン群。~
ベクトル-ベクトル演算(レベル1 BLAS)~
行列-ベクトル演算(レベル2 BLAS)~
行列-行列演算(レベル3 BLAS)を行う3種のルーチン群から構成されている。
*Rapid MatriX [#ra130023]
**特徴 [#y966dddc]
RapidMatriXは主に行列部と制御部から構成され、行列部は2次元のトーラス構造になっている。~
全ての隣接PEは垂直方向と水平方向に接続され、されに上下左右の端に位置するPEは反対端のPEと互いに接続している。~
(何枚か図を載せる予定)~
そして続く~
**PEの内部構成 [#db13b8e9]
**その他 [#c35c0580]
*チームのページ [#j7646696]
[[進藤/ARRAY PROJECT]]~
...To Be Continued
ページ名: