prepared_task.h#

namespace onnx_light

Alias that makes onnx-light headers compatible with code that references ONNX_LIGHT_NAMESPACE (the macro used in the standard onnx package).

Set to ONNX_LIGHT_NAMESPACE so both names resolve to the same namespace.

Symbol-visibility attribute for the public onnx-light C++ API.

Maps the upstream compatibility macro to onnx-light’s explicit proto ABI annotation. This keeps declarations from vendored ONNX headers visible when lib_onnx_proto uses hidden visibility by default.

Namespace alias so that ONNX C++ code (and consumers such as onnxruntime) that refers to the literal onnx namespace — rather than the ONNX_NAMESPACE macro — resolves to the onnx-light namespace. The standard onnx package lives in namespace onnx; onnx-light uses onnx_light (via ONNX_LIGHT_NAMESPACE), so this alias keeps onnx-light a true drop-in. It is only introduced when the onnx-light namespace differs from onnx.

namespace core
namespace runtime

Enums

enum class TaskScope#

Values:

enumerator kSession#
enumerator kInvocation#
enum class TaskKind#

Values:

enumerator kReadPayload#
enumerator kPrepare#
enumerator kExecute#
enumerator kPersist#
enum class ResourceClass#

Values:

enumerator kInline#
enumerator kIo#
enumerator kCpu#
enumerator kDevice#
enum class TaskStatus#

Values:

enumerator kPending#
enumerator kRunning#
enumerator kSucceeded#
enumerator kFailed#
enumerator kCancelled#
enumerator kSuppressed#
struct ActionRange#
#include <prepared_task.h>

Public Members

size_t begin = 0#
size_t end = 0#
class TaskCompletion#
#include <prepared_task.h>

Shares the completion state of one task between producers and dependants.

Public Functions

explicit TaskCompletion(TaskId task_id)#
void MarkRunning() const#

Marks the task as running.

void Succeed() const#

Marks the task as successfully completed.

void Fail(std::exception_ptr error, std::string message = {}) const#

Marks the task as failed and preserves its exception for Wait().

void Cancel(std::string message = {}) const#

Marks a pending task as cancelled.

void Suppress(TaskId caused_by, std::string message = {}) const#

Marks a pending task as suppressed by a failed dependency.

void Wait() const#

Waits for a terminal state and rethrows a task exception.

bool IsReady() const#

Returns whether the task has reached a terminal state.

TaskStatus status() const#
TaskDiagnostic diagnostic() const#

Private Members

std::shared_ptr<State> state_#

Private Static Functions

static bool IsTerminal(TaskStatus status)#
struct State#

Public Functions

inline explicit State(TaskId id)#

Public Members

mutable std::mutex mutex#
std::condition_variable completed#
TaskDiagnostic diagnostic#
std::exception_ptr error#
struct TaskDescriptor#
#include <prepared_task.h>

Public Members

TaskId id#
TaskScope scope = TaskScope::kInvocation#
TaskKind kind = TaskKind::kExecute#
ResourceClass resource = ResourceClass::kCpu#
std::vector<TaskId> dependencies#
size_t estimated_input_bytes = 0#
size_t estimated_output_bytes = 0#
size_t peak_temporary_bytes = 0#
std::optional<ActionRange> actions#
struct TaskDiagnostic#
#include <prepared_task.h>

Public Members

TaskId task_id#
TaskStatus status = TaskStatus::kPending#
std::string message#
std::optional<TaskId> caused_by#
struct TaskId#
#include <prepared_task.h>

Public Functions

constexpr bool operator==(const TaskId&) const noexcept = default#

Public Members

uint64_t value = 0#