examples/ampi/Cjacobi3D/jacobi-get diverges: maxerr grows over the run

Aperta
#4,159 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
54/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
cpp
Ambito
hpc, testing

Direzione di ricerca

Start with examples/ampi/Cjacobi3D/jacobi-get.C and compare its one-sided halo exchange with the send/recv variant in the Jacobi example. Check the window exposure, fence placement, and fetched-plane indexing; reproduce the reported Delta run before load balancing begins. Done means the error shrinks as expected and the example fails when it grows.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

What

examples/ampi/Cjacobi3D/jacobi-get.C, the one-sided (MPI_Get) variant of the Jacobi example, diverges: its printed maxerr grows over the run instead of shrinking. In a Delta run (recharm, 2 and 3 processes, 40 iterations, two load balancing rounds, 2026-11-03) jacobi-get went from maxerr 364223 to 23000530 while jacobi in the same configuration went from 2020 to 447. The run completes and the example reports no failure, so the harness counts it as passing.

What it probably is

The computation, not the migration: the growth is monotonic from the first iterations, before any load balancing step. Candidates are the window exposure and fence placement in the get-based halo exchange (reading a neighbour's buffer while it is being updated) or the indexing of the fetched planes. The example needs a check of its final error against the send/recv variant and should fail when the error grows.

Touches the charm++ core: no.

Lingua principale
C++
Stelle
241
Fork
62
Merge medio
1g 1h
PR unite (30g)
121

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di charmplusplus/charm

Tutte le issue di charmplusplus/charm

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.