Currently Browsing
June, 2006
MPI_Scatter and MPI_Scatterv
- 13 June //
- Posted in google SoC, informática, pfc //
- Tags :
- No Comment
In this post I will explain the difference between MPI_Scatter and MPI_Scatterv and why this last is needed.
MPI_Scatter sends a vector of data along the processes in the MPI communicator, sending the same number of data to each process. ie, if there is a vector[100] and there are 10 processes, each process will receive a 10 ints vector.
Suppose there is a matrix of size (x, y) and you want to send each column of size (1, y) to a MPI process using MPI_Scatter; but there are only n < x processes. There will be a problem because MPI_Scatter sends the same quantity of data to each process.
MPI_Scatterv allows to control the number of data sent to each process, in such a way you can control the above problem, sending a determinate number of columns to each process.
OpenMPI: Using MPI_Pack and MPI_Unpack to pack heterogeneous data
- 11 June //
- Posted in google SoC, informática //
- Tags :
- No Comment
I have written a little example of how to use MPI_Pack and MPI_Unpack to pack heterogeneuos data types and transmit them along the MPI universe of processes. With these two MPI routines, data of different types can be stored as bytes in a char * buffer and sent along the network. Receiving processes just use unpack to recover the data in its original state.
The example can be downloaded PackTest.
I compiled it using OpenMPI, but I think it will run in any MPI implementation.
In order to compile
$ mpicc packtest.c -o packtest
In order to run
$ mpirun -np 10 packtest
¿OpenMPI en OpenMosix?
- 10 June //
- Posted in informática, pfc //
- Tags :
- No Comment
Después de estar buscando algo de información en la lista de distribución de openMPI, encontré una conversación en la que se comenta que OpenMPI no soporta migración de procesos. Esto sería un handicap menor para mi proyecto de fin de carrera, ya que pensaba usar esta implementación de MPI.
La conversacióne s de febrero del 2005, pero puede muy bien seguir vigente, ya que no he encontrado mucha información sobre OpenMPI en un cluster OpenMosix. El BCCD (Bootable Cluster CD) sólo incluye mpich y lam-mpi como implementaciones MPI, y puesto que la útima versión es de Mayo del 2006, parece lógico pensar que OpenMPI sigue sin soportar OpenMosix.
Tendré que utilizar la implementación LAM-MPI (actualmente en estado de mantenimiento, ya que los desarrolladores se han movido a OpenMPI) para la fase de producción, por lo menos hasta que OpenMPI funcione bien el cluster OpenMosix.
Plan de estudio de informática de la ULPGC
- 9 June //
- Posted in ulpgc //
- Tags :
- No Comment
El año pasado me dio por planificar las asignaturas optativas que tenía que cursar para completar los créditos correspondientes del segundo ciclo. Son 53.5 créditos.
Bien, 53.5 créditos… Las asignaturas optativas pueden ser de 4.5, 6, 7.5 y 9 créditos; esto es estándar en España. Ahora me gustaría saber quien o quienes son los lumbreras que pusieron la cantidad 53.5 como el número de créditos optativos a cursar en la carrera cuando no hay forma de combinar 4.5a + 6b + 7.5c +9d = 53.5. Saquen sus propias conclusiones.
Vamos a demostrarlo… multipliquemos todas las cifras por 10 para hacerlo todo más claro. Vemos que 45, 60,75 y 90 tienen en común que son múltiplos de 15. Cómo 535 (53,5 * 10) entre 15 da algo aproximadamente de 35.6667, resulta que no es divisible entre 15 y por tanto no puede formarse como combinación lineal de múltiplos de 15.
Cuando lo descubrí sentí bastante indignación… ¿quienes hicieron los planes de estudio?
Se preguntarán cuales son las consecuencias de todo esto… Pues bien resulta que siempre tienes que hacer medio crédito optativo extra, lo cual significa que la carrera no es de 375,5 créditos sino de 376. Claro que puedes usar ese medio crédito que te sobra como libre configuración. Pero yo ya los tenía todos cubiertos cuando me di cuenta
.