dopt.core

This package contains the framework for constructing and executing operation graphs.

  • dopt.core.ops provides functions for constructing nodes in the operation graph.
  • dopt.core.grads provides functions for computing the derivatives of operations.
  • dopt.core.cpu contains a backend that executes operation graphs using the CPU.
  • dopt.core.cuda contains a backend that executes operation graphs using a CUDA enabled GPU.

Modules

cpu
module dopt.core.cpu

This module enables operation graphs to be evaluated using CPU kernels.

cuda
module dopt.core.cuda

This is the main interface for the dopt CUDA backend.

grads
module dopt.core.grads

Contains the automatic differentiation framework.

ops
module dopt.core.ops

This package facilitates the construction of various nodes in the operation graph.

types
module dopt.core.types
Undocumented in source.

Public Imports

dopt.core.cpu
public import dopt.core.cpu;
Undocumented in source.
dopt.core.cuda
public import dopt.core.cuda;
Undocumented in source.
dopt.core.grads
public import dopt.core.grads;
Undocumented in source.
dopt.core.ops
public import dopt.core.ops;
Undocumented in source.
dopt.core.types
public import dopt.core.types;
Undocumented in source.

Members

Aliases

Evaluator
alias Evaluator = Buffer[] delegate(Operation[] ops, Buffer[Operation] args)
Undocumented in source.

Functions

evaluate
Buffer evaluate(Operation op, Buffer[Operation] args)

Evaluates an operation graph with a single root node.

evaluate
Buffer[] evaluate(Operation[] ops, Buffer[Operation] args)

Evaluates a several nodes from the operation graph.

Static variables

defaultEvaluator
Evaluator defaultEvaluator;
Undocumented in source.

Meta

Authors

Henry Gouk