Return to http://www.soton.ac.uk/~sjc/raspberrypi
View video at: http://www.youtube.com/watch?v=Jq5nrHz9I94
Steps to make Raspberry Pi Supercomputer
Prof Simon Cox
Computational Engineering and Design Research Group
Faculty of Engineering and the Environment
University of Southampton, SO17 1BJ, UK.
V0.2: 8th September 2012
V0.3: 30th November 2012 [Updated with less direct linking to MPICH2 downloads]
V0.4: 9th January 2013 [Updated step 33]
First steps to get machine up
1. Get image from
http://www.raspberrypi.org/downloads
I originally used: 2012-08-16-wheezy-raspbian.zip
Updated 30/11/12: 2012-10-28-wheezy-raspbian.zip
My advice is to to check the downloads page on raspberrypi.org and use the latest version.
2. Use win32 disk imager to put image onto an SD Card (or on a Mac e.g. Disk Utility/ dd)
http://www.softpedia.com/get/CD-DVD-Tools/Data-CD-DVD-Burning/Win32-Disk-Imager.shtml
You will use the “Write” option to put the image from the disk to your card
3. Boot on Pi
4. Expand image to fill card using the option on screen when you first boot. If you don’t do this on first boot, then you need to use
$ sudo raspi-config
http://elinux.org/RPi_raspi-config
5. Log in and change the password
http://www.simonthepiman.com/beginners_guide_change_my_default_password.php
$ passwd
6. Log out and check that you typed it all OK (!)
$ exit
7. Log back in again with your new password
Building MPI so we can run code on multiple nodes
8. Refresh your list of packages in your cache
$ sudo apt-get update
9. Just doing this out of habit, but note not doing any more than just getting the list (upgrade is via “sudo apt-get upgrade”).
10. Get Fortran… after all what is scientific programming without Fortran being a possibility?
$ sudo apt-get install gfortran
11. Read about MPI on the Pi. This is an excellent post to read just to show you are going to make it by the end, but don’t type or get anything just yet- we are going to build everything ourselves:
http://westcoastlabs.blogspot.co.uk/2012/06/parallel-processing-on-pi-bramble.html
Note there are a few things to note here
a) Since we put Fortran in we are good to go without excluding anything
b) The packages here are for armel and we need armhf in this case… so we are going to build MPI ourselves
12. Read a bit more before you begin:
http://www.mcs.anl.gov/research/projects/mpich2/documentation/files/mpich2-1.4.1-installguide.pdf
Note: As the version of MPICH2 updates, you are better to go to:
http://www.mpich.org/documentation/guides/
and get the latest installer’s Guide.
We are going to follow the steps from 2.2 (from the Quick Start Section) in the guide.
13. Make a directory to put the sources in
$ mkdir /home/pi/mpich2
$ cd ~/mpich2
14. Get MPI sources from Argonne.
$ wget http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/1.4.1p1/mpich2-1.4.1p1.tar.gz
[Note that as the MPI source updates, you can navigate to:
http://www.mpich.org/downloads/ to get the latest stable release version for MPICH2]
15. Unpack them.
$ tar xfz mpich2-1.4.1p1.tar.gz
[Note: You will need to update this as the version of MPICH2 increments]
16. Make yourself a place to put the compiled stuff – this will also make it easier to figure out what you have put in new on your system. Also you may end up building this a few times…
$ sudo mkdir /home/rpimpi/
$ sudo mkdir /home/rpimpi/mpich2-install
[I just chose the “rpimpi” to replace the “you” in the Argonne guide and I did the directory creation in two steps]
17. Make a build directory (so we keep the source directory clean of build things)
mkdir /home/pi/mpich_build
18. Change to the BUILD directory
$ cd /home/pi/mpich_build
19. Now we are going to configure the build
http://www.southampton.ac.uk/~sjc/raspberrypi/pi_supercomputer_southampton.htm