On July 21st Embecosm ran its Preparing for Parallella event where Kickstarter backers and those interested in the project or with a general interest in multicore parallel systems, were invited to have a crash course in the theory of parallel computation and how to construct real programs using the Epiphany Multicore eSDK.
The day started off with keynote speaker Iann Barron laying out the significance of parallel computation, where we can learn (and rediscover) from the past and why disposable razor manufacturers have had the right idea all along.
Next James Pallister introduced the fundamentals of designing safe parallel systems, ensuring they are deadlock-free and how to exploit locality and read/write timing characteristics to maximize performance.
In the afternoon, I gave a set of Parallella specific talks about how the concepts James introduced can be implemented using the eSDK to write and benchmark efficient parallel systems.
The first talk introduced the eSDK, stepping through functionality provided by e-lib and e-hal for multicore primitives and tools for running and benchmarking code.
The second talk steps through the Hello World and Matrix Multiplication examples in eSDK and how to structure and build similar programs for Parallella. The third provides a brief introduction to OpenCL as an alternative for building parallel programs that can target different platforms.
Finally, Edward Tate of Erlang Solutions shared his experiences with using Erlang and OpenCL with Parallella, and the exploration for a language to use with Erlang to express data parallelism in a parallel system.
Images © 2013 Tim Partridge, All Rights Reserved.