CS 61A/CS 98-52
Mehrdad Niknami
University of California, Berkeley
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 1 / 25
CS 61A/CS 98-52 Mehrdad Niknami University of California, Berkeley - - PowerPoint PPT Presentation
CS 61A/CS 98-52 Mehrdad Niknami University of California, Berkeley Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 1 / 25 Preliminaries Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 2 / 25 Preliminaries Today, were going to learn how to
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 1 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 2 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 2 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 2 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 2 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 2 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 2 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 2 / 25
1 How big can the sum be (at most)? What is the worst case? Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 2 / 25
1 How big can the sum be (at most)? What is the worst case? 2 How long does summation take in the worst case? Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 2 / 25
1 How big can the sum be (at most)? What is the worst case? 2 How long does summation take in the worst case? Why? Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 2 / 25
1 How big can the sum be (at most)? What is the worst case? 2 How long does summation take in the worst case? Why?
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 2 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 3 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 3 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 3 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 3 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 3 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 3 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 3 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 3 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 3 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 3 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 3 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 4 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 4 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 4 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 4 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 5 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 5 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 5 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 5 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 5 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 5 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 6 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 6 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 6 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 6 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 6 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 7 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 7 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 7 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 7 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 7 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 7 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 7 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 8 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 9 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 9 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 9 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 9 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 10 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 10 / 25
1However, Python code can release GIL when calling non-Python code. Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 11 / 25
1However, Python code can release GIL when calling non-Python code. Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 11 / 25
1However, Python code can release GIL when calling non-Python code. Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 11 / 25
1However, Python code can release GIL when calling non-Python code. Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 11 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 12 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 12 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 12 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 12 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 12 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 12 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 12 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 12 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 12 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 13 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 13 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 14 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 14 / 25
1 Divide problem into separate subproblems Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 14 / 25
1 Divide problem into separate subproblems 2 Solve subproblems in parallel Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 14 / 25
1 Divide problem into separate subproblems 2 Solve subproblems in parallel 3 Merge sub-results into main result Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 14 / 25
1 Divide problem into separate subproblems 2 Solve subproblems in parallel 3 Merge sub-results into main result
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 14 / 25
1 Divide problem into separate subproblems 2 Solve subproblems in parallel 3 Merge sub-results into main result
1 Split each n-bit number into p pieces Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 14 / 25
1 Divide problem into separate subproblems 2 Solve subproblems in parallel 3 Merge sub-results into main result
1 Split each n-bit number into p pieces 2 XOR each n/p-bit pair of numbers independently Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 14 / 25
1 Divide problem into separate subproblems 2 Solve subproblems in parallel 3 Merge sub-results into main result
1 Split each n-bit number into p pieces 2 XOR each n/p-bit pair of numbers independently 3 Put back the bits together Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 14 / 25
1 Divide problem into separate subproblems 2 Solve subproblems in parallel 3 Merge sub-results into main result
1 Split each n-bit number into p pieces 2 XOR each n/p-bit pair of numbers independently 3 Put back the bits together
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 14 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 15 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 15 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 15 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 15 / 25
1 Split each n-bit number into p pieces Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 15 / 25
1 Split each n-bit number into p pieces 2 Add each n/p-bit pair of numbers independently Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 15 / 25
1 Split each n-bit number into p pieces 2 Add each n/p-bit pair of numbers independently 3 Put back the bits together Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 15 / 25
1 Split each n-bit number into p pieces 2 Add each n/p-bit pair of numbers independently 3 Put back the bits together 4 ... Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 15 / 25
1 Split each n-bit number into p pieces 2 Add each n/p-bit pair of numbers independently 3 Put back the bits together 4 ... 5 Profit? Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 15 / 25
1 Split each n-bit number into p pieces 2 Add each n/p-bit pair of numbers independently 3 Put back the bits together 4 ... 5 Profit? No? Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 15 / 25
1 Split each n-bit number into p pieces 2 Add each n/p-bit pair of numbers independently 3 Put back the bits together 4 ... 5 Profit? No? What’s wrong? Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 15 / 25
1 Split each n-bit number into p pieces 2 Add each n/p-bit pair of numbers independently 3 Put back the bits together 4 ... 5 Profit? No? What’s wrong?
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 15 / 25
1 Split each n-bit number into p pieces 2 Add each n/p-bit pair of numbers independently 3 Put back the bits together 4 ... 5 Profit? No? What’s wrong?
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 15 / 25
1 Split each n-bit number into p pieces 2 Add each n/p-bit pair of numbers independently 3 Put back the bits together 4 ... 5 Profit? No? What’s wrong?
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 15 / 25
1 Split each n-bit number into p pieces 2 Add each n/p-bit pair of numbers independently 3 Put back the bits together 4 ... 5 Profit? No? What’s wrong?
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 15 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 16 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 16 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 16 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 16 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 16 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 16 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 16 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 16 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 16 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 16 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 16 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 16 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 16 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 16 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 17 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 17 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 17 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 17 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 17 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 17 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 17 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 17 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 17 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 17 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 18 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 18 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 18 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 19 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 19 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 19 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 19 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 19 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 19 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 19 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 19 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 19 / 25
2Simplified; detailed analysis is a little tedious. See here. Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 20 / 25
2Simplified; detailed analysis is a little tedious. See here. Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 20 / 25
2Simplified; detailed analysis is a little tedious. See here. Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 20 / 25
2Simplified; detailed analysis is a little tedious. See here. Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 20 / 25
2Simplified; detailed analysis is a little tedious. See here. Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 20 / 25
2Simplified; detailed analysis is a little tedious. See here. Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 20 / 25
2Simplified; detailed analysis is a little tedious. See here. Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 20 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 21 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 21 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 21 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 21 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 21 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 21 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 21 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 21 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 21 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 22 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 22 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 22 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 22 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 22 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 23 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 23 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 23 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 23 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 23 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 23 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 23 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 23 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 23 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 24 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 24 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 24 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 25 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 25 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 25 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 25 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 25 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 25 / 25
Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 25 / 25