GPGPU ON ARM Tom Gall
[email protected] 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 member goals
PARALLEL COMPUTING
Grid OpenStack
MPI/OpenMPI
OpenMP/pthreads
Multi-machine
NEON
Single machine
•
Granularity
OPEN CL • Originally
proposed by Apple
• API
for using your resources including the GPU as a general purpose power house
• Khronos • Open
standard (holders of OpenGL)
Compute Language
• ANSI-C99 • Open
w additions
= anyone can implement
HSA • Heterogeneous
System Architecture
• hsafoundation.com • HSA •A
standards out for review
better OpenCL
• Better
debug, HSAIL
QUALITIES IN A CANDIDATE • Task
parallelism
• Break • Data
parallelism
• Same • Big
up task over threads
operation over lots of data
wins for computationally significant data parallel algs
• Bad • Lots
of pointer chasing
• Calculations
that require lots of communication or result dependent
PROJECTS
• Libjpeg
vs libjpeg turbo
• SQLite • Hadoop • HipHop?
- map reduce
LIBJPEG
• Software, NEON, OpenCL • Android
comparison possible
& 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
available, we could port to OpenCL
HADOOP • MapReduce
is a major piece of Hadoop
• http://ieeexplore.ieee.org/xpl/articleDetails.jsp?
reload=true&arnumber=6227786 • Measured • Used
1.6-2x improvement
jocl (java bindings for OpenCL)
• Source?
PIGLIT • Mesa
test suite
• Includes • Should
a number of OpenCL tests
be fairly straight forward to add to LAVA
• Linux • Android
GRAND CENTRAL
• libdispatch
- open source
• http://libdispatch.macosforge.org • Can
go hand in hand with OpenCL
• Needs
llvm, libkqueue, blocks runtime
MORE?