Usando mpirun – mca orte_base_help_aggregate 0 a error de depuración

Si su mpirun muere sin ningún mensaje de error puede que quiera tomar lectura de OpenMPI FAQ que
Depuración de aplicaciones en paralelo 7. Mi proceso muere sin ninguna salida. ¿Por qué?

Si la aplicación falla debido a la corrupción de la memoria, Open MPI puede posteriormente dejar de mostrar un mensaje de error antes de morir. Específicamente, a partir de v1.3, abierto MPI intenta agregar mensajes de error a partir de múltiples procesos en un intento de mostrar mensajes de error únicos sólo una vez (frente a uno para cada proceso de MPI – que puede ser unweildly, especialmente cuando se ejecutan grandes trabajos MPI) .

Sin embargo, este proceso de agregación requiere la asignación de memoria en el proceso MPI cuando se muestra el mensaje de error. Si la memoria del proceso ‘ya está dañado, el intento del Abierto de MPI para asignar memoria puede fallar y el proceso simplemente morir, posiblemente en silencio. Cuando Abrir MPI no intenta agregar mensajes de error, la mayoría de su trabajo de configuración se realiza durante MPI_Init y no se asigna memoria durante la «imprimir el error» de rutina. Por lo tanto, casi siempre emite con éxito los mensajes de error en tiempo real -. Pero a costa de que usted potencialmente viendo el mismo mensaje de error para cada proceso de MPI que encourntered error

Por lo tanto, la agregación de mensaje de error suele ser una buena cosa, pero a veces puede enmascarar un error real. Se puede desactivar el mensaje de error de agregación de Open MPI con el parámetro MCA orte_base_help_aggregate. Por ejemplo:

 $  mpirun - mca orte_base_help_aggregate 0 ... 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *