You are on page 1of 10

Pasos para hacer Raspberry Pi Supercomputacin

Pasos para hacer Raspberry Pi Supercomputacin


El profesor Simon Cox Ingeniera Computacional Grupo de Investigacin y Diseo Facultad de Ingeniera y Medio Ambiente Universidad de Southampton, SO17 1BJ, Reino Unido. V0.2: 8 09 2012 V0.3: 30 11 2012 [Actualizado con menos vinculacin directa a MPICH2 descargas] V0.4: 9 01 2013 [Actualizado etapa 33]

Los primeros pasos para llegar hasta la mquina


1.

Obtenga la imagen de http://www.raspberrypi.org/downloads Originalmente utilizado: 2012-08-16-sibilante raspbian.zip Actualizacin 30/11/12: 2012-10-28-sibilante raspbian.zip Mi consejo es que para comprobar la descarga de pgina en raspberrypi. org y utilizar la ltima versin. 2. El uso de imgenes win32 disco para poner la imagen en una tarjeta SD (o en un disco de Mac por ejemplo Utilidades / dd ) http://www.softpedia.com/get/CD-DVD-Tools/Data-CD-DVD-Burning/Win32-Disk-Imager.sht ml Que va a utilizar el "Write" para poner la imagen desde el disco a la tarjeta 3. Arranque en Pi 4. Ampliar imagen para llenar la tarjeta con la opcin en la pantalla cuando el primer arranque. Si no lo hace en el primer arranque, entonces usted necesita utilizar $ Sudo Raspi-config http://elinux.org/RPi_raspi-config 5. Entrar y cambiar la contrasea http://www.simonthepiman.com/beginners_guide_change_my_default_password.php $ passwd 6. Cierre la sesin y comprobar que ha escrito todo bien (!) $ exit 7. Vuelve a entrar de nuevo con su nueva contrasea

Edificio MPI para que podamos ejecutar cdigo en varios nodos


8. Actualizar la lista de paquetes en la cach $ sudo apt-get update 9. Slo hago esto por costumbre, pero tenga en cuenta, sin hacer nada ms que conseguir la lista (actualizacin mediante " sudo apt-get upgrade "). 10. Cmo Fortran ... despus de todo lo que es la programacin Fortran cientfica sin ser una posibilidad? $ sudo apt-get install gfortran 11. Lea acerca de MPI en el Pi. Este es un mensaje excelente para leer slo para mostrar que usted va a llegar al final, pero no escribir ni hacer nada por el momento, vamos a construir todo lo que nosotros mismos: http://westcoastlabs.blogspot.co.uk/2012/06/parallel-processing-on-pi-bramble.html Tenga en cuenta que hay algunas cosas a tener en cuenta aqu a) Desde que pusimos en Fortran que son buenos para ir sin excluir nada

1 De 10

Pasos para hacer Raspberry Pi Supercomputacin

$ wget http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/1.4.1p1/mpich2-1.4.1p1.tar.gz

Los paquetes de aqu son para armel y necesitamos armhf en este caso ... as que vamos a construir nosotros mismos MPI 12. Lee un poco ms antes de empezar: http://www.mcs.anl.gov/research/projects/mpich2/documentation/files/mpich2-1.4.1-install guide.pdf Nota: A partir de la versin de MPICH2 actualizaciones, usted es mejor ir a: http://www.mpich.org/documentation/guides/ y obtener la ltima Gua del instalador. Vamos a seguir los pasos de 2,2 (de la seccin de inicio rpido) en la gua. 13. Cree un directorio para colocar las fuentes en $ mkdir / home/pi/mpich2 $ cd ~ / MPICH2 14. Obtener fuentes MPI de Argonne. [Tenga en cuenta que como las actualizaciones del origen de MPI, puede navegar a: http://www.mpich.org/downloads/ para obtener la ltima versin estable para MPICH2] 15. Desembale ellos. $ tar xfz MPICH2-1.4.1p1.tar.gz [Nota: Usted tendr que actualizar esto como la versin de MPICH2 incrementos] 16. Haga usted mismo un lugar para poner las cosas compilado - esto tambin har que sea ms fcil de averiguar lo que han puesto en la nueva en su sistema. Tambin usted puede terminar la construccin de esto unas cuantas veces ... $ sudo mkdir / home / rpimpi / $ sudo mkdir / home / rpimpi / MPICH2 install[Yo opt por el " rpimpi "para reemplazar el" t "en la gua de Argonne y yo hicimos la creacin de directorios en dos pasos] 17. Cree un directorio de compilacin (por lo que mantener el directorio de fuentes limpias de generacin de las cosas) mkdir / home / pi / mpich_build 18. Cambie al directorio BUILD $ cd / home / pi / mpich_build 19. Ahora vamos a configurar la construccin de $ sudo / home/pi/mpich2/mpich2-1.4.1p1/configure-prefix = / home / rpimpi / MPICH2 install[Nota: Usted tendr que actualizar esto como la versin de MPICH2 incrementos] Hacer una taza de t 20. Realice los archivos $ sudo hacer Hacer otra taza de t 21. Instale los archivos $ sudo make install Hacer otra taza de t - terminar ... 22. Agregue el lugar que usted pone la instalacin en su camino $ Export PATH = $ PATH :/ home / rpimpi / mpich2-install/bin Tenga en cuenta que poner permanentemente esta en el camino tendr que editar. Perfil $ nano ~ /. perfil ... y aadir al final estas dos lneas: # Aadir MPI a la ruta PATH = "$ PATH :/ home / rpimpi / mpich2-install/bin "

