Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
epoch_context.hpp File Reference

Manages one “generation” of write/read ordering in an Async<T> More...

#include "async_errors.hpp"
#include "async_node.hpp"
#include "async_task_promise.hpp"
#include "shared_storage.hpp"
#include "task_registry.hpp"
#include <atomic>
#include <coroutine>
#include <cstdio>
#include <cstdlib>
#include <exception>
#include <fmt/format.h>
#include <functional>
#include <memory>
#include <mutex>
#include <vector>
Include dependency graph for epoch_context.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  uni20::async::EpochContext
 
struct  uni20::async::EpochContext::DebugSnapshot
 
struct  uni20::async::EpochContext::TaskState
 
class  uni20::async::EpochContextReader< T >
 RAII handle representing the writer of a value in an EpochContext. More...
 
class  uni20::async::EpochContextWriter< T >
 RAII-scoped representation of a writer’s participation in an epoch. More...
 

Namespaces

namespace  uni20
 
namespace  uni20::async
 This represents the reverse-mode adjoint for functions of complex variables, assuming a real-valued scalar loss function ( L \colon \mathbb{C} \to \mathbb{R} ).
 

Functions

constexpr std::string_view uni20::async::format_as (uni20::async::EpochContext::Phase p)
 
void uni20::async::propagate_unhandled_writer_exception (EpochContext *epoch, std::exception_ptr eptr) noexcept
 Inject an unhandled writer-side coroutine exception into an epoch.
 

Detailed Description

Manages one “generation” of write/read ordering in an Async<T>

Note
these are the declarations that do not depend on epoch_queue.hpp, so we can avoid circular dependencies.