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

Reverse-mode gradient accumulation channel built on reverse epoch queues. More...

#include "async.hpp"
#include "buffers.hpp"
#include "epoch_queue.hpp"
#include <type_traits>
Include dependency graph for reverse_value.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  uni20::async::async_value_type< ReverseValue< T > >
 
class  uni20::async::ReverseValue< T >
 Reverse-mode accumulation endpoint with staged input/output gradient channels. 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

template<typename T , typename U >
AsyncTask uni20::async::async_accumulate (ReadBuffer< T > a_, ReadBuffer< U > b_, WriteBuffer< T > out_)
 Compute out = a + b while tolerating cancellation of either input.
 
template<typename T , typename U >
AsyncTask uni20::async::async_accumulate_minus (ReadBuffer< T > a_, ReadBuffer< U > b_, WriteBuffer< T > out_)
 Compute out = a - b while tolerating cancellation of either input.
 
template<typename T >
ReadBuffer< T > uni20::async::read (ReverseValue< T > const &x)
 Free-function read adapter for ReverseValue.
 

Detailed Description

Reverse-mode gradient accumulation channel built on reverse epoch queues.