b)

2 De 10

Pasos para hacer Raspberry Pi Supercomputacin

23. Compruebe si las cosas se ha instalado o no $ que mpicc $ que mpiexec 24. Cambie el directorio de regreso a casa y crear un lugar para hacer sus pruebas $ Cd ~ $ Mkdir mpi_testing $ Cd mpi_testing 25. Ahora podemos probar si funciona para usted MPI en un solo nodo mpiexec -f machinefile -n hostname <nmero> donde machinefile contiene una lista de direcciones IP (en este caso slo una) para las mquinas a) Obtenga su direccin IP $ ifconfig b) Ponga esto en un solo archivo llamado machinefile 26. $ nano machinefile Aada esta lnea: 192.168.1.161 [ o sea cual sea su direccin IP fue] 27. Si se utiliza $ mpiexec -f machinefile -n 1 hostname La salida es: raspberrypi 28. Ahora a correr un poco el cdigo C. En el subdirectorio de ejemplos de dnde se construy MPI es el famoso ejemplo del IPC. Ahora utilizar MPI en el Pi para calcular Pi: $ cd / home / pi / mpi_testing $ mpiexec -f machinefile -n ~ 2 / mpich_build / examples / cpi La salida es Proceso 0 de 2 est en raspberrypi Proceso 1 de 2 es en raspberrypi pi es aproximadamente 3.1415926544231318, el error es 0.0000000008333387 Celebre si llegas a este punto.

Inflamacin m ... una vez

29. Ahora tenemos una copia maestra del nodo principal de la mquina con todos los archivos instalados de MPI en un solo lugar. Ahora queremos clonar esta tarjeta. 30. Apagar el Pi con mucho cuidado $ sudo poweroff Extraiga la tarjeta SD y el pop de nuevo en el escritor de tarjeta SD en su PC / otro dispositivo. Utilice Win32 disco de imgenes (o en un disco Mac ejemplo Utilidades / dd ) para poner la imagen DESDE tu tarjeta SD de nuevo A tu PC: http://www.softpedia.com/get/CD-DVD-Tools/Data-CD-DVD-Burning/Win32-Disk-Imager.sht ml Que va a utilizar el "Read" para poner la imagen desde el disco a la tarjeta Vamos a llamar a la imagen "2012-08-16-sibilante raspbian_backup_mpi_master.img" 31. Extraiga la tarjeta y poner una tarjeta nueva en su PC / otro dispositivo. El uso de imgenes win32 disco para poner la imagen en una tarjeta SD (o en un disco de Mac por ejemplo Utilidades / dd ) http://www.softpedia.com/get/CD-DVD-Tools/Data-CD-DVD-Burning/Win32-Disk-Imager.sht

3 De 10

Pasos para hacer Raspberry Pi Supercomputacin

ml Que va a utilizar el "Write" para poner la imagen desde el disco a la tarjeta y elegir el "2012-08-16-sibilante raspbian_backup_mpi_master.img" la imagen que acaba de crear. [Tenga en cuenta que hay maneras probablemente ms eficientes de hacer esto - en particular tal vez evitar la expansin del sistema de archivos . en el paso 4 de la seccin primera] 32. Ponga la tarjeta en su segunda Pi y arrancar esto. Ahora debe tener dos frambuesa Pis sucesivamente. A menos que se especifique lo contrario, todos los comandos se escriben debajo del Pi maestro que cre en primer lugar.

