Ejemplos MPI
Ejemplos MPI Ejemplos MPI
Multiplicación de Matrices Procedimiento paralelo • Un proceso maestro -> distribuye las distintas tareas al resto de procesos. • Varios procesos worker -> calcula un cierto número de filas de la matriz resultante y reenvía el resultado parcial al proceso maestro. Num_workers = num_procesos -1
Proceso en el MAESTRO • Conocer las matrices a multiplicar a y b • Inicialización de las matrices a y b • Cálculo del número de filas que hay que enviar a cada proceso worker: • nfilas = NFA / num_workers • filas_extra = NFA % num_workers • ENVIO a cada WORKER: • Numero de filas de la matriz “a” -> nfilas o nfilas+1 • Elementos de “a” con los que debe operar -> nfilas*NCA elementos de “a” • Matriz “b” en su totalidad. • ESPERAR... (mientras los workers trabajan)
- Page 1 and 2: Ejemplo MPI Ivar Fernando Gómez Pe
- Page 3 and 4: • la multiplicación de A por B,
- Page 5: Procedimiento secuencial Un solo pr
- Page 9 and 10: Fase de envío: MPI_send Fase recep
- Page 11 and 12: Código en MPI • Se colocan las l
- Page 13 and 14: MPI_Init(&argc,&argv); MPI_Comm_ran
- Page 15 and 16: • /* Send matrix data to the work
- Page 17 and 18: • /* Print results */ • printf(
Multiplicación de Matrices<br />
Procedimiento paralelo<br />
• Un proceso maestro -> distribuye las distintas<br />
tareas al resto de procesos.<br />
• Varios procesos worker -> calcula un cierto<br />
número de filas de la matriz resultante y<br />
reenvía el resultado parcial al proceso<br />
maestro.<br />
Num_workers = num_procesos -1