AMPI topology: neighbor order differs from MPI 3.1 section 7.6; Dist_graph_create probes with a user tag

Abierto
#4,101 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
42/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
cpp

Línea de trabajo

Start with sortNeighborsByLocality, MPI_Dist_graph_create, and tests/ampi/wildcard, the entry points named in the issue. Check MPI 3.1 section 7.6 for the required neighbor order, then trace how the graph creation probe uses the user's communicator. Done means neighbor results match MPI order and the probe cannot consume a pending user message.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Split out of #4072 (found while fixing the wildcard-tag item, #4090; pre-existing on recharm, not fixed).

  1. AMPI's neighbor order does not match MPI. sortNeighborsByLocality reorders the neighbors, and for Cartesian shifts AMPI puts +1 before -1, so the receive-buffer layout of the neighbor collectives differs from what MPI 3.1 section 7.6 specifies. tests/ampi/wildcard therefore compares neighbor results as a set; once the order is fixed it should compare them in order.
  2. MPI_Dist_graph_create probes MPI_ANY_SOURCE/MPI_ANY_TAG on the user's communicator with user tag 0, so it can take a pending user message.

Related: #4090 (wildcard tags, Ineighbor_alltoall tag).

Lenguaje dominante
C++
Estrellas
241
Forks
62
Merge medio
1 d 1 h
PR fusionados (30 d)
121

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de charmplusplus/charm

Todos los issues de charmplusplus/charm

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.