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. @RayHightower
    All Things Open
    October 13-15, 2019
    Raleigh, NC
    USA
    Raspberry Pi is a
    Gateway Drug
    for GPUs

    View Slide

  2. What
    Why
    How

    View Slide

  3. Parallelism:
    Boosting performance
    by executing
    at least two threads
    at the same time.

    View Slide

  4. RayHightower.com

    View Slide

  5. View Slide

  6. View Slide

  7. Why parallelism?
    Because
    Moore’s Law
    is running out.

    View Slide

  8. Transistors
    on a wafer
    of silicon.

    View Slide

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

    View Slide

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

    View Slide

  11. 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

    View Slide

  12. 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

    View Slide

  13. to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is
    this text too small for us to read? Is this text too small for us to read? Is this text too small for 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

    View Slide

  14. to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is this text too small for us to read? Is
    this text too small for us to read? Is this text too small for us to read? Is this text too small for 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

    View Slide

  15. 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

    View Slide

  16. Parallelism

    View Slide

  17. 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.

    View Slide

  18. 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 ======>

    View Slide

  19. How?

    View Slide

  20. Embarrassingly
    parallel problem.

    View Slide

  21. Embarrassingly
    parallel problem.
    … like finding
    prime numbers.

    View Slide

  22. View Slide

  23. Model 3
    Model 2
    Model 1

    View Slide

  24. View Slide

  25. View Slide

  26. ssh-keygen

    View Slide

  27. authorized_keys

    View Slide

  28. RPi01
    RPi02
    RPi03
    RPi04
    authorized_keys

    View Slide

  29. View Slide

  30. The cluster
    works!

    View Slide

  31. View Slide

  32. View Slide

  33. RPi Summary
    •Assemble the cluster.
    •Communicate via mpi4py.
    •Assign a portion of the
    problem to each node.
    •Gather the results.

    View Slide

  34. What’s
    next?

    View Slide

  35. Quick detour…
    Parallella

    View Slide

  36. 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

    View Slide

  37. RJ-45
    Power
    μUSB
    μHDMI
    μSD

    View Slide

  38. View Slide

  39. View Slide

  40. 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)

    View Slide

  41. What’s
    next?

    View Slide

  42. Graphical
    Processing
    Unit

    View Slide

  43. MacBook Pro Video
    384 cores

    View Slide

  44. Raspberry Pi
    is a gateway
    for the GPU.

    View Slide

  45. View Slide

  46. View Slide

  47. View Slide

  48. View Slide

  49. View Slide

  50. View Slide

  51. Mapping complicated
    algorithms to massively
    parallel hardware
    architectures is considered a
    non-trivial problem.
    - Andreas Olofsson, CEO
    Adapteva

    View Slide

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

    View Slide

  53. 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.

    View Slide

  54. Moore’s Law:
    2x every 18 months

    View Slide

  55. Moore’s Law for GPUs
    https://www.nextbigfuture.com/2017/04/for-commoners-using-cpus-meaningful.html
    Moore
    Nvidia

    View Slide

  56. # 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

    View Slide

  57. Nvidia Jetson Nano
    128 GPU cores
    4 CPU cores

    View Slide

  58. View Slide

  59. Compute
    Unified
    Device
    Architecture

    View Slide

  60. CUDA supports Python,
    Clojure, C, C++, C#,
    Fortran, Ruby, Java…

    View Slide

  61. View Slide

  62. Embarrassingly
    parallel problem.
    … deep learning.

    View Slide

  63. View Slide

  64. View Slide

  65. •Training
    •Testing
    •Deployment

    View Slide

  66. Avoiding “gotchas”
    •Lots of data/examples
    •Labeling.
    •Randomly choose 20% for testing.
    •Don’t train w/testing data.

    View Slide

  67. Parallelism
    accelerates
    deep learning.

    View Slide

  68. View Slide

  69. View Slide

  70. View Slide

  71. Resources

    View Slide

  72. View Slide

  73. https://www.youtube.com/watch?v=aircAruvnKk&list=PLOnWKC1gI_OOIrkRZDq2SgYoDxfRAJtdF&index=66&t=0s
    Recommended
    by the Nvidia
    instructors.

    View Slide

  74. http://alexlenail.me/NN-SVG/index.html

    View Slide

  75. View Slide

  76. View Slide

  77. View Slide

  78. View Slide

  79. Summary…
    •Parallelism + RPi
    •Jetson Nano
    •Deep Learning
    •Resources

    View Slide

  80. In business, there is nothing
    more valuable than a
    technical advantage your
    competitors don’t
    understand.
    -Paul Graham
    http://www.paulgraham.com/avg.html

    View Slide

  81. Thanks!
    RayHightower.com

    View Slide