option
Cuestiones
ayuda
daypo
buscar.php

Multi - MPI

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del Test:
Multi - MPI

Descripción:
Multiprocesadores UAL

Fecha de Creación: 2025/12/07

Categoría: Informática

Número Preguntas: 40

Valoración:(0)
COMPARTE EL TEST
Nuevo ComentarioNuevo Comentario
Comentarios
NO HAY REGISTROS
Temario:

MPI_Iprobe(). Se bloquea si el mensaje que se espera no ha llegado. Solo puede chequear si ha llegado un mensaje de una fuente y tag especificados. Se utiliza para saber si ha llegado un mensaje con cualquier fuente y tag, o con fuente y tag especificados. El proceso que lo ejecuta no se bloquea si no ha llegado el mensaje.

¿Cuales son los tres usos más importantes de las rutinas de comunicación punto-a-punto no bloqueantes MPI? Ordenadas de mayor importancia primero a menor importancia el último. 1.Prevenir interbloqieos 2.Prevenir serializaciones 3.Solapar comunicación y computación. 1.Prevenir serializaciones 2.Prevenir interbloqieos 3.Solapar comunicación y computación. 1.Solapar comunicación y computación. 2.Prevenir interbloqieos 3.Prevenir serializaciones.

MPI_Scatter(). Es una rutina colectiva que sirve para dividir los datos del bufer de envío entre los procesos dentro de un comunicador. Es una rutina colectiva que sirve para enviar el mismo mensaje desde el proceso root a los demás procesos dentro de un comunicador. Es una rutina colectiva que sirve para recoger las partes del bufer de recepción que se encuentran en los procesos dentro de un comunicador.

¿Cual es la diferencia entre MPI_Wait() y MPI_Test()?. MPI_Wait() se una con MPI_Recv() y MPI_Test() con MPI_IRecv(). MPI_Wait() es no bloqueante y MPI_Test() es bloqueante. MPI_Wait() es bloqueante y MPI_Test() es no bloqueante.

¿Cual es el nombre del comunicador MPI por defecto?. MPI_COMM_WORLD. COMM_WORLD. DEF_MPI_COMM_WORLD.

El comando MPI_Get_processor_name(). Devuelve el tipo de procesador, por ejemplo Intel i7-4770K. Ninguna de las opciones. Devuelve el hostname del PC donde se ejecuta el programa MPI.

¿Cual de los siguientes datos no es requerido en una llamada de paso de mensaje?. El número de elementos de datos en el mensaje. La dirección de comienzo de los datos del mensaje. El tipo de mensaje. El tamaño de los datos del mensaje en número de bytes.

La función MPI_Init(). Se puede ejecutar varias veces en un proceso MPI. Solo debe ejecurase en el proceso root. Debe llamarse en cada programa MPI antes de usar otras fuciones MPI y solo debe llamarse una sola vez.

MPI_Barrier(). Normalmente no se necesita y se usa solo para debugging o profiling. Se debe usar solo después de las rutinas de comunicación MPI para asegurarse de que los datos están ya en el bufer de destino. Se debe usar después de cada rutina MPI para asegurarse de que los datos están ya en el bufer de destino.

¿Cuales son los principales riesgos del MPI_Ssend()?. Serialización. Interbloqueo. Todas las opciones.

¿Cuando retorna la rutina MPI_Recv()?. Después del tiempo especificado en la rutina. Después de que llegue el mensaje que la rutina espera, pero antes de que se hayan recopilado los datos del mensaje. Después de que llegue el mensaje que la rutina espera y se han recopilado los datos del mensaje.

El comando MPI_Get_count() sirve para. Saber la fuente, la etiqueta y el número de elementos del tipo de datos recibido antes de leerlos. Para saber el número de bytes recibidos en el mensaje antes de leerlo. Para saber cuantos mensajes están pendientes de lectura.

¿Cual de la siguientes sentencias es incorrecta sobre MPI?. Las funciones MPI son estandarizadas, lo que significa que se comportan igual independientemente de la implementación MPI usada. Cualquier proceso MPI puede enviar y recibir mensajes directamente desde y hacia otro proceso. MPI usa un modelo de programación basado en memoria compartida, lo que significa que todos los procesos pueden acceder a la memoria compartida. Puedes compilar el código MPI usando cualquier implementación MPI que se ejecute en tu arquitectura.

MPI_Send(message, 4, MPI_CHAR, 5, tag, MPI_COMM_WORLD) envía un mensaje al proceso: tag. 4. 5.

