namespace
runnable
Namespaces
- namespace detail
Classes
-
template<typename MsgT>struct RunnableMaker
- Convenience builder class for setting up a
RunnableNew
before enqueuing it or running it. - struct RunnableNew
- Holds a runnable active handler along with all the context associated with it to run it independently of the where in the stack it was created.
- struct RunnableNewAlloc
Functions
-
template<auto f, typename... Args>auto invoke(Args && ... args) -> auto
-
template<typename Callable, Callable f, typename... Args>auto invoke(Args && ... args) -> auto
-
template<typename U>auto makeRunnable(MsgSharedPtr<U> const& msg, bool is_threaded, HandlerType handler, NodeType from) -> RunnableMaker<U>
- Make a new runnable with a message.
- auto makeRunnableVoid(bool is_threaded, HandlerType handler, NodeType from) -> RunnableMaker<BaseMsgType>
- Make a new runnable without a message (void handler) – untraced variant. Call
makeRunnableVoidTraced
if you want it to show up in tracing. -
auto makeRunnableVoidTraced(bool is_threaded,
HandlerType handler,
NodeType from,
] trace::
TraceEventIDType trace_event, ] std::size_t msg_size) -> RunnableMaker<BaseMsgType> - Make a new runnable without a message (void handler) with tracing.
-
auto makeRunnableVoidTraced(bool is_threaded,
HandlerType handler,
NodeType from,
] trace::
TraceEventIDType trace_event, ] std::size_t msg_size, ] uint64_t idx1, ] uint64_t idx2, ] uint64_t idx3, ] uint64_t idx4) -> RunnableMaker<BaseMsgType> - Make a new runnable without a message (void handler) with tracing for collections.
-
template<>auto RunnableNew::get<ctx::SetContext>() -> ctx::
SetContext* -
template<>auto RunnableNew::get<ctx::LBData>() -> ctx::
LBData*
Function documentation
#include <src/vt/runnable/invoke.h>
template<auto f, typename... Args>
auto vt:: runnable:: invoke(Args && ... args)
#include <src/vt/runnable/invoke.h>
template<typename Callable, Callable f, typename... Args>
auto vt:: runnable:: invoke(Args && ... args)
#include <src/vt/runnable/make_runnable.h>
template<typename U>
RunnableMaker<U> vt:: runnable:: makeRunnable(MsgSharedPtr<U> const& msg,
bool is_threaded,
HandlerType handler,
NodeType from)
Make a new runnable with a message.
Parameters | |
---|---|
msg in | the message |
is_threaded in | whether it is threaded |
handler in | the handler bits |
from in | the node that caused this runnable to execute |
Returns | the maker for further customization |
RunnableMaker<BaseMsgType> vt:: runnable:: makeRunnableVoid(bool is_threaded,
HandlerType handler,
NodeType from)
#include <src/vt/runnable/make_runnable.h>
Make a new runnable without a message (void handler) – untraced variant. Call makeRunnableVoidTraced
if you want it to show up in tracing.
Parameters | |
---|---|
is_threaded in | whether it is threaded |
handler in | the handler bits |
from in | the node that caused this runnable to execute |
Returns | the maker for further customization |
RunnableMaker<BaseMsgType> vt:: runnable:: makeRunnableVoidTraced(bool is_threaded,
HandlerType handler,
NodeType from,
] trace:: TraceEventIDType trace_event,
] std::size_t msg_size)
#include <src/vt/runnable/make_runnable.h>
Make a new runnable without a message (void handler) with tracing.
Parameters | |
---|---|
is_threaded in | whether it is threaded |
handler in | the handler bits |
from in | the node that caused this runnable to execute |
trace_event | |
msg_size | |
Returns | the maker for further customization |
RunnableMaker<BaseMsgType> vt:: runnable:: makeRunnableVoidTraced(bool is_threaded,
HandlerType handler,
NodeType from,
] trace:: TraceEventIDType trace_event,
] std::size_t msg_size,
] uint64_t idx1,
] uint64_t idx2,
] uint64_t idx3,
] uint64_t idx4)
#include <src/vt/runnable/make_runnable.h>
Make a new runnable without a message (void handler) with tracing for collections.
Parameters | |
---|---|
is_threaded in | whether it is threaded |
handler in | the handler bits |
from in | the node that caused this runnable to execute |
trace_event | |
msg_size | |
idx1 in | 1-dimension index |
idx2 in | 2-dimension index |
idx3 in | 3-dimension index |
idx4 in | 4-dimension index |
Returns | the maker for further customization |
#include <src/vt/runnable/runnable.impl.h>
template<>
ctx:: SetContext* vt:: runnable:: RunnableNew::get<ctx::SetContext>()
#include <src/vt/runnable/runnable.impl.h>
template<>
ctx:: LBData* vt:: runnable:: RunnableNew::get<ctx::LBData>()