Modern GPU Programming with CUDA and Thrust
Modern GPU Programming with CUDA and Thrust
-
1. Modern GPU Programming With CU…
0
00:00/00:00
-
2. Plan
16.114441280783257
00:00/00:00
-
3. What is GPU computing?
19.338778568752343
00:00/00:00
-
4. Why GPU computing?
375.2466841513675
00:00/00:00
-
5. Is that a silver bullet?
492.76695391532411
00:00/00:00
-
6. What does the HW look like?
628.634270013738
00:00/00:00
-
7. But what's inside?
751.11320094916948
00:00/00:00
-
8. Could we make it simpler?
926.4018733608093
00:00/00:00
-
9. But what's the programming mod…
991.23685053788063
00:00/00:00
-
10. Ok, how do I code for that?
1244.3282673380636
00:00/00:00
-
11. A CUDA "Hello world!"
1500.9032883192187
00:00/00:00
-
12. A CUDA "Hello world!"
1577.391119249256
00:00/00:00
-
13. A CUDA "Hello world!"
1596.4453019631349
00:00/00:00
-
14. A CUDA "Hello world!"
1601.1516922692645
00:00/00:00
-
15. A CUDA "Hello world!"
1615.0388880563464
00:00/00:00
-
16. A CUDA "Hello world!"
1644.1680779318099
00:00/00:00
-
17. A CUDA "Hello world!"
1664.2506556762833
00:00/00:00
-
18. Let's step back...
1699.4571499937556
00:00/00:00
-
19. Let's step back...
1718.3000624453605
00:00/00:00
-
20. Let's step back...
1739.0024728362685
00:00/00:00
-
21. Let's step back...
1823.79557886849
00:00/00:00
-
22. Could we do the same for CUDA?
2247.5131759710252
00:00/00:00
-
23. Let's revisit our example
2352.884725864868
00:00/00:00
-
24. Let's revisit our example
2505.2395903584365
00:00/00:00
-
25. What is thrust good at?
3446.3934807043838
00:00/00:00
-
26. But is sufficient?
3649.9465217934307
00:00/00:00
-
27. Philosophy
3882.8796303234672
00:00/00:00
-
28. Example: saxpy
3998.4164356188335
00:00/00:00
-
29. Example: saxpy
4238.0904460352422
00:00/00:00
-
30. Performance Remarks
4379.2213930348262
00:00/00:00
-
31. Performance comparison
4495.9761235955057
00:00/00:00
-
32. Thrust main features
4627.24725603672
00:00/00:00
-
33. Let's get our hands dirty
4908.3561908441179
00:00/00:00
-
34. What you've got to do
5065.6379624222855
00:00/00:00
-
35. But that's not all
5231.6514247846253
00:00/00:00
-
36. What more?
5403.7624053826748
00:00/00:00
-
37. And in real life?
5558.7735655737706
00:00/00:00
-
38. So...
5713.39087857848
00:00/00:00