Uso de SSH en lugar de contrasea de acceso entre los Pis

33. Clasificar RSA para permitir registro rpido pulg Esto es lo mejor para que diga: http://steve.dynedge.co.uk/2012/05/30/logging-into-a-rasberry-pi-using-publicprivate-keys/ En resumen (que trabaja en el nodo maestro Pi) $ Cd ~ $ Ssh-keygen-t rsa-C "raspberrypi @ raspberrypi" Esta establecer una ubicacin predeterminada de / home / pi /. ssh / id_rsa para almacenar la clave Introduzca una palabra pe " myfirstpicluster ". Si lo deja en blanco (no tan buena seguridad), entonces no escribir ms de una frase de paso que se necesita. $ cat ~ /. ssh / id_rsa.pub | ssh pi@192.168.1.162 "" mkdir . ssh; cat . >> ssh / authorized_keys " 34. Si ahora accede a tu Pi otro y hacer $ ls -al ~ /. ssh Usted debe ver un archivo llamado " authorized_keys "- este es su boleto a 'no hay cielo login' en los nodos 35. Ahora vamos a agregar el nuevo Pi a la machinefile . (Entrar en ella y obtener su direccin IP, como antes) Trabajo sobre el Pi Maestro frambuesa (el primero que se construy): $ nano machinefile Que sea ledo 192.168.1.161 192.168.1.162 [ o sea las dos direcciones IP que tiene para las mquinas son] 36. Ahora a correr un poco el cdigo C de nuevo. En el subdirectorio de ejemplos de dnde se construy MPI es el famoso ejemplo del IPC. La primera vez que tendr que introducir la contrasea de la clave que ha generado anteriormente (a menos que lo dej en blanco) y tambin la contrasea del Pi segundo. $ cd / home / pi / mpi_testing $ mpiexec -f machinefile -n ~ 2 / mpich_build / examples / cpi La salida es Proceso 0 de 2 est en raspberrypi Proceso 1 de 2 es en raspberrypi pi es aproximadamente 3.1415926544231318, el error es 0.0000000008333387 Si repite esta segunda vez no tendr que escribir las contraseas pulg Hurray. Tenga en cuenta que nosotros NO han cambiado los nombres de host con todo (eso si, de lo anterior se ejecuta en los dos equipos, pero ambos tienen el mismo nombre de host en el momento). 37. Si cambia el nombre de host en su segunda mquina (vase el Apndice 1 "Script Host") y

4 De 10

Pasos para hacer Raspberry Pi Supercomputacin

ejecutar: $ mpiexec -f machinefile -n ~ 2 / mpich_build / examples / cpi Salida: Proceso 0 de 2 est en raspberrypi Proceso 1 de 2 es en iridispi002 Ahora usted puede ver cada proceso que se ejecuta en los nodos separados.

FELICIDADES - Ahora ya ha terminado la construccin de 2 nodos SUPERCOMPUTADORA Si usted sigue los pasos a continuacin, puede ampliar ESTO A 64 (o ms) los nodos

Agradecimientos

Gracias a todos los autores de los puestos relacionados en esta gua y Nico Maas. Gracias a todo el equipo en el laboratorio: Richard Boardman, Johnston Steven, Gereon Kaiping ., Neil O'Brien, y Scott Marcos . Tambin a Pergamino Oz y Andy Everett (iSolutions) Gracias a Pavittar Bassi en Finanzas, que hizo todos los pedidos de equipos ocurrir de manera tan eficiente. Y, por supuesto, el hijo del profesor James Cox quien proporcion apoyo especializado en Lego y pruebas del sistema.

Apndice 1 - Secuencias de comandos y otras cosas que hacer


