コンテンツにスキップ

ストリーム・プロセッシング

出典: フリー百科事典『ウィキペディア(Wikipedia)』

 (: stream processing) ''I/O

[]




uniform streaming1使uniform streamingSIMDC ()DMA DMA  DSP ("") ALU

 []


CPU11Single Instruction, Single DataSingle Instruction, Multiple DataSIMDSWAR (SIMD Within ARegister) MIMD

22008SIMD[]

1004400

[]



for (int i = 0; i < 100 * 4; i++)
    result[i] = source0[i] + source1[i];

この方法では、ループ内で加算命令が400回実行される他にも、forループのための条件分岐ジャンプやカウンタiの加算など多数の命令が実行される。

SIMDによる並列実行方式, レジスタパッキング(SWAR)[編集]

次に、システムに用意されたSIMD命令vector_sumを用いて、4次元ベクトルの計算を一度に行う方法を考える。以下に、ベクトルの次元数やデータ型を省略した簡潔なコードを示す。

for (int el = 0; el < 100; el++) // for each vector
    vector_sum(result[el], source0[el], source1[el]);

4vector_sum41

SIMD4AltiVecSSE

 (SIMD/MIMD)[]



streamElements 100
streamElementFormat 4 numbers
elementKernel "@arg0+@arg1"
result = kernel(source0, source1)

41100 1004ALU

SIMD/MIMDStreamGPU

シストリック・アレイ・パラダイム[編集]

別の並列データの演算に対するストリームプロセッシングのパラダイムとして、(通常はハードワイヤーの)シストリック・アレイ英語版というものがあり、広く認知された Data streamSuper systolic array (再構成可能: 例えばrDPA: Reconfigurable datapath array) という用語の定義を含む。 この文章はSystolic arrayから派生したこれらのパラダイムについて十分考慮したものではない。

ストリーム・プロセッシングの考察[編集]


 (2005912)Stanford Shading languageImagineMerrimacMerrimac[?] AT&TGPU[1]

[]


使  I/O  GPUI/O I/O   (使)  (GPU)

寿

- BAAB使 Imagine Cell SPE Imagine SIMDCell  MIMD 

[?]CPU  CPU 

 (I/O) 

[]


SIMD  (AoS)  (SoA) 
// 三次元空間上の微粒子
struct particle_t {
    float x, y, z; // 配列にもなっていない!
    byte color[3]; // チャンネルあたり8bitで、RGBのみ考えている
    float size;
    // ...以下、それ以外の属性が続く...
};

AoS "size"   SIMD SIMD  "color""xyz"3SIMD 4

 CPU  SIMD  SoA
struct particle_t {
    float *x, *y, *z;
    byte *colorRed, *colorBlue, *colorGreen;
    float *size;
};

"*"CJava"*""[]"  "red"  "green"  "blue" 

使 GPU 16 GPU ""


汎用的なプロセッサのアーキテクチャ[編集]


CPU 使 ALU 使 ( 10% )

() 使

GPU  ( Imagine )CPU 

[?] () 64bit 128bit (42)  (512MB) 256bitPentiumAthlon6464bit (:2005?)

indirection chain

 (ALU)  SIMD  (RambusDDR SDRAM)調

 (90%) 1%

 Stream Register File (SRF)  ALU SRF  ALU Stanford  Imagine SRF DMA  DMA 使 (Imagine) Stanford 

 ALU 使

ALU  ALU  (LRF) 使

3

Hardware-in-the-loop []


1 (GPU) PCI ExpressGPU ()  使short stream effect

GPU  200 "uber shaders""texture atlases" GPU 

[]

Imagine[]


William DallyImagine 1996VLSI DARPA2002 3.5GFPS  1.6 

Merrimac[]


   Merrimac Merrimac /

Imagine[]


Stream Processors, Inc Storm-1 Standford  Imagine ISSCC 2007調30220 16bit GOPS (10)4TSMC130DSP

Graphics Processing Unit[]


Graphics Processing Unit (GPU) [2]NVIDIAAMD (ATI)  (GPGPU) GPUS3 GraphicsGPU退

NVIDIA GeForce/NVIDIA Quadro/NVIDIA Tesla

G80CUDA

AMD Radeon/AMD FirePro/FireStream

R6xxR7xx (RV770PRO) 11TFLOPS

S3 Chrome

Chrome 400 / 500OpenCL 1.0GPGPU

Cell[]


IBMCellCellPower Processing ElementSynergistic Processor Element SIMD  MIMDDMA256KiBCell(PS3CPUPC)

[]


CC++使



 Brook 

  Sh

MIT  StreamIt

 Shallows 

Concurrent Prolog

GHCKL1

PARLOG

Strand



PeakStream[1]Brook (20076Google)

Sh RapidMind



NVIDIACUDA (Compute Unified Device Architecture)

AMD/ATIATI StreamClose to Metal (CTM) Brook+

Stream Processors, IncStreamCImagine


関連項目[編集]

参考文献[編集]

  1. ^ Khailany, Dally, Rixner, Kapasi, Owens and Towles: "Exploring VLSI Scalability of Stream Processors", Stanford and Rice University.
  2. ^ Gummaraju and Rosenblum, "Stream processing in General-Purpose Processors", Stanford University.
  3. ^ Venkatasubramanian, "The Graphics Card as a Stream Computer", AT&T Labs - research.
  4. ^ Kapasi, Dally, Rixner, Khailany, Owens, Ahn and Mattson, "Programmable Stream Processors", Universities of Stanford, Rice, California (Davis) and Reservoir Labs.

脚注[編集]

  1. ^ http://arstechnica.com/news.ars/post/20060918-7763.html

外部リンク[編集]

  • Electronics Weekly の記事 がストリームプロセッサ技術を開発している Stream Processors, Inc. (SPI) を特集している。
  • EE Times の記事 がストリームプロセッサ技術を開発している Stream Processors, Inc. (SPI) を特集している。
  • EDN の 記事 がストリームプロセッサ技術を開発している Stream Processors, Inc. (SPI) を特集している。
  • San Jose Mercury News の記事 がストリームプロセッサ技術を開発している Stream Processors, Inc. (SPI) を特集している。
  • プレスリリース で、AMD の R580 GPU に基づいたエンタープライズ用途の専用ストリームプロセッシングユニットの出荷情報を公開している。