GPUs and GPU Programming Bharadwaj Subramanian, Apollo Ellis, Keshav Pingali
Keshav Pingali The University of Texas at Austin Specialization is for dodos.
-
Upload
drusilla-berry -
Category
Documents
-
view
216 -
download
0
Transcript of Keshav Pingali The University of Texas at Austin Specialization is for dodos.
![Page 1: Keshav Pingali The University of Texas at Austin Specialization is for dodos.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f135503460f94c2706e/html5/thumbnails/1.jpg)
Keshav PingaliThe University of Texas at Austin
Specialization is for dodos
![Page 2: Keshav Pingali The University of Texas at Austin Specialization is for dodos.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f135503460f94c2706e/html5/thumbnails/2.jpg)
Lesson from natural world
• Brown bears– Adapted to live in temperate forests
• Polar bears– Adapted to live above Arctic Circle
• Polar bears evolved from brown bears• Specialization
– Driven by struggle for survival
Specialization
![Page 3: Keshav Pingali The University of Texas at Austin Specialization is for dodos.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f135503460f94c2706e/html5/thumbnails/3.jpg)
Lesson from Salt Lake City
• 1830-1978: – Mormons were mostly white– Very specialized
• 1978: – Church elders have divine revelation
• Today: – Mormons are very diverse
• Generalization:– Driven by struggle for survival
Generalization
![Page 4: Keshav Pingali The University of Texas at Austin Specialization is for dodos.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f135503460f94c2706e/html5/thumbnails/4.jpg)
Main take-away
• Struggle for survival can lead to both specialization and generalization
• Specialization– Useful when there are mutually exclusive
alternatives• Generalization
– Useful if you can adapt to diverse environments– (eg) human beings of all races now live all over
the world• What are the lessons for programming
languages?
![Page 5: Keshav Pingali The University of Texas at Austin Specialization is for dodos.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f135503460f94c2706e/html5/thumbnails/5.jpg)
Specialized languages = DSLs• DSLs usually evolve into general-purpose languages
– To deal with diverse data types – To grow market share
• MATLAB– Began with dense matrices and vectors to use EISPACK and
LINPACK w/o writing FORTRAN code– Today: sparse matrices, objects, ADT’s, etc.– APL: dodo of array languages
• SQL– Focus on structured data aka relations– Today: evolving to deal with unstructured data
• Erlang– Began as a way to write telephony apps– Today: has evolved to a general functional language
![Page 6: Keshav Pingali The University of Texas at Austin Specialization is for dodos.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f135503460f94c2706e/html5/thumbnails/6.jpg)
Two claims for DSLs
• Claim I: productivity– Programmers can code with domain abstractions– (eg) relations, groups, fields, etc.
• Claim II: performance– Compilers for DSLs can use domain-specific
information to optimize programs– (eg) optimization in SQL
• Counter-point:– Can be implemented easily in general-purpose
languages
ADTs + semantic information about methods
![Page 7: Keshav Pingali The University of Texas at Austin Specialization is for dodos.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f135503460f94c2706e/html5/thumbnails/7.jpg)
Anecdotal Evidence
• Graph analytics • Many DSLs:
– GraphLab, PowerGraph, Ligra, SociaLite..
• Galois:– General-purpose
programming model implemented in sequential C++
• SOSP 2014: Nguyen et al– Galois programs run 10-
10,000 times faster than GraphLab programs
– Shim for GraphLab on top of Galois in about 200 lines of code
![Page 8: Keshav Pingali The University of Texas at Austin Specialization is for dodos.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f135503460f94c2706e/html5/thumbnails/8.jpg)
Generalization
Specialization