Make.Typemodule Device : Owl_types_computation_device.Sigtype t = attr Owl_graph.nodeTODO
and block = {size : int;block_id : int;mutable active : t option;mutable memory : Device.value;mutable nodes : t list;}block type keeps a reference to a block of memory and to the nodes sharing that block.
and attr = {mutable op : op;mutable freeze : bool;mutable reuse : bool;mutable state : state;mutable shape : int array option array;mutable value : Device.value array;mutable block : block array option;}TODO
and op = | Noop| Var| Const| Empty of int array| Zeros of int array| Ones of int array| Create of int array| Sequential of int array| Uniform of int array| Gaussian of int array| Bernoulli of int array| Init of int array * int -> elt| Get of int array| Set of int array| GetSlice of int list list| SetSlice of int list list| GetFancy of Owl_types_common.index list| SetFancy of Owl_types_common.index list| Copy| Reset| Reshape of int array| Reverse| Tile of int array| Repeat of int array| Pad of elt * int list list| Concatenate of int| Stack of int| Split of int * int array| Draw of int * int| Map of elt -> elt| Fold of int * elt -> elt -> elt| Scan of int * elt -> elt -> elt| OneHot of int| OfArray of int array| Delay of Device.A.arr -> Device.A.arr| DelayArray of int array * Device.A.arr array -> Device.A.arr| LazyPrint of int option
* int option
* bool option
* (Device.A.elt -> string) option| Abs| Neg| Floor| Ceil| Round| Sqr| Sqrt| Log| Log2| Log10| Exp| Sin| Cos| Tan| Sinh| Cosh| Tanh| Asin| Acos| Atan| Asinh| Acosh| Atanh| Min of bool * int| Max of bool * int| Sum of bool * int| SumReduce of int array| Signum| Sigmoid| Relu| Dawsn| Min'| Max'| Sum'| LogSumExp'| LogSumExp of bool * int| L1norm'| L2norm'| L2NormSqr'| ClipByValue| ClipByL2norm| Pow| ScalarPow| PowScalar| Atan2| ScalarAtan2| Atan2Scalar| Hypot| Min2| Max2| Add| Sub| Mul| Div| AddScalar| SubScalar| MulScalar| DivScalar| ScalarAdd| ScalarSub| ScalarMul| ScalarDiv| FMA| EltEqual| EltNotEqual| EltLess| EltGreater| EltLessEqual| EltGreaterEqual| EltEqualScalar| EltNotEqualScalar| EltLessScalar| EltGreaterScalar| EltLessEqualScalar| EltGreaterEqualScalar| Conv1d of Owl_types_common.padding * int array| Conv2d of Owl_types_common.padding * int array| Conv3d of Owl_types_common.padding * int array| TransposeConv1d of Owl_types_common.padding * int array| TransposeConv2d of Owl_types_common.padding * int array| TransposeConv3d of Owl_types_common.padding * int array| DilatedConv1d of Owl_types_common.padding * int array * int array| DilatedConv2d of Owl_types_common.padding * int array * int array| DilatedConv3d of Owl_types_common.padding * int array * int array| MaxPool1d of Owl_types_common.padding * int array * int array| MaxPool2d of Owl_types_common.padding * int array * int array| MaxPool3d of Owl_types_common.padding * int array * int array| AvgPool1d of Owl_types_common.padding * int array * int array| AvgPool2d of Owl_types_common.padding * int array * int array| AvgPool3d of Owl_types_common.padding * int array * int array| UpSampling2d of int array| Conv1dBackwardInput of int array| Conv1dBackwardKernel of int array| Conv2dBackwardInput of int array| Conv2dBackwardKernel of int array| Conv3dBackwardInput of int array| Conv3dBackwardKernel of int array| TransposeConv1dBackwardInput of int array| TransposeConv1dBackwardKernel of int array| TransposeConv2dBackwardInput of int array| TransposeConv2dBackwardKernel of int array| TransposeConv3dBackwardInput of int array| TransposeConv3dBackwardKernel of int array| DilatedConv1dBackwardInput of int array * int array| DilatedConv1dBackwardKernel of int array * int array| DilatedConv2dBackwardInput of int array * int array| DilatedConv2dBackwardKernel of int array * int array| DilatedConv3dBackwardInput of int array * int array| DilatedConv3dBackwardKernel of int array * int array| MaxPool1dBackward of Owl_types_common.padding * int array * int array| MaxPool2dBackward of Owl_types_common.padding * int array * int array| MaxPool3dBackward of Owl_types_common.padding * int array * int array| AvgPool1dBackward of Owl_types_common.padding * int array * int array| AvgPool2dBackward of Owl_types_common.padding * int array * int array| AvgPool3dBackward of Owl_types_common.padding * int array * int array| UpSampling2dBackward of int array| RowNum| ColNum| Row| Rows of int array| CopyRowTo| CopyColTo| Dot of bool * bool * elt * elt| Inv| Trace| Transpose of int array| ToRows| OfRows| Scalar_Add| Scalar_Sub| Scalar_Mul| Scalar_Div| Scalar_Pow| Scalar_Atan2| Scalar_Abs| Scalar_Neg| Scalar_Sqr| Scalar_Sqrt| Scalar_Exp| Scalar_Log| Scalar_Log2| Scalar_Log10| Scalar_Signum| Scalar_Floor| Scalar_Ceil| Scalar_Round| Scalar_Sin| Scalar_Cos| Scalar_Tan| Scalar_Sinh| Scalar_Cosh| Scalar_Tanh| Scalar_Asin| Scalar_Acos| Scalar_Atan| Scalar_Asinh| Scalar_Acosh| Scalar_Atanh| Scalar_Relu| Scalar_Dawsn| Scalar_Sigmoid| Fused_Adagrad of float * floatTODO
*)