Flash me ... una vez ms (aclarar y repetir para cada nodo adicional)
1. Apague el Pi trabajador y extraer la tarjeta $ sudo poweroff Ahora tenemos una copia de los nodos trabajador de la mquina con todos los archivos instalados de MPI en un solo lugar. Ahora queremos clonar esta tarjeta ya que tiene el ssh llave en l en el lugar correcto. Apagar el Pi con mucho cuidado $ sudo poweroff 2. Extraiga la tarjeta SD y el pop de nuevo en el escritor de tarjeta SD en su PC / otro dispositivo. Utilice Win32 disco de imgenes (o en un disco Mac ejemplo Utilidades / dd ) para poner la imagen de su tarjeta SD a su PC: http://www.softpedia.com/get/CD-DVD-Tools/Data-CD-DVD-Burning/Win32-Disk-Imager.sht ml Que va a utilizar el "Read" para poner la imagen desde el disco a la tarjeta Vamos a llamar a la imagen "2012-08-16-sibilante raspbian_backup_mpi_worker.img" 3. Extraiga la tarjeta y poner una tarjeta nueva en la mquina. El uso de imgenes win32 disco para poner la imagen en una tarjeta SD (o en un disco de Mac por ejemplo Utilidades / dd ) http://www.softpedia.com/get/CD-DVD-Tools/Data-CD-DVD-Burning/Win32-Disk-Imager.sht ml Que va a utilizar el "Write" para poner la imagen desde el disco a la tarjeta y elegir el "2012-08-16-sibilante raspbian_backup_mpi_master.img" la imagen que acaba de crear. [Tenga en cuenta que hay maneras probablemente ms eficientes de hacer esto - en particular tal vez evitar la expansin del sistema de archivos . en el paso 4 de la seccin primera]

5 De 10

Pasos para hacer Raspberry Pi Supercomputacin

Guin Hostname

Si desea cambiar el nombre de cada equipo, puede hacerlo desde el nodo maestro usando: ssh 'pi@192.168.1.162 sudo echo "iridispi002" | sudo tee / etc / hostname ' ssh 'pi@192.168.1.163 sudo echo "iridispi003" | sudo tee / etc / hostname ' ssh 'pi@192.168.1.164 sudo echo "iridispi004" | sudo tee / etc / hostname ' etc . A continuacin, debe reiniciar cada nodo de trabajo Si vuelve a ejecutar el paso ( 36 ) por encima de nuevo, usted obtendr: $ mpiexec -f machinefile -n ~ 2 / mpich_build / examples / cpi Salida: Proceso 0 de 2 est en raspberrypi Proceso 1 de 2 es en iridispi002 pi es aproximadamente 3.1415926544231318, el error es 0.0000000008333387 Esto muestra el nodo maestro sigue llamando raspberrypi y el primer trabajador llamado iridispi002

Al utilizar Python

Hay varias Uniones Python para MPI. Esta gua slo pretende mostrar cmo conseguir uno de ellos trabajando. 1. Usemos mpi4py. Ms informacin en http://mpi4py.scipy.org/ http://mpi4py.scipy.org/docs/usrman/index.html $ sudo apt-get install python-mpi4py 2. Tambin queremos ejecutar la demostracin as que vamos a obtener el cdigo fuente demasiado $ cd ~ $ mkdir mpi4py $ cd mpi4py $ wget http://mpi4py.googlecode.com/files/mpi4py-1.3.tar.gz $ Tar xfz mpi4py-1.3.tar.gz $ cd mpi4py-1.3/demo 3. Repita los pasos 1 y 2 en cada uno de los otros nodos (que no cocinar esto en la imagen del sistema) 4. Ejecutar un ejemplo (en el nodo maestro) La salida es: Hola, mundo! Soy el proceso 0 de 2 en raspberrypi . Hola, mundo! Soy el proceso 1 de 2 en iridispi002.

$ mpirun.openmpi - np 2 - machinefile / home / pi / mpi_testing / machinefile helloworld.py python

5.

La salida es: Hola, mundo! Soy el proceso 2 de 4 en raspberrypi . Hola, mundo! Estoy proceso 3 de 4 en iridispi002. Hola, mundo! Soy el proceso 1 de 4 en iridispi002. Hola, mundo! Estoy 0 Proceso de 4 en raspberrypi . 6. Estos son muy tiles para eliminar las cosas si sus intentos de conseguir mpi4py no llegan a tener xito $ sudo apt-get install python-mpi4py

$ mpiexec.openmpi -n 4 - machinefile / home / pi / mpi_testing / machinefile python helloworld.py

6 De 10

Pasos para hacer Raspberry Pi Supercomputacin

$ sudo apt-get autoremove

Keygen script de comandos

