Professional Documents
Culture Documents
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
1 De 10
$ 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
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.
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
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.
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
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.
5 De 10
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.
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
6 De 10
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
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
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
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 "
8 De 10
Un par de fotos cuando se termin (Crditos imagen de abajo: Glenn Harris 2012)
9 De 10
10 De 10