At the recent Manchester Student Chapter Conference, Pete Lomas, co-founder of the Raspberry Pi Foundation gave a plenary lecture about the educational goals behind the Raspberry Pi project and its potential use in scientific computing. He raised some interesting points which I’d like to summarize for the community.
Pete Lomas, Raspberry Pi Foundation. Photo courtesy of Nick Higham.
The Raspberry Pi is a small, inexpensive, general purpose computer that runs a variety of Linux flavors. For $35 the Model B comes with
- 700 MHz ARM CPU
- 512MB RAM
- 24 GFlops Broadcom GPU
- USB, HDMI, GPIO, LAN port etc.
This is roughly equivalent to a Pentium 2 processor with graphics capability similar to the original Xbox but allowing full 1080p video playback in a machine of similar size to a credit card. It also draws, at most, about 1 Amp of power.
The Raspberry Pi supports many programming languages including C++, Fortran, and Python. This makes it ideal for some really imaginative applications including guitar effects pedals, a live feed from space, or your very own pirate radio station.
One primary goal of the Raspberry Pi Foundation is to further education in STEM subjects, programming, and related disciplines. This is vital to ensure the future of our community and something we should all support.
The Raspberry Pi community run a number of events called “Raspberry Jams” which are often aimed at getting families and young children involved in programming.
A more advanced project by the University of Southampton networked 64 Pis via ethernet to form a cluster for teaching parallel programming and MPI. This compact cluster (with a customized rack made of Lego) creates a great teaching environment without all the expense of building or renting HPC servers. Instructions for building such a cluster along with a journal article detailing the results of LINPACK and HPL benchmarks can be found here, or alternatively here is a YouTube video discussing the project.
Unfortunately there is no current version of OpenCL running on the Raspberry Pi, meaning the above benchmarks used only the CPUs. However since the GPU vendor Broadcom recently open sourced the entire graphics stack there could be an OpenCL implementation on the way.
The recent release of the Raspberry Pi compute module also gives some hints for the direction the project will take in the next few years. With a working OpenCL implementation we could put 10 Raspberry Pis on the same board with a fast interconnect and build powerful computing devices for very little cost and with low power consumption. A possible architecture, reminiscent of the transputer (see Figure 3 in the transputer manual) can be seen in the picture of Pete Lomas above. This would make an amazing, low cost infrastructure for teaching students interested in parallel and GPU programming.
Overall it will be very interesting to see the direction the Raspberry Pi project takes over the next few years, particularly as a tool for education and training.