¿Cual de estas rutinas se bloquea hasta que se haya recibido o enviado el mensaje no bloqueante?. MPI_WAIT(). MPI_Get_count(). MPI_Test().

¿Qué significa una rutina MPI de paso de mensaje no bloqueante (o asíncrona)?. La rutina retorna cuando se ha completado la transferencia del mensaje. La rutina retorna cuando todas las acciones MPI del proceso local se han realizado, pero la transferencia del mensaje puede no haber sido completada. La rutina retorna inmediatamente, pero la transferencia del mensaje podría no haberse realizado. La rutina bloquea las acciones MPI de otros procesos hasta que se hayan completado las acciones del proceso actual.

El comando MPI_Finalize(). Finaliza el programa. Termina la ejecución del entorno MPI. Todas las otras opciones son verdaderas.

MPI_Barrier(). Es una rutina colectiva que sirve para sincronizar los procesos dentro de un comunicador. Es una rutina colectiva que sirve para dividir los datos del bufer de envío entre los procesos dentro de un comunicador. Es una rutina colectiva que sirve para enviar el mismo mensaje desde el proceso root a los demás procesos dentro de un comunicador. Es una rutina colectiva que sirve para recoger las partes del buffer de recepción que se encuentran en los procesos dentro de un comunicador.

El parámetro request en las rutinas de comunicación no bloqueantes sirve: Para poder saber si el envío del mensaje se ha completado al usarlo como parámetro en un MPI_Wait o MPI_Test. Para establecer la etiqueta usada en el mensaje y poder seleccionar el mensaje a leer por esa etiqueta. Para conocer el emisor y el tag del mensaje.

Si el proceso 3 manda un mensaje con tag 7 antes que el proceso 2 mande otro mensaje con tag 8, ambos al proceso 5. El proceso 3 no puede mandar el mensaje con tag 8 si antes no ha mandado mensajes con tags del 1 al 7. El proceso 5 debe leer primero el mensaje con tag 7 y luego el mensaje con tag 8 ya que MPI garantiza que los mensajes no se adelantan unos a otros. El proceso 5 puede leer primero el mensaje con tag 8 y luego el mensaje con tag 7.

¿Qué combinación de rutinas MPI entre dos procesos vecinos que tienen que recibir y enviar datos uno del ortro es más eficiente?. MPI_Irecv + MPI_Send. No se sabe ya que MPI es portable pero no su eficiencia. MPI_Isend + MPI_Irecv.

MPI_Isend(). Es necesario hacer un MPI_Probe() en el mismo proceso que hizo el MPI_Isend para ver si se ha completado el envío. El programa no continúa su ejecución hasta que se jaya completado el envío. El programa continua sin esperar que se haya completado el envío.

MPI_Irecv(). Normalmente el siguiente comando es un MPI_Wait(). El proceso que lo ejecuta necesita realizar un MPI_Wait() para estar seguro de que se han recibido los datos. Se puede usar el bufer de recepción en los siguientes comandos ya que es bloqueante.

¿Qué debe cumplir una comunicación colectiva?. La rutina colectiva usa el mismo tag en todos los procesos. La rutina colectiva debe recibirse con una rutina punto-a-punto en cada proceso. Todos los procesos deben llamar a la rutina colectiva.

El parámetro status en el MPI_Recv() sirve para. Saber la fuente y la etiqueta del remitente del mensaje. Para poder realizar después un MPI_Test() y chequear que se han recibido los datos. Para poder realizar después un MPI_Wait() y estar seguro de que se han recibido los datos.

MPI_Probe() se utiliza. Para bloquearse hasta que haya llegado un mensaje del que no se sabe el emisor ni la etiqueta. Para ver si ha llegado un mensaje del que no se sabe el emisor ni la etiqueta, sin bloquearse. Para recibir solo los mensajes que se han enviado con MPI_Isend().

Un proceso MPI tiene que saber el proceso que le envía el mensaje y la etiqueta asociada. Puede recibir de cualquier proceso pero debe saber la etiqueta. Si, para ponerlos en la correspondiente rutina de recepción. No, puede recibir en esa rutina de cualquier proceso y con cualquier etiqueta si usa MPI_ANY_SOURCE y MPI_ANY_TAG.

Si rank en el siguiente código es el rango del proceso actual y size es el número de procesos MPI en el comunicador, que sentencia es verdadera: for (i=0; i < size; i++) { if (rank == i) { printf("Hello from rank %d\n", rank); j = 10*i; } }. El bucle asegura que todas las operaciones se ejecutan en orden: rank 0 primero, rank 1 después,... El valor final de j es 10*(size-1) en todos los procesos. El valor final de j es 10*rank en el proceso rank. El bucle asegura que todas las operaciones se realizan en paralelo en todos los procesos.

