Supported GPU operatorsΒΆ
MinPy integrates MXNet operators to enable computation on GPUs. Technically all MXNet GPU operators are supported.
As a reference, following MXNet operators exist.
- Elementwise unary operators
- Abs
- Sign
- Round
- Ceil
- Floor
- Square
- Square root
- Exponential
- Logarithm
- Cosine
- Sine
- Elementwise binary operators
- Plus
- Minus
- Multiplication
- Division
- Power
- Maximum
- Minimum
- Broadcast
- Norm
- Maximum
- Minimum
- Sum
- Max axis
- Min axis
- Sum axis
- Argmax channel
- Elementwise binary broadcast
- Plus
- Minus
- Multiplication
- Division
- Power
- Matrix
- Transpose
- Expand dims
- Crop
- Slice axis
- Flip
- Dot
- Batch dot
- Deconvolution
- Sequence mask
- Concatenation
- Cast
- Swap axis
- Block grad
- Leaky relu
- RNN
- Softmax
- Pooling
- Softmax cross entropy
- Sample uniform
- Sample normal
- Smooth L1
But not all MXNet operators are gradable. You can still use them in computation, but trying to grad
them will result in an error.
Following MXNet operators have gradient implemented.
- Dot
- Exponential
- Logarithm
- Sum
- Plus
- Minus
- Multiplication
- Division
- True division
- Maximum
- Negation
- Transpose
- Abs
- Sign
- Round
- Ceil
- Floor
- Sqrt
- Sine
- Cosine
- Power
- Reshape
- Expand dims
As for NumPy operators, all preceding operators, plus the following, have gradient defined.
- Broadcast to
- Mod
- Minimum
- Append
- Sigmoid
The following table summarizes elementwise unary operators.
GPU operator | Gradient defined for MXNet | Gradient defined for NumPy |
---|---|---|
Abs | Y | Y |
Sign | Y | Y |
Round | Y | Y |
Ceil | Y | Y |
Floor | Y | Y |
Square | Y | Y |
Square root | Y | Y |
Exponential | Y | Y |
Logarithm | Y | Y |
Cosine | Y | Y |
Sine | Y | Y |
The following table summarizes elementwise binary operators (broadcast included).
GPU operator | Gradient defined for MXNet | Gradient defined for NumPy |
---|---|---|
Plus | Y | Y |
Subtract | Y | Y |
Multiply | Y | Y |
Divide | Y | Y |
Power | Y | Y |
Maximum | Y | Y |
Minimum | N | Y |
The following table summarizes broadcast reduce operators.
GPU operator | Gradient defined for MXNet | Gradient defined for NumPy |
---|---|---|
Norm | N | N |
Maximum | Y | Y |
Minimum | N | Y |
Sum | Y | Y |
Arg max | N | N |
The following table summarizes basic matrix operators.
GPU operator | Gradient defined for MXNet | Gradient defined for NumPy |
---|---|---|
Transpose | Y | Y |
Expand dims | Y | Y |
Crop | Y | Y |
Slice axis | Y | Y |
Flip | N | N |
Dot | Y | Y |