Una vez realizada la compilación podemos ejecutar algunos scripts (códigos) que se encuentran en el directorio raíz. En el directorio se encuentran algunas distribuciones para realizar pruebas de la correcta compilación. Antes de realizar las pruebas debemos recordar que el interprete puede ser ejecutado en dos modos : interprete e interactivo.
python file.py
, el
interprete lee el fichero y lo interpreta realizando las acciones que contenga.
Para probar mpipython en este modo de funcionamiento podremos hacerlo del
siguiente modo:
[vgaliano@localhost MPIPYTHON]$ mpirun -np 4 ./mpipython runme.py hello world hello world hello world hello world [vgaliano@localhost MPIPYTHON]$
Analizaremos el comando introducido detallando el significado de cada una de las lineas:
mpirun
: Lanza el ejecutable que se indique a continuación en el
número de procesos que indique el parámetro -np
, en este ejemplo se lanza
el interprete de Pyhton en cuatro procesadores.
mpipython
: Este es el ejecutable que hemos creado, es decir, el
interprete de Python multiproceso. Este interprete se ejecutará en cada uno de
los procesos y utilizara como fichero de entrada el fichero indicado a
continuación.
runme.py
: Es el script por defecto que hemos utilizado en la
distribución y realiza un sencillo hello world
. El codigo del script es
muy sencillo gracias a la fácil sintaxis de Python.
print "hello world"
python
, el resultado es una consola de entrada de comandos con el siguiente aspecto:
[root@localhost root]# python Python 2.3 (#3, Aug 15 2003, 23:25:23) [GCC 3.2 20020903 (Red Hat Linux 8.0 3.2-7)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
Los signos »>
significan la espera a la introducción de un nuevo comando. Cada uno de los comandos que vayamos introduciendo se iran ejecutando de forma progresiva e interactiva:
>>> que_si = 1 >>> if que_si: ... print "Pues va a ser que si" ... Pues va a ser que si
Este modo de funcionamiento tipo Consola también podemos obtenerlo en un sistema multiproceso. Este lo podemos conseguir mediante la distribución PyMPI comentada al principio del apartado o bien mediante mpipython proporcionado en la pagina de la distribución de PyACTS.
Si deseamos utilizar mpipython
tendremos que hacer uso del directorio console
que aparece dentro de la carpeta MPIPYTHON
. Sin embargo queremos destacar un detalle importante: para ejecutar mpipython en el modo interprete de la distribución anterior es suficiente con los requerimientos indicados previamente y con el codigo incluido en mpipython.tgz
. Pero si deseamos ejecutar mpipython en modo consola necesitaremos hacer uso de las librerías de Scientific Python y por tanto tendremos que tenerlas instaladas en todas las estaciones de sistema. Para obtener Scientific Python podemos hacerlo desde la siguiente dirección:
http://starship.python.net/ hinsen/ScientificPython/
Una vez instalado Scientific Python, podremos ejecutar el modo consola del siguiente modo:
[vgaliano@localhost MPIPYTHON]$ mpirun -np 4 ./mpipython ./Console/Console.py Python 2.2.1 (#1, Aug 30 2002, 12:15:30) [GCC 3.2 20020822 (Red Hat Linux Rawhide 3.2-4)] on linux2 Type "copyright", "credits" or "license" for more information. (Parallel console, 4 processors) >>> a=1 >>> print a -- Processor 0 ---------------------------------------- 1 -- Processor 1 ---------------------------------------- 1 -- Processor 2 ---------------------------------------- 1 -- Processor 3 ---------------------------------------- 1 >>>
Observamos en este caso como ejecutamos la consola en cuatro procesos, y la entrada del dato (a=1
) se produce en todos ellos. Del mismo modo, cuando queremos mostrar en pantalla el valor de a que posee cada proceso , el nombre de la variable es el mismo pero identificamos a que proceso se corresponde mediante la identificación
Processor
.
See Sobre este documento... para sugerencias en cambios.