Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Parallel scheduler namespace problems

Aperta
#2,071 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
48/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
cpp

Direzione di ricerca

Inizia confrontando la gestione dei namespace in __config.hpp e sudoku.cpp, quindi esamina le configurazioni CI per STDEXEC_BUILD_PARALLEL_SCHEDULER. Riproduci la build con unità di traduzione separate e verifica che parallel_scheduler_replacement utilizzi un namespace coerente. L’attività è completata quando la build dello scheduler ha esito positivo, la CI copre l’opzione e il namespace incondizionato è documentato o rimosso.

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

Descrizione

The STDEXEC namespace is dependent on the definition of STDEXEC_NAMESPACE, which may be std::execution.

In __config.hpp there exists an unconditional definition of namespace std::execution::parallel_scheduler_replacement. It's unclear to me if this is intended.

In sudoku.cpp STDEXEC_NAMESPACE is locally defined as std::execution. However, this breaks when using STDEXEC_BUILD_PARALLEL_SCHEDULER , because parallel_scheduler_replacement is now built in a separate TU, which is unaware of the local namespace override. This nested namespace ends up in namespace STDEXEC in on TU and in namespace std::execution in another.

I also noticed that STDEXEC_BUILD_PARALLEL_SCHEDULER is not tested in CI, which is probably why this problem has gone unnoticed thus far.

I think the simplest solution here would be to:

  1. Use STDEXEC instead of std and nested namespace in sudoku.cpp.
  2. Define STDEXEC_BUILD_PARALLEL_SCHEDULER in the CI builds.
  3. Either remove or document the unconditional std::execution namespace in __config.hpp.
Lingua principale
C++
Stelle
2.4k
Fork
274
Merge medio
1g 13h
PR unite (30g)
38

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 NVIDIA/stdexec

Tutte le issue di NVIDIA/stdexec

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.