1. GPU Architecture, SLI
and CrossFire
ก F F
471660
F Seminar in Computer Engineering
(CPE489)
ก F
ก F
ก ก 1/2550
2. ก F Seminar in Computer Engineering (CPE489)
F ก ก ก F F ก ก Fก
F GPU Architecture, SLI and CrossFire GPU
F F F ก ก F ก F F
F ก GPU( GPU Architecture) ก F GPU 2
F ก SLI ก F ก ก nVidia
CrossFire ATI F ก
F ก F F ก ก
F F F ก F Fก F ก F
GPU Architecture, SLI CrossFire ก F
F ก F ก F F F F
F
ก F F
3. : ก F F 471660
: GPU Architecture, SLI and CrossFire
F : . F ก
ก ก : 2550
: GPU (Graphic Processing Unit)
F
Graphic Processing Unit (GPU) F F ก ก F
nVidia ATI F ก กก F F Multi-GPU
F ก ก F ก F ก ก F F
nVidia ก F Scaleable Link Interface (SLI) ATI ก F CrossFire
GPU F F F ก ก F F
ก ก ก processing stage GPU
F F ก F ก (CPU) F F ก F
ก F Fก ก F multi-GPU SLI ก กก F 2
F PCI-Express 16X F ก F SLI Bridge ก
ก F F ก GPU ก F F Fก F F
ก F ก F ก Crossfire ก master-slave ก F
ก F ก F CrossFire Edition ก F slave ก F F
F ก ก ก F ก CrossFire ก F F ก F
F F DVI DMS F Y F F DVI ก F
F ก ก F ก ก GPU
CrossFire F ก F SLI ก F ก 4
F SLI F
FF SLI CrossFire ก ก กก F 2
F ก Fก multi-GPU F Fก ก F
F ก F F ก ก F
F F F ก ก 3
4. Name : Miss Chulalak Prachaney
Project Title : GPU Architecture, SLI and CrossFire
Advisor : Dr. UT Goenchanart
Academic year : 2550
Keyword : GPU (Graphic Processing Unit)
Abstract
Graphic Processing Unit (GPU) is Processing Unit of Computer s graphic so,
NVIDIA and ATI Cooperation have built technology that link GPU together call Multi-GPU
for make the high quality by NVIDIA call this technology Scaleable Link Interfaces (SLI) .
GPU is Processing Unit that used to display image to screen and with it parallel
processing topology in high level that computer. Follow the command of processing state
GPU So there, it help to reduce frame from CPU, from this case. Multi GPU is born. By this
technology SLI is take two graphic that process on PCI-Express 16X link together with SLI
Bridge. To processing image. And fragment processing of GPU into two fragments so it must
use graphic card in the same version, in the same time. The different of SLI and Crossfire is
it processing by master-slave, so use one main graphic card. Use to work in Crossfire Edition
and slave s card is general card that in the family of main card. Gross fire is going to link
between two graphic card troughs. DVI port of two graphic card in rendering case, for lie the
processing from two GPU on Cross Fire technology have advantage much more SLI is have
4 render modes but. SLI have only two modes.
Nor matter SLI or Gross Fire technology processing with two graphic cards and link
by multi-GPU, So it result for high quality of rendering and processing image to two times.
6. ( F)
F
4. CrossFire............................................................................................................ 12
4.1 Introduction.................................................................................................. 12
4.2 ก F F ก F CrossFire ... 12
4.3 CrossFire Rendering Mode.......................................................................... 14
4.3.1 Super Tiling Mode ( F ก F ) . 14
4.3.2 Scissor Mode ( F F ).................. 15
4.3.3 Alternative Frame Rendering Mode ( ) ..... 16
4.3.4 Super Anti-Aliasing (Super AA) Mode (ก ก)........... 17
4.4 F CrossFire ก F SLI nVIDIA............................ 19
4.5 F CrossFire ก SLI nVIDIA...... 20
5. ............................................................................................................... 21
ก F .................................................................................................................. 22
7. F
2.1 Illustration of the GPU graphic pipeline . 4
2.2 Streaming model that applies kernels to an input stream
and write to an output stream .............. 5
3.1 ก F SLI NVIDIA .. 6
3.2 ก F ก SLI 3dfx 7
3.3 NVIDIA SLI Multi-GPU Technology ........... 8
3.4 nForce4-SLI ... ......... 9
3.5 ก กก F PCI Express ... ...... 9
3.6 SLI Connector ... .................. 10
3.7 Split-frame rendering ... ....... 11
3.8 Alternate-frame rendering ... 11
4.1 ก F F ก F CrossFire ... 13
4.2 F DMS F DVI Y .............. 13
4.3 Super Tiling Mode ... ........... 15
4.4 Scissor Mode ... .................... 16
4.5 Alternative Frame Rendering (AFR) Mode 17
4.6 Super Anti-Aliasing (Super AA) Mode .. 19
8. 1
Graphic Processing Unit (GPU) F F ก ก F
F ก F ก ก ก
ก F ก ก
GPU F ก F Fก กก F ก F ก
ก Fก ก 2D, 3D F F
nVidia ATI F F ก กก F F Multi-GPU F ก
ก F ก ก ก F ก F F F ก F F
nVidia ก F Scaleable Link Interface (SLI) ATI
ก F CrossFire
SLI ก F ก ก nVidia ก
3dfx 1998 F 3dfx F F F ก
ก กก F 2 F ก F SLI F SLI
3dfx F ก Scan Line Interleave SLI 3dfx ก
ก ก ก กF F ก frame rates ก frame
rates ก F ก F กก F SLI Voodoo2 F
1024x768 F ก 3dfx F F
ก กก F Voodoo2 ก SLI F ก ก F Voodoo2
SLI 3dfx ก F F F F F F Fก
F กก F AGP F F F ก AGP
F กF F F ก PCI ก ก F F ก กก F PCI
NVIDIA F F SLI NVIDIA
F ก F PCI Express F F ก ก
F F Fก ก F F PCI Express กก F
F ( F F AGP ก ก F F
9. ) F NVIDIA F 3dfx Fก ก ก F
ก F F ก ก ก F PCI Express
2 F
CrossFire ATI F F ก SLI nVidai
F ก F ก ก F ก ก SLI
ก F Multi-GPU ก ATI F F ก ก F
Multi-GPU F Fก กก F F ก 2 F ก F ก
F ก F CrossFire Edition ก F ก F slave ก F F
ก F F F ก ก ก F ก ก ก F
F ก F F F F F Fก F
10. 2
Graphic Processing Unit (GPU)
2.1 Introduction
Graphic Processing Unit (GPU) ก F Visual Processing Unit
F F F ก ก F GPU F
ก ก - ก ก F ก ก F F
ก GPU F F ก F
ก (CPU) F F ก
ก F GPU F F F F F ก F Fก
กก F ก F ก ก Fก ก 2D
BitBLT ( ก ก F Bitmap F RasterOp) F
F F ก F bitter ก ก
ก GPU ก ก 3D F
GPU F F F F ก ก ก3 F ก
F memory texture rendering ก ก F ก
F F ก CPU ก
ก ก Fก texture
ก CPU F ก F ก F Fก F F
F กก F matrix vector ก - ก
ก F ก ก ก ก GPU ก F GPU ก - non-
graphical
11. 2.2 GPU Architecture
F F ก GPU F
กก ก F ก ก input F ก output
กF F output ก F F ก GPU
ก processing stage ก F pipeline ก ก 3
1. ก (vertex processing)
2. ก ก F (resterization)
3. ก ก ก (fragment processing)
ก ก ก (vertex processing) ก
3 Fก 2 ก
2,3 4 ก ก ก
resterization ก F F F F
ก ก ก F ก ก F F
F ก ก F F ก ก
ก (fragment processing) ก ก pixel F
ก F texel pixel ก texture memory
F GPU F ก Fก fragment กF
ก vertex GPU ก fragment กก F vertex
processor ก ก ก F
GPU F ก ก ก
ก ก ก ก ก ก ก
F F ก F ก F input vector ก
pixel
12. 1
2.1 Illustration of the GPU graphic pipeline
ก F ก F ก ก ก GPU F
กก ก F 2 ก F F ก
ก ก ก ก F ก F F ก
F GeForce 6800 GT 6 vertex processors 16 fragment processors F ก
ก vector 4 ( ก F RGBA)
F F F GPU FF ก ก F
(streaming processors) 1.2 ก F Texture Kernel
F Texture F กก stream ก F
F F ก F texture F ก F GPU F
ก texture F F F ก
GPU FF ก
Kernel F ก ก fragment GPU ก F
ก F stream F stream Fก fragment processors
GPU SIMD F F GeForce 6800 Ultra 16 fragment
processors
1
http://www.ntu.edu.sg/home/asbschmidt/paper/BioGPU.pdf
13. ก ก F ก F F F กก
kernel ก stream F output stream ก kernel
kernel, output stream kernel ก input stream kernel
F ก F F GPU F fragment programs ก
F ก texture F ก input stream texture buffer
output stream F fragment processors ก SIMD
F ก F
2
2.2 Streaming model that applies kernels to an input stream and write
to an output stream
ก 1) texture F F
2) F F ก fragment programs
3) Feedback ก ก ก F output buffer ก F F
input texture
2
http://www.ntu.edu.sg/home/asbschmidt/paper/BioGPU.pdf
14. 3
Scalable Link Interface (SLI)
3.1 Introduction
Scalable Link Interface (SLI) ก F multi-GPU F
nVidia F ก กก F 2 F F PCI-Express 16X
ก F ก ก ก
ก ก ก ก ก F
2 F ก Fก F ก
1998 F ก กก F F 3dfx ( F
ก nVidia) 3dfx F F ก ก กก F 2
F ก F SLI F SLI 3dfx F F ก
Scan Line Interleave SLI 3dfx F F กก F ก
ก ก ก ก frame rates ก F ก
F กก F SLI Voodoo2 F 1024x768 F
ก 3dfx F Fก กก F Voodoo2
ก SLI F ก ก F Voodoo2 SLI 3dfx
F F F F F F Fก F กก
F AGP F F F ก AGP F ก F F F
ก PCI ก F F ก กก F PCI F F
SLI Voodoo2
1
3.1 ก F SLI nVidia
1
http://www.overclockzone.com/spin9/review/vga/nvidia/sli/index.html
15. ก SLI F F 6 nVidia ก
F F SLI nVidia F ก
F PCI Express F F ก ก F F
Fก กก F F PCI Express กก F F (
F F AGP ก ก F F ) F
nVidia F 3dfx Fก ก ก F ก F
F ก ก ก F PCI Express 2 F
nVidia nForce4 SLI F ก nVidia SLI Technology F F F SLI
nVidia F ก Scalable Link Interface
3.2 SLI 3dfx
กF ก F SLI nVidia ก F SLI
ก 3dfx กF SLI 3dfx ก Scan Line Interleave
ก ก Fก F ก F scan line F ก ก F
ก ก F F scan line F ก F ก
F scan line F F F F ก F 2
2
3.2 ก Fก SLI 3dfx
2
http://www.overclockzone.com/spin9/review/vga/nvidia/sli/index.html
16. 3.3 NVIDIA SLI Multi-GPU Technology
SLI nVidia Scalable Link Interface ก F
ก SLI 3dfx ก SLI NVIDIA กF
Dynamic Load Balancing Fก GPU F F
nVidia SLI Multi-GPU Fก ก full-
load rendering ( ก F ก balance) ก F ก F
F ก 3dfx GPU ก F ก F F GPU ก
F ก F F F F F ก
F F GPU F F Fก ก F
Fก SLI nVidia ก F SLI 3dfx
ก ก SLI nVidia F ก ก F
2048x1536
3
3.3 nVidia SLI Multi-GPU Technology
3
http://www.overclockzone.com/spin9/review/vga/nvidia/sli/index.html
17. 3.4 ก F SLI
3.4.1. F SLI Multi-GPU Technology
nVidia F nForce4-SLI F ก
SLI nForce4-SLI ก ก AMD ก 939
F SLI Intel Pentium4 F
SLI PCI Express x16 2 F ก F SLI
Connector F F ก F F
4
3.4 nForce4-SLI
3.4.2. ก กก F PCI Express SLI Capable 2
F SLI ก กก F ก F F
F ก F nVidia F nVidia F ก กก F PCI Express
SLI ก 4 F F ก ก F GeForce 6800 Ultra, GeForce 6800
GT, GeForce 6800 GeForce 6600 GT ก กก F 2 F SLI
F F ก กก F F ก F ก F F Fก
F Fก F Fก SLI F
5
3.5 ก กก F PCI Express
4
http://www.overclockzone.com/spin9/review/vga/nvidia/sli/index.html
5
http://www.overclockzone.com/spin9/review/vga/nvidia/sli/index.html
18. 3.4.3. SLI Connector (SLI video bridge Connector)
F ก F SLI Connector F ก F
ก กก F SLI F F ก Fก F SLI SLI
Connector F F ก F F F F F F F
PCI Express x16 F Fก
6
3.6 SLI Connector
3.4.4. NVIDIA Driver with SLI supported
F Fก กก F nVidia ForceWare Driver
F F F F SLI Multi-GPU Technology
3.5 SLI Rendering Mode
SLI ก F ก F2
3.5.1. SFR Split - frame Rendering
F ก F F ก 2 F F
GPU 2 F ก ก F 2 F F ก
F F ก FF ก F F F F
ก FF ก F ก ก F ก F
F
6
http://www.overclockzone.com/spin9/review/vga/nvidia/sli/index.html
19. 7
3.7 Split-frame rendering
3.5.2 AFR Alternate - frame Rendering
F ก Fก Fก F F
F ก F กก F F ก ก ก F
F ก F F F ก F
ก F ก ก F F ก F
F ก F F F ก
8
3.8 Alternate-frame rendering
7
http://http.download.nvidia.com/developer/presentations/2005/GDC/
OpenGL_Day/ OpenGL_SLI.pdf
8
http://http.download.nvidia.com/developer/presentations/2005/GDC/
OpenGL_Day/OpenGL_SLI.pdf
20. 4
CrossFire
4.1 Introduction
ก F ATI Multi-GPU ก F
F CrossFire ก Fก nVidia F F F ก ( F ATI F ก
F ) FF กก F F ก F ATI ก F F กF
SLI nVidia ก ก F F F F
ก F PCI-Express F ก
ก
CrossFire ก SLI F ก F
F ก CrossFire F กF SLI
nVidia ก F F SLI F F ก F F
ก F ก F CrossFire F ก ก F ก
F CrossFire F F ก F ก F
F ก F F F ก ก ก F กก F
ก F ก F CrossFire ก กก F ก F Master F ก F ก
ก F ก F ก F Slave
4.2 ก F F ก F CrossFire
ก F F ก F CrossFire F ก SLI nVidia
SLI F F F SLI bridge F ก F F
CrossFire F F F SLI bridge CrossFire ก F F ก F
F F DVI DMS
21. 1
4.1 ก F F ก F CrossFire
ก F F ก F slave (GPU2, ) ก output ก
F DVI output F input ก F CrossFire Edition ก F
master (GPU1, ) F F DMS ก ก F CrossFire Edition
ก F Composite Engine ก ก F ก F
F F ก F กก F slave กก F master กF
ก F ก F F DVI ก F master
ก F F ก F FF F F F Y F F
DVI ก F ก FF F DMS ก F CrossFire Edition
F ก ก F DVI ก F ก ก F F
2
4.2 F DMS F DVI Y
1
http://image.compusa.com/retail/collateral/ati/CrossFireWhitePaper.pdf
2
http://www.overclockzone.com/spin9/review/vga/ati/crossfire/index.html
22. ก กก F ก ATI CrossFire ก ก
ก Radeon X800 ก Radeon X850 F Fก F master F F
ก ก F CrossFire ก F master F F Radeon X800 CrossFire
Edition ก Radeon X850 CrossFire Edition F F CrossFire ก ก F F
ก F ก F F Radeon X800 XL CrossFire ก F F ก Radeon
X800 CrossFire Edition
ก กก F F CrossFire ก ก SLI F
F ก F F F ATI Xpress 200
PCI-Express x16 F CrossFire ก F Radeon
( F ก ก 775 ก ก 939 )
4.3 CrossFire Rendering Mode
F ก ก F ก ก GPU
CrossFire F ก F nVidia SLI ATI CrossFire
ก F ก 4 ก F multi-GPU
user F ก
4.3.5 Super Tiling Mode ( F ก F )
ก F Super Tiling Mode กก Super Tiling ก
ก F ก F 32 x
32 ก F ก กก ก F F F ก F
ก F F F ก F ก F ก
ก ก ก F ก F
Composite Engine F F ก ก F F
F ATI Fก ก F F F
(default) Direct3D ก ก F Fก F
ก ก F ก ก F F F ก F
ก F Pixel Shader ก F F กF F ก ก F F F ก
F ก F ก ก ก F F ก
OpenGL
23. 3
4.3 Super Tiling Mode
4.3.6 Scissor Mode ( F F )
F Scissor Mode ก F F ก ก
F ก ก F Split-Frame Rendering SLI nVidia
ก F ก F F ก
F F ก F F F F ก FF ก F ก
ก F ก F F F ก F
F F F F ก กก F 50:50
F F ก F SLI F
F ก ก ก F F
ก Scissor F Fก ก กก F
F OpenGL Direct3D ก FF F F F F load balancing F
ก F ก F F ก F ก Scissor Mode ก F ก
F ก ก
3
http://image.compusa.com/retail/collateral/ati/CrossFireWhitePaper.pdf
24. 4
4.4 Scissor Mode
4.3.7 Alternative Frame Rendering Mode ( )
กก F AFR ก F ก
Fก Fก F F F ก F กก F F
ก ก ก F F ก F F
F ( ก ก ก ก F ก
กF ) ก F
ก F ก ก F F F
F ก F F F ก F ก Multi-
Frame Rendering SLI ก ก ก F
ก ก ก ก Super
Tiling Mode Scissor Mode F ก ก F Fก load
balancing F ก Fก F OpenGL Direct3D ก F
4
http://image.compusa.com/retail/collateral/ati/CrossFireWhitePaper.pdf
25. 5
4.5 Alternative Frame Rendering (AFR) Mode
4.3.8 Super Anti-Aliasing (Super AA) Mode (ก ก)
F ก F ก ก F
ก F F ก ก
F ก F F SuperAA
F F ก Anti-Aliasing F กก ก ก
ก F ก ก
F กFก ก F F ก F F
ก ก F F ก F F
F ก F F
ก ก F F ก ก F ก
F F ATI S Redeon GPUS Smooth Vision F ก F กก
ก Multi-Sample Anti-Aliasing ก F ก 2, 4, 6 F
ก F F pixel F gamma ก F ก F
F ก F F pixel ก F
Cross Fire Super AA mode F F ก ก F ก
Smooth Vision HD F ก กFก ก multi GPU
system GPU F ก render frame ก anti-aliasing
5
http://image.compusa.com/retail/collateral/ati/CrossFireWhitePaper.pdf
26. F Fก F F F ก F ก F F ก ก
blender Cross Fire engine F 2 F ก F F 4x
6x AA 8x 12x
ก ก F Fก F ก
ก ก F ก ก ,
F ก F F ก MSAA ก
GPU F SSAA F F ก
SSAA F F ก ก render กF ก
กก F Output ก ก F
ก F F F2 F F ก F ก render pixel กก F ก
ก ก ก F F grid
ก ก F F
SUPER AA F F กF F F F GPU
render pixel frame F frame ก Fก F pattern
F F F F กก F
Super AA 2 F ก ก MSAA SSAA F
F ก F ก Fก F F ก F
ก offset pixel F ก GPU F ก render ก viewpoint
F ก pixel
ก ก SuperAA F F ก F ก F
ก Fก F F ก F F multi-GPU F F F ก
F F F F F F
27. 6
4.6 Super Anti-Aliasing (Super AA) Mode
4.4 F CrossFire ก F SLI nVIDIA
1. ATI ก F ก CrossFire F กF Intel F CrossFire
F Intel F F F 16xPCI-E
SLI F ก F F SLI
F
2. CrossFire F ก Fก F กF SLI
SLI nVidia ก F F SLI F
F ก F F ก F ก F CrossFire F ก
ก F ก F CrossFire F F ก F ก
ก F F ก F F F ก ก ก F กก
F
3. ATI CrossFire bridge F bit width ก F SLI clock F ก F
ก F ก F ก F ก 12 F F F
ก ก F CrossFire F F software F
F CrossFire F ก ก F single CrossFire ก
F SLI F GeForce 8800GTX F F F 2 F FF
F Fก F Bridge F ก F กF ก
F multi-GPU F pairs
6
http://image.compusa.com/retail/collateral/ati/CrossFireWhitePaper.pdf
28. 4.5 F CrossFire ก SLI nVIDIA
1. F OpenGL game F F CrossFire Catalyst AI F
F F rendering mode Scissor F กF
กF F F F ก SLI F rendering mode ก
F application manually กF ก F existing profile ก
ก F F Catalyst AI F 'Advanced' F manual mode
ก ก ก ก 3 ( Direct 3D game) F OpenGL games
2. ก F CrossFire F ก external y-cable/dongle F
CrossFire F F ก F PCI-e bus bandwidth F Fก
CrossFire F ก F ก F F Fก F
F F Y-Dongle ก ก dongle
F ก F ก F scaling effectiveness CrossFire setup
F F ก ก CrossFire F mid-range กF F
F ก Master card FF F Fก F ก
3. ก Fก F กFก F ก F
CrossFire ก F F ก F Master ก F
ก F F ก F กก F Fก F F F
4. 2007, CrossFire F ก notebook
F SLI nVidia F F
29. 5
SLI CrossFire ก ก กก F 2
F ก ก Fก multi-GPU F PCI-Express
F ก ก ก ก
F ก ก F Fก ก F
F ก F F ก ก F F
F F ก ก 3
F ก F F ก F ก F ก
กก F F F F ก ก F ก FF ก
F ก F ก F F ก
F ก F ก F multi-GPU F F F
ก F F F F F F F F F F F ก ก กก F
Fก กก F ก ก F ก กก F
ก F F F ก F
30. ก F
1 ก . 2548. CrossFire SLI F . CHIP.
ก .96-97
2 Ajit Datar and Apurva Padhye. 2005 (April, 14). Graphics Processing Unit Architecture
(GPU Arch) With a focus on NVIDIA GeForce 6800 GPU. [Online].Available URL:
http://www.d.umn.edu/~data0003/Talks/gpuarch.pdf
3 ATI CrossFire. http://en.wikipedia.org/wiki/ATI_CrossFire
4 ATI Technologies Inc. 2005. ATI CrossFire. [Online].Available URL:
http://image.compusa.com/retail/collateral/ati/CrossFireWhitePaper.pdf
5 Gerrit Voss and others. Biological Sequence Alignment on Graphics Processing
Units. [Online].Available URL:
http://www.ntu.edu.sg/home/asbschmidt/paper/BioGPU.pdf
Graphics processing unit . http://en.wikipedia.org/wiki/Graphics_processing_unit
6 James Fung and Steve Mann. 2004 (September, 9). COMPUTER VISION SIGNAL
PROCESSING ON GRAPHICS PROCESSING UNITS. [Online].Available URL:
http://www.eyetap.org/papers/docs/procicassp2004.pdf
7 Jin Hyuk Jung y. Cholesky Decomposition and Linear Programming on a GPU.
[Online].Available URL: http://www.cs.umd.edu/Grad/scholarlypapers/papers/jjung.pdf
8 Martin Christen. 2005 (January 19). Ray Tracing on GPU. [Online].Available URL:
http://gpurt.sourceforge.net/DA07_0405_Ray_Tracing_on_GPU-1.0.5.pdf
9 Ryszard Sommefeldt. 2004 (November, 22). NVIDIA's SLI - An Introduction.
[Online].Available URL: http://www.hexus.net/content/item.php?item=916
10 Scalable Link Interface. http://en.wikipedia.org/wiki/Scalable_Link_Interface
Simon Green. 2005 (March, 7). SLI MULTI-GPU. [Online].Available URL:
http://http.download.nvidia.com/developer/presentations/2005/GDC/OpenGL_Day/
OpenGL_SLI.pdf
11 Spin9. 2004 (December, 21). NVIDIA SLI Technology. [Online].Available URL:
http://www.overclockzone.com/spin9/review/vga/nvidia/sli/index.html
31. 20 Spin9. 2005 (October, 27). ATI CrossFire Multi-GPU Technology. [Online].Available
URL: http://www.overclockzone.com/spin9/review/vga/ati/crossfire/index.html
21 Tor Dokken. 2006 (March, 10). The Graphics Processing Unit (GPU) as a high
performance computational resource for simulation and geometry processing.
[Online].Available URL: http://www.aimatshape.net/downloads/nig-
nirg/workshop2006/dokken-darmstadt-march-2006_print.pdf/view
22 Zhe Fan and others. 2004 (November, 6). GPU Cluster for High Performance Computing.
[Online].Available URL: http://www.cs.sunysb.edu/~vislab/papers/GPUcluster_SC2004.pdf