After the classic Converse deletion (#4061): dangling references and decisions on the Charm++ side

Aperta
#4,062 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Refactoring
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
cmake, cpp, linux

Direzione di ricerca

Start by checking the listed callers and headers: src/libs/ck-libs/state_space_searchengine/searchEngine.C, src/ck-core/ck.C, src/ck-core/init.C, and src/conv-core/debug-conv.h. Compare each reference with the deleted classic implementation and the linked reconverse issues; the issue leaves several choices open, so first establish which decisions are in scope. Done means resolving the dangling references and recording decisions for the unsupported paths, including the charmc link flags.

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

Descrizione

Companion to #4061. The inventory of the 699 deleted files, grouped into 45 capabilities with a disposition for each, is at https://claude.ai/artifact/XuUvYjLttB9Ntz7XuMUjkd (section "Capabilities removed, and where each one stands"). This issue holds the Charm++-side items that still reference a deleted capability or need a decision; reconverse #296 holds the reconverse-side ones.

Dangling references to decide

  • CmiPoolAlloc: src/conv-core/cmipool.h is kept but cmipool.C is deleted. src/libs/ck-libs/state_space_searchengine/searchEngine.C still calls CmiPoolAllocInit(30). Either port the pool into reconverse or switch that library to CmiAlloc and drop the header.
  • Message compression: reconverse never compresses, and the classic compress*.C / lz4 / zlib files in arch/util are gone. The kept Charm++ tree has no caller of Converse-level message compression: the only compression references are CMK_USE_ZLIB blocks in ck-ldb (LBManager.C, readmodel.C: gzip for load-balancing dump files, using zlib directly) and in AMPI (disabled with && 0). Nothing to fix here unless compression is wanted back; decision in reconverse #296.
  • CmiStartQD in the record-replay path: src/ck-core/ck.C calls CmiStartQD for CkMessageReplayQuiescence; reconverse has no CmiStartQD. Check whether that path is compiled on reconverse, then either change the caller to CkStartQD or ask reconverse for the function.
  • CharmDebug hooks: src/conv-core/debug-conv.h and debug-conv++.C are kept; src/ck-core/init.C declares and calls CpdFreeze; the classic debug-conv.C (CpdInit, CpdFreeze, CpdNotify) is deleted and reconverse has none of it. CharmDebug has not been tried on reconverse. Decide whether CharmDebug is supported on the 9.0 line.
  • Debugging allocators (memory-paranoid, memory-leak, memory-record, memory-verbose, memory-charmdebug): gone with no reconverse equivalent. Sanitizers cover paranoid and leak; CharmDebug's memory views depended on memory-charmdebug. Goes with the CharmDebug decision.
  • Out-of-core (CMK_OUT_OF_CORE): decide later (2026-10-20). Nothing was deleted: the repository only ever held conv-ooc.h (checked in commented-out in 2003), ten guarded lines in cklocation.C, ckarray.C and ckmigratable.h, and the ooc option in buildcmake; no CooRegisterManager/CooRegisterObject implementation exists in the history, so the option fails at link in classic too. Options: drop the header, guards and build option, or keep them as the shape of a future design.
  • -rdynamic on the charmc link line for reconverse targets: reconverse #294 adds stack traces on CmiAbort and fatal signals; on Linux the application's own symbols appear in the trace only if the executable is linked with -rdynamic. reconverse's CMake interface adds it for CMake consumers; charmc-linked programs need it in the reconverse-linux-* conv-mach.sh.

Unknown

  • Windows: the win and *-win-x86_64 arch directories are deleted; reconverse and LCI have never been built on Windows. cc-msvc in src/arch/common is kept.

Slated elsewhere (for the record)

Isomalloc and migratable threads, and AMPI global privatization: AMPI stages 1-2. Seed balancers and their LBTopology neighborhoods: reconverse #185 re-port. Stack traces: reconverse #294. Converse futures: reconverse #295. MPI interop: reconverse #296.

🤖 Generated with Claude Code

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.