GPGPU ON ARM
Tom Gall
tom.gall@linaro.org
SESSION GOALS
• What activity should Linaro
pursue?
• What open source projects
should we work with?
BOUNDARIES
• Lets not do any PHD dissertations
• Output must be open source
• Optimized stack should of course advance mem...
PARALLEL COMPUTING
Granularity
•
NEON
Grid
OpenStack
MPI/OpenMPI OpenMP/pthreads
Multi-machine Single machine
OPEN CL
• Originally proposed by Apple
• API for using your resources including the GPU as a general
purpose power house
•...
HSA
• Heterogeneous System Architecture
• hsafoundation.com
• HSA standards out for review
• A better OpenCL
• Better debu...
QUALITIES IN A CANDIDATE
• Task parallelism
• Break up task over threads
• Data parallelism
• Same operation over lots of ...
PROJECTS
• Libjpeg vs libjpeg turbo
• SQLite
• Hadoop - map reduce
• HipHop?
LIBJPEG
• Software, NEON, OpenCL comparison possible
• Android & Linux
• code.google.com/p/jpeg-opencl/source/checkout
SQLITE
• Cuda (nVidia only)
• Implemented subset of SQLite vm on gpu
• Pbbakkum.com/db
• Claim of 20x-70x
• Source availab...
HADOOP
• MapReduce is a major piece of Hadoop 
• http://ieeexplore.ieee.org/xpl/articleDetails.jsp?
reload=true&arnumber=6...
PIGLIT
• Mesa test suite
• Includes a number of OpenCL tests
• Should be fairly straight forward to add to LAVA
• Linux
• ...
GRAND CENTRAL
• libdispatch - open source 
• http://libdispatch.macosforge.org
• Can go hand in hand with OpenCL
• Needs l...
MORE?
Upcoming SlideShare
Loading in...5
×

LCA13: Exploiting ARM GPU resources in Open Source Software

675
-1

Published on

Resource: LCA13
Name: Exploiting ARM GPU resources in Open Source Software
Date: 07-03-2013
Speaker: Tom Gall

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
675
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
12
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

LCA13: Exploiting ARM GPU resources in Open Source Software

  1. 1. GPGPU ON ARM Tom Gall tom.gall@linaro.org
  2. 2. SESSION GOALS • What activity should Linaro pursue? • What open source projects should we work with?
  3. 3. BOUNDARIES • Lets not do any PHD dissertations • Output must be open source • Optimized stack should of course advance member goals
  4. 4. PARALLEL COMPUTING Granularity • NEON Grid OpenStack MPI/OpenMPI OpenMP/pthreads Multi-machine Single machine
  5. 5. OPEN CL • Originally proposed by Apple • API for using your resources including the GPU as a general purpose power house • Khronos standard (holders of OpenGL) • Open Compute Language • ANSI-C99 w additions • Open = anyone can implement
  6. 6. HSA • Heterogeneous System Architecture • hsafoundation.com • HSA standards out for review • A better OpenCL • Better debug, HSAIL
  7. 7. QUALITIES IN A CANDIDATE • Task parallelism • Break up task over threads • Data parallelism • Same operation over lots of data • Big wins for computationally significant data parallel algs • Bad • Lots of pointer chasing • Calculations that require lots of communication or result dependent
  8. 8. PROJECTS • Libjpeg vs libjpeg turbo • SQLite • Hadoop - map reduce • HipHop?
  9. 9. LIBJPEG • Software, NEON, OpenCL comparison possible • Android & Linux • code.google.com/p/jpeg-opencl/source/checkout
  10. 10. SQLITE • Cuda (nVidia only) • Implemented subset of SQLite vm on gpu • Pbbakkum.com/db • Claim of 20x-70x • Source available, we could port to OpenCL
  11. 11. HADOOP • MapReduce is a major piece of Hadoop • http://ieeexplore.ieee.org/xpl/articleDetails.jsp? reload=true&arnumber=6227786 • Measured 1.6-2x improvement • Used jocl (java bindings for OpenCL) • Source?
  12. 12. PIGLIT • Mesa test suite • Includes a number of OpenCL tests • Should be fairly straight forward to add to LAVA • Linux • Android
  13. 13. GRAND CENTRAL • libdispatch - open source • http://libdispatch.macosforge.org • Can go hand in hand with OpenCL • Needs llvm, libkqueue, blocks runtime
  14. 14. MORE?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×