583L16 - EECS 583 Class 16 Research Topic 1 Automatic...

Info iconThis preview shows pages 1–12. Sign up to view the full content.

View Full Document Right Arrow Icon
EECS 583 – Class 16 Research Topic 1 Automatic Parallelization University of Michigan November 7, 2011
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
- 1 - Announcements + Reading Material Midterm exam: Mon Nov 14 in class (Next Monday) » I will post 2 practice exams by tonight! » We‟ll talk more about the exam next class 1 st paper review due today! » Copy file to andrew.eecs.umich.edu:/y/submit » Put uniquename_classXX.txt Today‟s class reading » “Revisiting the Sequential Programming Model for Multi-Core,” M. J. Bridges, N. Vachharajani, Y. Zhang, T. Jablin, and D. I. August, Proc 40th IEEE/ACM International Symposium on Microarchitecture , December 2007. Next class reading » “Automatic Thread Extraction with Decoupled Software Pipelining,” G. Ottoni, R. Rangan, A. Stoler, and D. I. August, Proceedings of the 38th IEEE/ACM International Symposium on Microarchitecture , Nov. 2005.
Background image of page 2
- 2 - Class Problem from Last Time – Answer 1: y = 2: x = y 3: = x 6: y = 7: z = 8: x = 9: = y 10: = z 4: y = 5: = y 10 90 1 1 99 do a 2-coloring compute cost matrix draw interference graph color graph LR1(x) = {2,3,4,5,6,7,8,9} LR2(y) = {1,2} LR3(y) = {4,5,6,7,8,9} LR4(z) = {3,4,5,6,7,8,9,10} 2 1 4 3 Interference graph 1 2 3 4 cost 201 2 210 91 nbors 3 1 2 2 c/n 67 2 105 45.5
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
- 3 - Class Problem Answer (continued) 2 1 4 3 1. Remove all nodes degree < 2, remove node 2 1 4 3 2. Cannot remove any nodes, so choose node 4 to spill stack 2 1 3 3. Remove all nodes degree < 2, remove 1 and 3 stack 4 (spill) 2 stack 1 3 4 (spill) 2 4. Assign colors: 1 = red, 3 = blue, 4 = spill, 2 = blue
Background image of page 4
- 4 - Moore‟s Law Source: Intel/Wikipedia
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
- 5 - Single-Threaded Performance Not Improving
Background image of page 6
- 6 - What about Parallel Programming? –or- What is Good About the Sequential Model? Sequential is easier » People think about programs sequentially » Simpler to write a sequential program Deterministic execution » Reproducing errors for debugging » Testing for correctness No concurrency bugs » Deadlock, livelock, atomicity violations » Locks are not composable Performance extraction » Sequential programs are portable Are parallel programs? Ask GPU developers » Performance debugging of sequential programs straight-forward
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
- 7 - 1 10 100 1000 10000 100000 1000000 10000000 100000000 1971 1975 1979 1983 1987 1991 1995 1999 2003 Years Speedup Conclusion – Compilers not about performance!
Background image of page 8
- 8 - That isn't to say we are parallelizing arbitrary C code, that's a fool's errand! ” – Richard Lethin, Reservoir Labs Compiler can’t determine a tree from a graph…” – Burton Smith, MSR Compilers can’t determine dependences without type information. Even then…” Burton Smith Decades of automatic parallelization work has been a failure…” – James Larus, MSR “All that icky pointer chasing code. ..” – Tim Mattson, Intel What Do the Experts Say?
Background image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
A Step Back in Time: Old Skool Parallelization Are We Doomed?
Background image of page 10
- 10 - Parallelizing Loops In Scientific Applications for(i=1; i<=N; i++) // C a[i] = a[i] + 1; // X Scientific Codes (FORTRAN-like) Independent Multithreading (IMT) Example: DOALL parallelization 0 1 2 3 4 5 C:1 X:1 C:2 X:2 C:4 X:4 C:3 X:3 C:5 X:5 C:6 X:6
Background image of page 11

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 12
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 12/26/2011 for the course EECS 583 taught by Professor Flinn during the Fall '08 term at University of Michigan.

Page1 / 43

583L16 - EECS 583 Class 16 Research Topic 1 Automatic...

This preview shows document pages 1 - 12. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online