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.

As for NumPy operators, all preceding operators, plus the following, have gradient defined.

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