Skip to content

Commit c287bf2

Browse files
authored
utilities for computing completions during constant evaluation (#2032)
1 parent 27d64cd commit c287bf2

43 files changed

Lines changed: 771 additions & 488 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.vscode/launch.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,17 @@
8585
"environment": [{"CUDA_LAUNCH_BLOCKING": "1"}],
8686
"args": ["--iterations=1000", "--N=512", "--run-stream-scheduler"],
8787
},
88+
{
89+
"name": "(Windows) Launch",
90+
"type": "cppvsdbg",
91+
"request": "launch",
92+
"program": "${command:cmake.launchTargetPath}",
93+
"args": [],
94+
"stopAtEntry": false,
95+
"cwd": "${fileDirname}",
96+
"environment": [],
97+
"console": "externalTerminal"
98+
},
8899
],
89100
"inputs": [
90101
// These require the Tasks Shell Input extension:

include/exec/detail/basic_sequence.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,6 @@ namespace STDEXEC::__detail
127127
extern decltype(_DescriptorFn()) __desc_of_v<exec::__seqexpr<_DescriptorFn>>;
128128

129129
template <auto _DescriptorFn>
130-
extern __declfn_t<__minvoke<decltype(_DescriptorFn()), __q<exec::__basic_sequence_sender_t>>>
130+
extern __mtype<__minvoke<decltype(_DescriptorFn()), __q<exec::__basic_sequence_sender_t>>>
131131
__demangle_v<exec::__seqexpr<_DescriptorFn>>;
132132
} // namespace STDEXEC::__detail

include/exec/repeat_until.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -275,11 +275,11 @@ namespace experimental::execution
275275
using __eptr_completion_t = set_error_t(std::exception_ptr);
276276
constexpr auto __eptr_completion = (__eptr_completion_t *) nullptr;
277277

278-
STDEXEC_COMPLSIGS_LET(
279-
__sigs,
278+
auto __sigs =
280279
exec::transform_completion_signatures(get_completion_signatures<__child_t, _Env...>(),
281280
__transform_values<__child_t>,
282-
__transform_errors))
281+
__transform_errors);
282+
STDEXEC_IF_OK(__sigs)
283283
{
284284
// The repeat_until sender is a dependent sender if one of the following is
285285
// true:

include/exec/static_thread_pool.hpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@
4545
#include "sequence/iterate.hpp"
4646
#include "sequence_senders.hpp"
4747

48-
#include <algorithm>
4948
#include <compare>
5049
#include <condition_variable>
5150
#include <cstdint>

include/nvexec/nvtx.cuh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ namespace nvexec = nv::execution;
196196
namespace STDEXEC::__detail
197197
{
198198
template <nvexec::_strm::nvtx::kind Kind, class Sender>
199-
extern __declfn_t<nvexec::_strm::nvtx::nvtx_sender<Kind, __demangle_t<Sender>>>
199+
extern __mtype<nvexec::_strm::nvtx::nvtx_sender<Kind, __demangle_t<Sender>>>
200200
__demangle_v<nvexec::_strm::nvtx::nvtx_sender<Kind, Sender>>;
201201
} // namespace STDEXEC::__detail
202202

include/nvexec/stream/algorithm_base.cuh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ namespace nvexec = nv::execution;
145145
namespace STDEXEC::__detail
146146
{
147147
template <class Sender, class InitT, class Fun, class DerivedSender>
148-
extern __declfn_t<nvexec::_strm::__algo_range_init_fun::
149-
sender<__demangle_t<Sender>, InitT, Fun, __demangle_t<DerivedSender>>>
148+
extern __mtype<nvexec::_strm::__algo_range_init_fun::
149+
sender<__demangle_t<Sender>, InitT, Fun, __demangle_t<DerivedSender>>>
150150
__demangle_v<nvexec::_strm::__algo_range_init_fun::sender<Sender, InitT, Fun, DerivedSender>>;
151151
} // namespace STDEXEC::__detail

include/nvexec/stream/bulk.cuh

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -440,12 +440,11 @@ namespace nvexec = nv::execution;
440440
namespace STDEXEC::__detail
441441
{
442442
template <class Sender, class Shape, class Fun>
443-
inline constexpr __declfn_t<nvexec::_strm::bulk_sender<__demangle_t<Sender>, Shape, Fun>>
443+
inline constexpr __mtype<nvexec::_strm::bulk_sender<__demangle_t<Sender>, Shape, Fun>>
444444
__demangle_v<nvexec::_strm::bulk_sender<Sender, Shape, Fun>>{};
445445

446446
template <class Sender, class Shape, class Fun>
447-
inline constexpr __declfn_t<
448-
nvexec::_strm::multi_gpu_bulk_sender<__demangle_t<Sender>, Shape, Fun>>
447+
inline constexpr __mtype<nvexec::_strm::multi_gpu_bulk_sender<__demangle_t<Sender>, Shape, Fun>>
449448
__demangle_v<nvexec::_strm::multi_gpu_bulk_sender<Sender, Shape, Fun>>{};
450449
} // namespace STDEXEC::__detail
451450

include/nvexec/stream/continues_on.cuh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,7 @@ namespace nvexec = nv::execution;
284284
namespace STDEXEC::__detail
285285
{
286286
template <class Scheduler, class Sender>
287-
extern __declfn_t<nvexec::_strm::continues_on_sender<Scheduler, __demangle_t<Sender>>>
287+
extern __mtype<nvexec::_strm::continues_on_sender<Scheduler, __demangle_t<Sender>>>
288288
__demangle_v<nvexec::_strm::continues_on_sender<Scheduler, Sender>>;
289289
} // namespace STDEXEC::__detail
290290

include/nvexec/stream/ensure_started.cuh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,7 @@ namespace nvexec = nv::execution;
430430
namespace STDEXEC::__detail
431431
{
432432
template <class Sender>
433-
extern __declfn_t<nvexec::_strm::ensure_started_sender<__demangle_t<Sender>>>
433+
extern __mtype<nvexec::_strm::ensure_started_sender<__demangle_t<Sender>>>
434434
__demangle_v<nvexec::_strm::ensure_started_sender<Sender>>;
435435
} // namespace STDEXEC::__detail
436436

include/nvexec/stream/launch.cuh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ namespace nvexec = nv::execution;
204204
namespace STDEXEC::__detail
205205
{
206206
template <class Sender, class Fun>
207-
extern __declfn_t<nvexec::_strm::launch_sender<__demangle_t<Sender>, Fun>>
207+
extern __mtype<nvexec::_strm::launch_sender<__demangle_t<Sender>, Fun>>
208208
__demangle_v<nvexec::_strm::launch_sender<Sender, Fun>>;
209209
} // namespace STDEXEC::__detail
210210

0 commit comments

Comments
 (0)