exec/async_scope.hpp: "invalid use of void expression" in on_empty() with nvcc 12.9 and gcc-12 host compiler
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 54/100
Piste de recherche
Start by reading exec/async_scope.hpp around lines 823–825, especially on_empty(), and compare the related inline_scheduler fix in #2288. Run the standalone repro.cu compile command with nvcc 12.9 and gcc-12 to confirm the failure. Done means establishing whether this compiler combination is supported and whether the issue can be resolved in async_scope.hpp.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Including <exec/async_scope.hpp> fails to compile under nvcc with gcc-12 as the host compiler. We observed this in HPX's CUDA CI, where a .cu test pulls in the header through hpx/execution.hpp.
Environment
- nvcc: CUDA 12.9
- host compiler: gcc-12
- stdexec: main
Error
exec/async_scope.hpp:823-825
return when_empty(just());
error: invalid use of void expression
Observed in
- HPX CUDA CI: https://github.com/TheHPXProject/hpx/issues/7676
- HPX workaround (hides the async_scope include from nvcc): https://github.com/TheHPXProject/hpx/pull/7678
Standalone repro (not yet verified outside HPX CI)
// repro.cu
#include <exec/async_scope.hpp>
int main() {}
nvcc -std=c++20 -ccbin g++-12 -I<stdexec>/include -c repro.cu
Notes
- The same error on this line was reported as GCC bug 114393, so this may be a gcc-12 front-end problem that nvcc exposes.
- A similar nvcc failure in inline_scheduler (#2284) was fixed with a CUDACC guard in #2288. This looks like a separate problem in async_scope.
Questions
- Is nvcc with gcc-12 a supported combination for exec/async_scope.hpp?
- Would a CUDACC guard or a workaround in on_empty() (for example an explicit return type) be acceptable, as in #2288?
- Langage dominant
- C++
- Étoiles
- 2.5k
- Forks
- 276
- Merge moyen
- 1 j 16 h
- PR mergées (30 j)
- 45
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de NVIDIA/stdexec
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
NVIDIA/stdexec#1751 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Sequence operation states that don't retain sender-owned data: `write_env` over a sequence (#2294) and `exec::iterate`Peut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
NVIDIA/stdexec#2305 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
continues_on: hop opstate not connected with secondary environmentPeut-être pris @ericniebler l’a pris il y a 19 jours. Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
NVIDIA/stdexec#2268 · 4 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
NVIDIA/stdexec#2240 · 5 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 65/100
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de NVIDIA/stdexec
Issues similaires
-
Component: Python API
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
Vector35/binaryninja-api#8649 ·
Les mainteneurs répondent en général sous 3 jours
-
ai_p2 comp-parquet-reader-v3
Difficulté 2/5 Une demi-journée Accessibilité débutants 66/100
ClickHouse/ClickHouse#124986 ·
Les mainteneurs répondent en général sous 1 jour
-
bug product: very_good_flutter_plugin
Difficulté 1/5 1-3 heures Accessibilité débutants 78/100
VeryGoodOpenSource/very_good_templates#654 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
AcademySoftwareFoundation/OpenImageIO#5550 ·
Les mainteneurs répondent en général sous 2 jours