exec/async_scope.hpp: "invalid use of void expression" in on_empty() with nvcc 12.9 and gcc-12 host compiler
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 54/100
Rechercherichtung
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.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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?
- Vorherrschende Sprache
- C++
- Sterne
- 2.5k
- Forks
- 276
- Ø Merge
- 1 T. 18 Std.
- Gemergte PRs (30 T.)
- 39
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus NVIDIA/stdexec
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
NVIDIA/stdexec#1751 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Sequence operation states that don't retain sender-owned data: `write_env` over a sequence (#2294) and `exec::iterate`Evtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
NVIDIA/stdexec#2305 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
continues_on: hop opstate not connected with secondary environmentEvtl. vergeben @ericniebler hat das vor 18 Tagen übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
NVIDIA/stdexec#2268 · 4 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
NVIDIA/stdexec#2240 · 5 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 65/100
Maintainer antworten meist innerhalb von 1 Tag
Ähnliche Issues
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
EsotericSoftware/spine-runtimes#3186 ·
-
An empty line splits a signature where an ordinary comment is right above an argument's HaddockOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
mrkkrp/tilia#213 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Round video messages start gray and blocky with libx264: encoder is configured for 1,000,000 fpsOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
telegramdesktop/tdesktop#31422 ·
Maintainer antworten meist innerhalb von 9 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
Maintainer antworten meist innerhalb von 5 Tagen