Ir al contenido principal

Entradas

Mostrando entradas de abril, 2012

TAREA ENSAMBLADOR

Despues de pelearme  estudiar ensamblador y comprender como funciona (no todo, pero ya minimo tengo la idea) POR FIN hice mi tarea ensamblador. Algo que tendo que decir es que no me fui por el camino de todos, hice el programa ensamblador casi desde "0", digo casi desde "0" porque me basaba en muchos codigos ejemplo. Programa en C El programa trata de la suma de elementos de un arreglo de n enteros. #include //Declaracion de funciones void Leer_datos(); void Sumar_datos(); void Imprimir_datos(); //Declaracion de variables globales int i,n,lista[10],sumatoria; main () { Leer_datos(); Sumar_datos(); Imprimir_datos(); } /*fin de la funcion main()*/ void Leer_datos() { printf( "Introduzca el numero de elementos del arreglo: " ); scanf("%d",&n); for( i=1;i<=n;i++ ) { printf( "Introduzca a[ %d ]: ", i ); scanf("%d", &lista[i]); } return; } /*fin de la funcion Leer_datos()*/ void Sumar_dat

Reporte 9 - Paralelos

Viendo ejemplos de como podría mandar datos a los demás nodos en cierto orden y que estos me los regresen también en cierto orden me encontré con una serie de métodos que nos sirvan para la comunicación colectiva. Uno de los comandos utilizados con mas frecuencia en la comunicación colectiva es: Broadcast: Bcast(buffer,size,datatype,root,communicator) En el nodo cuyo rango MPI es igual al root: Induce la distribución de los datos en la memoria de los demás nodos. En todos los demás nodos: se llena la memoria con datos recibidos desde el nodo root Otros comandos frecuentes son: Scatter()/Scatterv(): Envía un vector de datos desde un nodo (por lo general en nodo root) de manera que cada nodo recibe una parte. Gather()/Gatherv(): Recoge las partes de un vector que son distribuidos en todos los nodos, en el buffer de un nodo (por lo general del nodo root) Allgather()/Allgatherv():  Recoge las partes de un vector de manera que cada nodo se obtiene un conjunto completo de