SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. ·...
Transcript of SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. ·...
![Page 1: SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. · SUPERCONDUCTOR 1 Million Nodes at 30 FPS Matthew E. Torok, UC Berkeley Par Lab mtorok@eecs.berkeley.edu](https://reader036.fdocuments.us/reader036/viewer/2022070114/6081b1625ed83612b12030ef/html5/thumbnails/1.jpg)
SUPERCONDUCTOR1 Million Nodes at 30 FPS
Matthew E. Torok, UC Berkeley Par [email protected]
Monday, August 20, 12
![Page 2: SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. · SUPERCONDUCTOR 1 Million Nodes at 30 FPS Matthew E. Torok, UC Berkeley Par Lab mtorok@eecs.berkeley.edu](https://reader036.fdocuments.us/reader036/viewer/2022070114/6081b1625ed83612b12030ef/html5/thumbnails/2.jpg)
New Age of Visualizations
Monday, August 20, 12
![Page 3: SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. · SUPERCONDUCTOR 1 Million Nodes at 30 FPS Matthew E. Torok, UC Berkeley Par Lab mtorok@eecs.berkeley.edu](https://reader036.fdocuments.us/reader036/viewer/2022070114/6081b1625ed83612b12030ef/html5/thumbnails/3.jpg)
Big Data
New Age of Visualizations
speed
Monday, August 20, 12
![Page 4: SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. · SUPERCONDUCTOR 1 Million Nodes at 30 FPS Matthew E. Torok, UC Berkeley Par Lab mtorok@eecs.berkeley.edu](https://reader036.fdocuments.us/reader036/viewer/2022070114/6081b1625ed83612b12030ef/html5/thumbnails/4.jpg)
Big Data - and -
New Age of Visualizations
speed
Monday, August 20, 12
![Page 5: SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. · SUPERCONDUCTOR 1 Million Nodes at 30 FPS Matthew E. Torok, UC Berkeley Par Lab mtorok@eecs.berkeley.edu](https://reader036.fdocuments.us/reader036/viewer/2022070114/6081b1625ed83612b12030ef/html5/thumbnails/5.jpg)
Big Data Small Devices- and -
New Age of Visualizations
speed power
Monday, August 20, 12
![Page 6: SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. · SUPERCONDUCTOR 1 Million Nodes at 30 FPS Matthew E. Torok, UC Berkeley Par Lab mtorok@eecs.berkeley.edu](https://reader036.fdocuments.us/reader036/viewer/2022070114/6081b1625ed83612b12030ef/html5/thumbnails/6.jpg)
Data visualization system
Use GPU for layout and rendering
Fast: 100,000 nodes at 27fps
Power efficient: data parallelism
Web-Friendly: OpenCL today, WebCL tomorrow
Superconductor is...
Monday, August 20, 12
![Page 7: SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. · SUPERCONDUCTOR 1 Million Nodes at 30 FPS Matthew E. Torok, UC Berkeley Par Lab mtorok@eecs.berkeley.edu](https://reader036.fdocuments.us/reader036/viewer/2022070114/6081b1625ed83612b12030ef/html5/thumbnails/7.jpg)
ARCHITECTURE
Monday, August 20, 12
![Page 8: SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. · SUPERCONDUCTOR 1 Million Nodes at 30 FPS Matthew E. Torok, UC Berkeley Par Lab mtorok@eecs.berkeley.edu](https://reader036.fdocuments.us/reader036/viewer/2022070114/6081b1625ed83612b12030ef/html5/thumbnails/8.jpg)
Creating Widgets
Use FTL language and compiler
Simple, declarative syntax
Simplicity of Javascript, speed of GPU
FTL: Synthesizes traversal schedule from layout spec, uses specializers to create tuned OpenCL kernels
Monday, August 20, 12
![Page 9: SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. · SUPERCONDUCTOR 1 Million Nodes at 30 FPS Matthew E. Torok, UC Berkeley Par Lab mtorok@eecs.berkeley.edu](https://reader036.fdocuments.us/reader036/viewer/2022070114/6081b1625ed83612b12030ef/html5/thumbnails/9.jpg)
FTL Data Flow
Monday, August 20, 12
![Page 10: SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. · SUPERCONDUCTOR 1 Million Nodes at 30 FPS Matthew E. Torok, UC Berkeley Par Lab mtorok@eecs.berkeley.edu](https://reader036.fdocuments.us/reader036/viewer/2022070114/6081b1625ed83612b12030ef/html5/thumbnails/10.jpg)
Runtime
Monday, August 20, 12
![Page 11: SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. · SUPERCONDUCTOR 1 Million Nodes at 30 FPS Matthew E. Torok, UC Berkeley Par Lab mtorok@eecs.berkeley.edu](https://reader036.fdocuments.us/reader036/viewer/2022070114/6081b1625ed83612b12030ef/html5/thumbnails/11.jpg)
Runtime
Host code reads data into tree structure
Monday, August 20, 12
![Page 12: SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. · SUPERCONDUCTOR 1 Million Nodes at 30 FPS Matthew E. Torok, UC Berkeley Par Lab mtorok@eecs.berkeley.edu](https://reader036.fdocuments.us/reader036/viewer/2022070114/6081b1625ed83612b12030ef/html5/thumbnails/12.jpg)
Runtime
Host code reads data into tree structure
Tree transferred into GPU memory
Monday, August 20, 12
![Page 13: SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. · SUPERCONDUCTOR 1 Million Nodes at 30 FPS Matthew E. Torok, UC Berkeley Par Lab mtorok@eecs.berkeley.edu](https://reader036.fdocuments.us/reader036/viewer/2022070114/6081b1625ed83612b12030ef/html5/thumbnails/13.jpg)
Runtime
Host code reads data into tree structure
Tree transferred into GPU memory
Layout engine ‘draws’ vertices into shared GPU buffer
Monday, August 20, 12
![Page 14: SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. · SUPERCONDUCTOR 1 Million Nodes at 30 FPS Matthew E. Torok, UC Berkeley Par Lab mtorok@eecs.berkeley.edu](https://reader036.fdocuments.us/reader036/viewer/2022070114/6081b1625ed83612b12030ef/html5/thumbnails/14.jpg)
Runtime
Host code reads data into tree structure
Tree transferred into GPU memory
Layout engine ‘draws’ vertices into shared GPU buffer
OpenGL renders vertex buffer to
screen
Monday, August 20, 12
![Page 15: SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. · SUPERCONDUCTOR 1 Million Nodes at 30 FPS Matthew E. Torok, UC Berkeley Par Lab mtorok@eecs.berkeley.edu](https://reader036.fdocuments.us/reader036/viewer/2022070114/6081b1625ed83612b12030ef/html5/thumbnails/15.jpg)
Architecting for Speed
Data only moved once (we have big data)
Layout engine generated vertices — speaks language of OpenGL
Monday, August 20, 12
![Page 16: SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. · SUPERCONDUCTOR 1 Million Nodes at 30 FPS Matthew E. Torok, UC Berkeley Par Lab mtorok@eecs.berkeley.edu](https://reader036.fdocuments.us/reader036/viewer/2022070114/6081b1625ed83612b12030ef/html5/thumbnails/16.jpg)
Parallel Tree Traversals
Tree laid out as structure-split arrays
Monday, August 20, 12
![Page 17: SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. · SUPERCONDUCTOR 1 Million Nodes at 30 FPS Matthew E. Torok, UC Berkeley Par Lab mtorok@eecs.berkeley.edu](https://reader036.fdocuments.us/reader036/viewer/2022070114/6081b1625ed83612b12030ef/html5/thumbnails/17.jpg)
Parallel Tree Traversals
Tree laid out as structure-split arrays
Monday, August 20, 12
![Page 18: SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. · SUPERCONDUCTOR 1 Million Nodes at 30 FPS Matthew E. Torok, UC Berkeley Par Lab mtorok@eecs.berkeley.edu](https://reader036.fdocuments.us/reader036/viewer/2022070114/6081b1625ed83612b12030ef/html5/thumbnails/18.jpg)
Parallel Tree Traversals
Then traversed level-by-level, synchronous
Monday, August 20, 12
![Page 19: SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. · SUPERCONDUCTOR 1 Million Nodes at 30 FPS Matthew E. Torok, UC Berkeley Par Lab mtorok@eecs.berkeley.edu](https://reader036.fdocuments.us/reader036/viewer/2022070114/6081b1625ed83612b12030ef/html5/thumbnails/19.jpg)
Parallel Tree Traversals
Level 0 (root) In top-down traversal, start with root
Monday, August 20, 12
![Page 20: SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. · SUPERCONDUCTOR 1 Million Nodes at 30 FPS Matthew E. Torok, UC Berkeley Par Lab mtorok@eecs.berkeley.edu](https://reader036.fdocuments.us/reader036/viewer/2022070114/6081b1625ed83612b12030ef/html5/thumbnails/20.jpg)
Parallel Tree Traversals
Level 1 Then process each subsequent level serially
Monday, August 20, 12
![Page 21: SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. · SUPERCONDUCTOR 1 Million Nodes at 30 FPS Matthew E. Torok, UC Berkeley Par Lab mtorok@eecs.berkeley.edu](https://reader036.fdocuments.us/reader036/viewer/2022070114/6081b1625ed83612b12030ef/html5/thumbnails/21.jpg)
Parallel Tree Traversals
Level 2 The nodes within a level are processed in parallel
Monday, August 20, 12
![Page 22: SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. · SUPERCONDUCTOR 1 Million Nodes at 30 FPS Matthew E. Torok, UC Berkeley Par Lab mtorok@eecs.berkeley.edu](https://reader036.fdocuments.us/reader036/viewer/2022070114/6081b1625ed83612b12030ef/html5/thumbnails/22.jpg)
Parallel Tree Traversals
Monday, August 20, 12
![Page 23: SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. · SUPERCONDUCTOR 1 Million Nodes at 30 FPS Matthew E. Torok, UC Berkeley Par Lab mtorok@eecs.berkeley.edu](https://reader036.fdocuments.us/reader036/viewer/2022070114/6081b1625ed83612b12030ef/html5/thumbnails/23.jpg)
DEMO2011 Russian Legislative Election
Monday, August 20, 12
![Page 24: SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. · SUPERCONDUCTOR 1 Million Nodes at 30 FPS Matthew E. Torok, UC Berkeley Par Lab mtorok@eecs.berkeley.edu](https://reader036.fdocuments.us/reader036/viewer/2022070114/6081b1625ed83612b12030ef/html5/thumbnails/24.jpg)
JavaScript Comparison: Treemap
27 FPS
JavaScript2.3GHz Core i7
SuperconductorGeForce GT 650M
500
100,000
Monday, August 20, 12
![Page 25: SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. · SUPERCONDUCTOR 1 Million Nodes at 30 FPS Matthew E. Torok, UC Berkeley Par Lab mtorok@eecs.berkeley.edu](https://reader036.fdocuments.us/reader036/viewer/2022070114/6081b1625ed83612b12030ef/html5/thumbnails/25.jpg)
Weak Scaling on GPU
Nodes Speed
10,000 26 FPS
100,000 26 FPS
1,000,000 4.5 FPS
300 line declarative spec synthesized into 5 efficient tree traversals
Early Results
Monday, August 20, 12
![Page 26: SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. · SUPERCONDUCTOR 1 Million Nodes at 30 FPS Matthew E. Torok, UC Berkeley Par Lab mtorok@eecs.berkeley.edu](https://reader036.fdocuments.us/reader036/viewer/2022070114/6081b1625ed83612b12030ef/html5/thumbnails/26.jpg)
WHAT’S NEXT?
Monday, August 20, 12
![Page 27: SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. · SUPERCONDUCTOR 1 Million Nodes at 30 FPS Matthew E. Torok, UC Berkeley Par Lab mtorok@eecs.berkeley.edu](https://reader036.fdocuments.us/reader036/viewer/2022070114/6081b1625ed83612b12030ef/html5/thumbnails/27.jpg)
Future Extensions
Beyond tree traversals: graphs
Beyond OpenCL: WebCL
Data binding & mutation
Open Source: 2013?
Monday, August 20, 12
![Page 28: SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. · SUPERCONDUCTOR 1 Million Nodes at 30 FPS Matthew E. Torok, UC Berkeley Par Lab mtorok@eecs.berkeley.edu](https://reader036.fdocuments.us/reader036/viewer/2022070114/6081b1625ed83612b12030ef/html5/thumbnails/28.jpg)
Summary
Declarative visualization language
GPU: big data & small devices
Result:
100,000 node interactive animation
200x speedup vs. other high-level language (JS)
Monday, August 20, 12
![Page 29: SUPERCONDUCTOR - Par Labparlab.eecs.berkeley.edu/sites/all/parlab/files... · 2012. 8. 22. · SUPERCONDUCTOR 1 Million Nodes at 30 FPS Matthew E. Torok, UC Berkeley Par Lab mtorok@eecs.berkeley.edu](https://reader036.fdocuments.us/reader036/viewer/2022070114/6081b1625ed83612b12030ef/html5/thumbnails/29.jpg)
SUPERCONDUCTORComing Soon
Monday, August 20, 12