Item 21: remove classic Converse and the classic machine layers from recharm

Aperta
#4,056 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
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
bash, cmake, cpp, github-actions

Direzione di ricerca

Read doc/reconverse-merge-plan.md and the inventory DELETION-INVENTORY-2026-10-18.md first, then inspect the buildcmake path and src/conv-*, src/arch/*, and charmrun-src trees. Update the deletion set and survivor headers, remove buildold fallback behavior, and relocate the CI jobs as described. Confirm the reconverse build and the documented pingpong, megatest, and simplearrayhello trials pass; several follow-up cleanups are intentionally separate.

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

Descrizione

Tracking issue for merge-plan item 21 (doc/reconverse-merge-plan.md): recharm builds only on reconverse, and the classic Converse implementation and machine layers it still carries come out. Classic Charm++ continues unchanged on the classic branch (8.1.0).

Inventory (2026-10-18, trial deletion builds on reconverse-darwin-arm8 and passes pingpong, megatest, simplearrayhello): 850 files, about 152,000 lines.

Removed whole: src/QuickThreads, src/util/boost-context, 49 classic directories under src/arch (netlrts, mpi, ucx, verbs, ofi, gni, pami, pamilrts, multicore, win and their per-platform dirs), src/arch/template, src/xlatcpm, charmrun (charmrun-src and the per-arch scripts), buildold and its helper scripts, the classic .github/workflows/ci.yaml (its trigger names a branch that no longer exists), the netlrts job in reconverse-cuda.yaml.

Removed except survivors: src/conv-core (keeps the headers the reconverse build installs and debug-conv++.C), src/conv-ldb (keeps graphdefs.h, topology.h), src/arch/util (keeps the installed headers), src/conv-ccs (keeps ccs-builtins.{C,h}), src/arch/common (loses the compiler and option files that only deleted layers used). src/conv-perf stays: the reconverse build compiles it.

Also in the PR: buildcmake stops falling back to buildold; the doc and shellcheck jobs move from ci.yaml to reconverse-ci.yaml; the all-test and charm4py CMake targets, which already cannot build on reconverse, are deleted (charm4py on reconverse is its own workstream); installed headers that nothing includes are dropped in a second commit.

Sequencing: opens after #4051 and #4055 merge; objid phase 1 merges in either order (touches no classic directory). Rebasing over it is trivial for any PR that does not touch the deleted directories or the guards.

Follow-ups, separate PRs:

  • Collapse the remaining two-way guards in surviving code: 78 lines in 33 files (CMK_RECONVERSE, CMK_CONVERSE_MPI, CMK_MULTICORE, CMK_USE_SHMEM, CMK_USE_LRTS, CMK_NET_VERSION).
  • Seven test/example directories whose Makefiles call ./charmrun or ++local directly instead of bin/testrun; eleven more test ++nodelist, ++remote-shell, CMK_MULTICORE, CMK_USE_LRTS or a classic MACHINE_LAYER.
  • Classic-only leftovers outside the deleted trees: src/util/sockRoutines.{C,h}, uJcontext.{C,h}, uFcontext.h, ck-core/ckobjQ.C, modifyScheduler.C, charmc's .cpm handling (calls conv-cpm, never installed on reconverse), stale Make.depends files.
  • pose and mblock removal (decided separately).
  • Manual, FAQ and README sections describing classic layers, charmrun and buildold.
  • buildcmake option handling: nolb, tsan, perftools and craype are not recognized (the word is passed to the compiler: clang++: error: no such file or directory: 'nolb'); only the Fortran compiler options are mapped. Pre-existing; found while checking that the restored src/arch/common option files still reach include/.
  • Spack recipe (spack/spack-packages #7102, #7125): backend=reconverse becomes the only backend for @9: and the recharm branch.

Full inventory with file lists: DELETION-INVENTORY-2026-10-18.md (ask lvkale).

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.