cat ~ /. ssh / id_rsa.pub | ssh ". >> gato pi@192.168.1.161 ssh / authorized_keys " cat ~ /. ssh / id_rsa.pub | ssh pi@192.168.1.162 ". >> gato ssh / authorized_keys " cat ~ /. ssh / id_rsa.pub | ssh ". >> gato pi@192.168.1.163 ssh / authorized_keys " etc . para el envo de los intercambios de claves si quieres hacer esto de nuevo despus de haber generado una nueva clave

Obtencin de Raspberry Pi Pip


1.

Podemos instalar Pip, que nos da una buena manera de crear paquetes de Python (y desinstalarlos tambin). Ms informacin se encuentra en

http://www.pip-installer.org/en/latest/index.html http://www.pip-installer.org/en/latest/installing.html $ cd ~ $ mkdir pip_testing $ cd pip_testing 2. Un requisito previo para pip es "distribuir" as que vamos a conseguir que el primero y luego instalar pip. El sudo es porque la instalacin de estos tiene que ejecutar como root. $ Http://python-distribute.org/distribute_setup.py curl | sudo python $ Https://raw.github.com/pypa/pip/master/contrib/get-pip.py curl | sudo python

Notas sobre la toma de MPI Bibliotecas compartidas para Raspberry Pi

Libreras MPI tambin se puede construir "compartida" de forma que puedan ser cargados dinmicamente. Esto le da un archivo de biblioteca que termina en ". As que" no, etc. "A" y podemos hacerlo mediante la construccin de las libreras MPI nuevo. Esta es una repeticin de los pasos anteriores, pero escrito cabo de nuevo utilizando el sufijo "_shared" en los nombres de directorio. 1. 2.
$ mkdir / home/pi/mpich2_shared $ cd ~ / mpich2_shared

Cree un directorio para colocar las fuentes en Obtener fuentes MPI de Argonne.

[Tenga en cuenta que como las actualizaciones del origen de MPI, puede navegar a: http://www.mpich.org/downloads/ para obtener la ltima versin estable] 3. Desembale ellos. $ tar xfz MPICH2-1.4.1p1.tar.gz [Nota: Usted tendr que actualizar esto como la versin de MPICH2 incrementos] 4. Haga usted mismo un lugar para poner las cosas compilado - esto tambin har que sea ms fcil de averiguar lo que han puesto en la nueva en su sistema. $ sudo mkdir / home / rpimpi_shared / $ sudo mkdir / home / rpimpi_shared / MPICH2-install_shared [Yo opt por el " rpimpi_shared "para reemplazar el" t "en la gua de Argonne y tom la creacin de directorios en dos pasos] 5. Cree un directorio de compilacin (por lo que mantener el directorio de fuentes limpias

$ wget http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/1.4.1p1/mpich2-1.4.1p1.tar.gz

7 De 10

Pasos para hacer Raspberry Pi Supercomputacin

de generacin de las cosas) $ mkdir / home / pi / mpich_build_shared 6. Cambie al directorio BUILD $ cd / home / pi / mpich_build_shared 7. Ahora vamos a configurar la construccin de

[Nota: Usted tendr que actualizar esto como la versin de MPICH2 incrementos] 8. Realice los archivos $ sudo hacer 9. Instale los archivos $ sudo make install 10. Por ltimo aadir el lugar que usted pone la instalacin en su camino $ Export PATH = $ PATH :/ home / rpimpi_shared / mpich2-install_shared/bin Tenga en cuenta que poner permanentemente esta en el camino tendr que editar. Perfil $ nano ~ /. perfil ... y aadir al final estas dos lneas: # Aadir MPI compartido a la ruta PATH = "$ PATH :/ home / rpimpi_shared / mpich2-install_shared/bin "

$ sudo / home/pi/mpich2_shared/mpich2-1.4.1p1/configure-prefix = / home / rpimpi_shared / MPICH2-install_shared - enable shared-

8 De 10

Pasos para hacer Raspberry Pi Supercomputacin

Un par de fotos cuando se termin (Crditos imagen de abajo: Glenn Harris 2012)

9 De 10

Pasos para hacer Raspberry Pi Supercomputacin

Imgenes por lo que es

(Crditos imagen de abajo: Simon J Cox 2012)

(Crditos de imagen: Simon J Cox 2012)

10 De 10

You might also like