lca13: exploiting arm gpu resources in open source software

Post on 13-Jun-2015

589 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

GPGPU ON ARMTom 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 member goals

PARALLEL COMPUTING

Granularity

NEONGrid 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

• Khronos standard (holders of OpenGL)

• Open Compute Language

• ANSI-C99 w additions

• Open = anyone can implement

HSA

• Heterogeneous System Architecture

• hsafoundation.com

• HSA standards out for review

• A better OpenCL

• Better debug, HSAIL

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

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 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 1.6-2x improvement

• Used jocl (java bindings for OpenCL)

• Source?

PIGLIT

• Mesa test suite

• Includes a number of OpenCL tests

• Should 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?

top related