Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Raspberry Pi is a Gateway Drug for GPUs

Raspberry Pi is a Gateway Drug for GPUs

The free lunch provided by Moore’s Law is running out. Still, customers want more computing power, more performance. Parallelism (especially on GPUs) offers a way for software developers to deliver more. This talk offers an intro to parallelism on the Raspberry Pi with open source tools like Python. Finally, the presenter will show how the skills one uses to write parallel code on the Raspberry Pi can be adapted to GPUs. Stated another way: Raspberry Pi is a gateway drug for GPUs.

Ray Hightower

October 14, 2019
Tweet

More Decks by Ray Hightower

Other Decks in Technology

Transcript

  1. Is this text too small for us to read? Is

    this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read?
  2. Is this text too small for us to read? Is

    text too small for us to read? Is this tex too small for us to read? Is this text too small for us to read? Is this text too sm for us to read? Is this text too small for to read? Is this text too small for us to read? Is this text too small for us to rea Is this text too small for us to read? Is text too small for us to read? Is this tex
  3. ext too small for us to read? Is this text

    too small for us to read? Is this text to mall for us to read? Is this text too small for us to read? Is this text too small s to read? Is this text too small for us to read? Is this text too small for us to ead? Is this text too small for us to read? Is this text too small for us to read? his text too small for us to read? Is this text too small for us to read? Is this te oo small for us to read? Is this text too small for us to read? Is this text too sm or us to read? Is this text too small for us to read? Is this text too small for us ead? Is this text too small for us to read? Is this text too small for us to read? his text too small for us to read? Is this text too small for us to read? Is this te oo small for us to read? Is this text too small for us to read? Is this text too sm or us to read? Is this text too small for us to read? Is this text too small for us ead? Is this text too small for us to read? Is this text too small for us to read? his text too small for us to read? Is this text too small for us to read? Is this te oo small for us to read? Is this text too small for us to read? Is this text too sm or us to read? Is this text too small for us to read? Is this text too small for us ead? Is this text too small for us to read? Is this text too small for us to read? his text too small for us to read? Is this text too small for us to read? Is this te oo small for us to read? Is this text too small for us to read? Is this text too sm
  4. to read? Is this text too small for us to

    read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is
  5. to read? Is this text too small for us to

    read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is Limited by Eyesight
  6. Limited by Physics to read? Is this text too small

    for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text to small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for u to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is
  7. Concurrency At least two threads are making progress. Parallelism At

    least two threads are executing simultaneously. Oracle Multithreaded Programming Guide http://docs.oracle.com/cd/E19455-01/806-5257/6je9h032b/index.html vs.
  8. Parallelism Keyboard Mouse Disk Time ======> Concurrency Task Switching K

    M D K M D K M D K M D K M D K M D Time ======>
  9. RPi Summary •Assemble the cluster. •Communicate via mpi4py. •Assign a

    portion of the problem to each node. •Gather the results.
  10. If one ox could not do the job they did

    not try to grow a bigger ox, but used two oxen. When we need greater computer power, the answer is not to get a bigger computer, but to build systems of computers and operate them in parallel. -Grace Hopper
  11. Summary: Finding Primes 0" 50" 100" 150" 200" 250" Parallel

    Parallella Serial Mac Serial Parallella 18.6 sec 14.4 sec 237.1 sec ($2,000.00 Apple MacBook Pro) ($150.00 Parallella)
  12. Mapping complicated algorithms to massively parallel hardware architectures is considered

    a non-trivial problem. - Andreas Olofsson, CEO Adapteva It’s hard.
  13. Mapping complicated algorithms to massively parallel hardware architectures is considered

    a non-trivial problem. - Andreas Olofsson, CEO Adapteva It’s hard. And it’s worth it.
  14. # of Nodes Total Render Time Power Cost (5yrs) System

    Cost CPU - Dual Skylake 25 38 hours $70k $250k Nvidia RTX Server 1 6 hours $10k $30k “Pixar artists already rely on Nvidia ray tracing, and RTX more than doubles the performance they will see. We’re excited to use RTX on our upcoming films.” -Steve May, CTO, Pixar From Jensen Huang’s keynote at Nvidia GTC 2019
  15. In business, there is nothing more valuable than a technical

    advantage your competitors don’t understand. -Paul Graham http://www.paulgraham.com/avg.html