¿Cual es el significado de una rutina MPI de paso de mensaje bloqueante?. La rutina retorna cuando la transmisión del mensaje se ha realizado completamente. La rutina retorna cuando todas las acciones MPI locales se han completado, pero la transmisión del mensaje podría no haberse completado. La rutina retorna inmediatamente, pero la transmisión del mensaje podría no haberse completado. La rutina bloquea todas las acciones MPI en los otros procesos hasta que se hayan completado sus acciones.

El comando MPI_Comm_size(). Solo funciona con el comunicador MPI_COMM_WORLD. Siempre devuelve el número de tareas MPI disponibles en la aplicación. Devuelve el número de procesos en el comunicador especificado.

MPI_Reduce(). Es una rutina colectiva que aplica una operación de reducción (como la suma) en todos los procesos del comunicador y pone el resultado en un proceso del comunicador. Es una rutina colectiva que sirve para dividir los datos del bufer de envío entre los procesos dentro de un comunicador. Es una rutina colectiva que sirve para recoger las partes del bufer de recepción que se encuentran en los procesos dentro de un comunicador.

¿Qué realiza la rutina MPI_Wtime()?. Devuelve el tiempo de ejecución del proceso actual. Espera el tiempo especificado en el parámetro antes de retornar. Devuelve el tiempo transcurrido desde un tiempo arbitrario en el pasado.

MPI_Recv(message, 4, MPI_CHAR, 5, tag, MPI_COMM_WORLD, &status) Describe el parámetro tag: Es el tipo de message en el mensaje de recepción. Es tipo del método de comunicación. Es un número asignado por el usuario que debe casar en ambos, emisor y receptor. Es el tipo de grupo de procesos.

¿Qué devuelve MPI_COMM_RANK?. El número de procesos en un programa MPI. El Identificador del proceso Linux. La prioridad del proceso actual. El identificador numérico del proceso actual dentro de un comunicador MPI.

El comando: $ mpirun -np 4 xterm -hold -e MPI_hello. Ejecuta 4 procesos MPI_hello. Las salidas por pantalla de los procesos MPI aparecen desordenadas en el mismo terminal. Ejecuta 4 procesos MPI_hello. Las salidas por pantalla de los procesos MPI aparecen ordenadas en el mismo terminal. Ejecuta 4 terminales xterm en los cuales se ejecuta un proceso MPI_hello. Los terminales se mantendrán visibles y el usuario debe cerrarlos.

MPI_Gather(). Es una rutina colectiva que sirve para enviar el mismo mensaje desde el proceso root a los demás procesos dentro de un comunicador. Es una rutina colectiva que sirve para recoger las partes del bufer de recepción que se encuentran en los procesos dentro de un comunicador. Es una rutina colectiva que sirve para dividir los datos del bufer de envío entre los procesos dentro de un comunicador.

MPI_Bcast(). Es una rutina colectiva que sirve para recoger las partes del bufer de recepción que se encuentran en los procesos dentro de un comunicador. Es una rutina colectiva que sirve para dividir los datos del bufer de envío entre los procesos dentro de un comunicador. Es una rutina colectiva que sirve para enviar el mismo mensaje desde el proceso root a los demás procesos dentro de un comunicador.

¿En qué rutinas MPI se usa status o request?. Status se usa en las rutinas de recepción bloquantes y request en las no bloqueantes ya sean de emisión o recepción. El status se usa para esperar a que se haya realizado la acción y request para saber la fuente del mensaje. Request se usa en las rutinas de recepción bloquantes y status en las no bloqueantes ya sean de emisión o recepción.

En el comando MPI_Send(message, 13, MPICHAR, x, 10, MPI_COMM_WORLD); ¿Cuando puede modificarse x sin que se afecte el mensaje que se envía?. Antes de ejecutar la rutina. Cualquiera de las opciones. Cuando la rutina retorna, es decir en los comandos siguientes a este. En cualquier momento.

Las rutinas de comunicación punto-a-punto bloqueantes de envío y recepción. Se pueden recibir o enviar, resp. en el otro proceso con rutinas punto-a-punto bloqueantes o no bloqueantes. Se pueden recibir o enviar, resp en el otro proceso con rutinas punto-a-punto solo bloqueantes. Se pueden recibir o enviar, resp. en los otros procesos con rutinas colectivas.

Denunciar Test