Home | History | Annotate | Download | only in g3doc
      1 **Supported operators for device: XLA_GPU_JIT**
      2 
      3 Operator                              | Type Constraint
      4 ------------------------------------- | ---------------
      5 `Abs`                                 | `T={double,float,int32,int64}`
      6 `Acosh`                               | `T={complex64,double,float}`
      7 `Add`                                 | `T={complex64,double,float,int32,int64}`
      8 `AddN`                                | `T={complex64,double,float,int32,int64,uint32,uint64}`
      9 `AdjustContrastv2`                    |
     10 `AdjustHue`                           |
     11 `AdjustSaturation`                    |
     12 `All`                                 | `Tidx={int32,int64}`
     13 `Angle`                               | `Tout={double,float}`<br>`T={complex64}`
     14 `Any`                                 | `Tidx={int32,int64}`
     15 `ApproximateEqual`                    | `T={complex64,double,float,int32,int64,uint32,uint64}`
     16 `ArgMax`                              | `Tidx={int32,int64}`<br>`output_type={int32,int64}`<br>`T={complex64,double,float,int32,int64,uint32,uint64}`
     17 `ArgMin`                              | `Tidx={int32,int64}`<br>`output_type={int32,int64}`<br>`T={complex64,double,float,int32,int64,uint32,uint64}`
     18 `Asinh`                               | `T={complex64,double,float}`
     19 `AssignAddVariableOp`                 | `dtype={complex64,double,float,int32,int64,uint32,uint64}`
     20 `AssignSubVariableOp`                 | `dtype={complex64,double,float,int32,int64,uint32,uint64}`
     21 `AssignVariableOp`                    | `dtype={bool,complex64,double,float,int32,int64,uint32,uint64}`
     22 `Atan2`                               | `T={double,float}`
     23 `Atanh`                               | `T={complex64,double,float}`
     24 `AvgPool`                             | `T={double,float}`
     25 `AvgPool3D`                           | `T={double,float}`
     26 `AvgPool3DGrad`                       | `T={double,float}`
     27 `AvgPoolGrad`                         | `T={double,float}`
     28 `BatchMatMul`                         | `T={complex64,double,float,int32}`
     29 `BatchToSpace`                        | `Tidx={int32,int64}`<br>`T={bool,complex64,double,float,int32,int64,uint32,uint64}`
     30 `BatchToSpaceND`                      | `Tcrops={int32,int64}`<br>`Tblock_shape={int32,int64}`<br>`T={bool,complex64,double,float,int32,int64,uint32,uint64}`
     31 `BiasAdd`                             | `T={complex64,double,float,int32,int64,uint32,uint64}`
     32 `BiasAddGrad`                         | `T={complex64,double,float,int32,int64,uint32,uint64}`
     33 `BiasAddV1`                           | `T={complex64,double,float,int32,int64,uint32,uint64}`
     34 `BitwiseAnd`                          | `T={int32,int64,uint32,uint64}`
     35 `BitwiseOr`                           | `T={int32,int64,uint32,uint64}`
     36 `BroadcastArgs`                       | `T={int32,int64}`
     37 `BroadcastGradientArgs`               | `T={int32,int64}`
     38 `Cast`                                | `DstT={bool,complex64,double,float,int32,int64,uint32,uint64}`<br>`SrcT={bool,complex64,double,float,int32,int64,uint32,uint64}`
     39 `Ceil`                                | `T={double,float}`
     40 `Cholesky`                            | `T={double,float}`
     41 `Complex`                             | `Tout={complex64}`<br>`T={double,float}`
     42 `ComplexAbs`                          | `Tout={double,float}`<br>`T={complex64}`
     43 `Concat`                              | `T={bool,complex64,double,float,int32,int64,uint32,uint64}`
     44 `ConcatOffset`                        |
     45 `ConcatV2`                            | `Tidx={int32}`<br>`T={bool,complex64,double,float,int32,int64,uint32,uint64}`
     46 `Conj`                                | `T={complex64}`
     47 `Const`                               | `dtype={bool,complex64,double,float,int32,int64,uint32,uint64}`
     48 `ControlTrigger`                      |
     49 `Conv2D`                              | `T={float}`
     50 `Conv2DBackpropFilter`                | `T={float}`
     51 `Conv2DBackpropInput`                 | `T={float}`
     52 `Conv3D`                              | `T={double,float}`
     53 `Conv3DBackpropFilterV2`              | `T={double,float}`
     54 `Conv3DBackpropInputV2`               | `T={double,float}`
     55 `Cos`                                 | `T={complex64,double,float}`
     56 `Cosh`                                | `T={complex64,double,float}`
     57 `Cross`                               | `T={double,float,int32,int64,uint32,uint64}`
     58 `Cumprod`                             | `Tidx={int32,int64}`<br>`T={float}`
     59 `Cumsum`                              | `Tidx={int32,int64}`<br>`T={float}`
     60 `DepthToSpace`                        | `T={bool,complex64,double,float,int32,int64,uint32,uint64}`
     61 `DepthwiseConv2dNative`               | `T={double,float}`
     62 `DepthwiseConv2dNativeBackpropFilter` | `T={double,float}`
     63 `DepthwiseConv2dNativeBackpropInput`  | `T={double,float}`
     64 `Diag`                                | `T={complex64,double,float,int32,int64}`
     65 `DiagPart`                            | `T={complex64,double,float,int32,int64}`
     66 `Div`                                 | `T={complex64,double,float,int32,int64}`
     67 `DynamicStitch`                       | `T={bool,complex64,double,float,int32,int64,uint32,uint64}`
     68 `Elu`                                 | `T={double,float}`
     69 `EluGrad`                             | `T={double,float}`
     70 `Equal`                               | `T={bool,complex64,double,float,int32,int64}`
     71 `Exp`                                 | `T={complex64,double,float}`
     72 `ExpandDims`                          | `Tdim={int32,int64}`<br>`T={bool,complex64,double,float,int32,int64,uint32,uint64}`
     73 `Expm1`                               | `T={complex64,double,float}`
     74 `ExtractImagePatches`                 | `T={double,float,int32,int64,uint32,uint64}`
     75 `FFT`                                 |
     76 `FFT2D`                               |
     77 `FFT3D`                               |
     78 `Fill`                                | `index_type={int32,int64}`<br>`T={bool,complex64,double,float,int32,int64,uint32,uint64}`
     79 `Floor`                               | `T={double,float}`
     80 `FloorDiv`                            | `T={complex64,double,float,int32,int64}`
     81 `FloorMod`                            | `T={double,float,int32,int64}`
     82 `FusedBatchNorm`                      | `T={float}`
     83 `FusedBatchNormGrad`                  | `T={float}`
     84 `FusedBatchNormGradV2`                | `U={float}`<br>`T={float}`
     85 `FusedBatchNormV2`                    | `U={float}`<br>`T={float}`
     86 `Gather`                              | `Tindices={int32,int64}`<br>`Tparams={bool,complex64,double,float,int32,int64,uint32,uint64}`
     87 `GatherV2`                            | `Taxis={int32,int64}`<br>`Tindices={int32,int64}`<br>`Tparams={bool,complex64,double,float,int32,int64,uint32,uint64}`
     88 `Greater`                             | `T={double,float,int32,int64,uint32,uint64}`
     89 `GreaterEqual`                        | `T={double,float,int32,int64,uint32,uint64}`
     90 `HSVToRGB`                            | `T={double,float}`
     91 `IFFT`                                |
     92 `IFFT2D`                              |
     93 `IFFT3D`                              |
     94 `IRFFT`                               |
     95 `IRFFT2D`                             |
     96 `IRFFT3D`                             |
     97 `Identity`                            | `T={bool,complex64,double,float,int32,int64,uint32,uint64}`
     98 `IdentityN`                           | `T={bool,complex64,double,float,int32,int64,uint32,uint64}`
     99 `Imag`                                | `Tout={double,float}`<br>`T={complex64}`
    100 `Inv`                                 | `T={complex64,double,float,int32,int64}`
    101 `Invert`                              | `T={int32,int64,uint32,uint64}`
    102 `InvertPermutation`                   | `T={int32}`
    103 `IsFinite`                            | `T={double,float}`
    104 `IsInf`                               | `T={double,float}`
    105 `IsNan`                               | `T={double,float}`
    106 `L2Loss`                              | `T={double,float}`
    107 `LRN`                                 | `T={float}`
    108 `LRNGrad`                             | `T={float}`
    109 `LeftShift`                           | `T={int32,int64,uint32,uint64}`
    110 `Less`                                | `T={double,float,int32,int64,uint32,uint64}`
    111 `LessEqual`                           | `T={double,float,int32,int64,uint32,uint64}`
    112 `LinSpace`                            | `Tidx={int32,int64}`<br>`T={double,float}`
    113 `Log`                                 | `T={complex64,double,float}`
    114 `Log1p`                               | `T={complex64,double,float}`
    115 `LogSoftmax`                          | `T={double,float}`
    116 `LogicalAnd`                          |
    117 `LogicalNot`                          |
    118 `LogicalOr`                           |
    119 `MatMul`                              | `T={complex64,double,float}`
    120 `MatrixDiag`                          | `T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    121 `MatrixDiagPart`                      | `T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    122 `MatrixTriangularSolve`               | `T={complex64,double,float}`
    123 `Max`                                 | `Tidx={int32,int64}`<br>`T={complex64,double,float,int32,int64,uint32,uint64}`
    124 `MaxPool`                             | `T={double,float,int32,int64}`
    125 `MaxPool3D`                           | `T={float}`
    126 `MaxPool3DGrad`                       | `TInput={float}`<br>`T={float}`
    127 `MaxPoolGrad`                         | `T={double,float,int32,int64,uint32,uint64}`
    128 `MaxPoolGradV2`                       | `T={double,float,int32,int64,uint32,uint64}`
    129 `MaxPoolV2`                           | `T={double,float,int32,int64}`
    130 `Maximum`                             | `T={double,float,int32,int64}`
    131 `Mean`                                | `Tidx={int32,int64}`<br>`T={complex64,double,float,int32,int64,uint32,uint64}`
    132 `Min`                                 | `Tidx={int32,int64}`<br>`T={complex64,double,float,int32,int64,uint32,uint64}`
    133 `Minimum`                             | `T={double,float,int32,int64}`
    134 `MirrorPad`                           | `Tpaddings={int32,int64}`<br>`T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    135 `Mod`                                 | `T={double,float,int32,int64}`
    136 `Mul`                                 | `T={complex64,double,float,int32,int64}`
    137 `Multinomial`                         | `output_dtype={int32,int64}`<br>`T={double,float,int32,int64,uint32,uint64}`
    138 `Neg`                                 | `T={complex64,double,float,int32,int64}`
    139 `NoOp`                                |
    140 `NotEqual`                            | `T={bool,complex64,double,float,int32,int64}`
    141 `OneHot`                              | `TI={int32,int64}`<br>`T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    142 `OnesLike`                            | `T={bool,complex64,double,float,int32,int64}`
    143 `Pack`                                | `T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    144 `Pad`                                 | `Tpaddings={int32,int64}`<br>`T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    145 `PadV2`                               | `Tpaddings={int32,int64}`<br>`T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    146 `ParallelDynamicStitch`               | `T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    147 `Pow`                                 | `T={complex64,double,float,int32,int64}`
    148 `PreventGradient`                     | `T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    149 `Prod`                                | `Tidx={int32,int64}`<br>`T={complex64,double,float,int32,int64,uint32,uint64}`
    150 `QuantizeAndDequantizeV2`             | `T={double,float}`
    151 `RFFT`                                |
    152 `RFFT2D`                              |
    153 `RFFT3D`                              |
    154 `RGBToHSV`                            | `T={double,float}`
    155 `Range`                               | `Tidx={double,float,int32,int64}`
    156 `Rank`                                | `T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    157 `ReadVariableOp`                      | `dtype={bool,complex64,double,float,int32,int64,uint32,uint64}`
    158 `Real`                                | `Tout={double,float}`<br>`T={complex64}`
    159 `RealDiv`                             | `T={complex64,double,float,int32,int64}`
    160 `Reciprocal`                          | `T={complex64,double,float,int32,int64}`
    161 `ReciprocalGrad`                      | `T={complex64,double,float}`
    162 `Relu`                                | `T={double,float,int32,int64,uint32,uint64}`
    163 `Relu6`                               | `T={double,float,int32,int64,uint32,uint64}`
    164 `Relu6Grad`                           | `T={double,float,int32,int64,uint32,uint64}`
    165 `ReluGrad`                            | `T={double,float,int32,int64,uint32,uint64}`
    166 `Reshape`                             | `Tshape={int32,int64}`<br>`T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    167 `ResizeBilinear`                      | `T={double,float,int32,int64}`
    168 `ResizeBilinearGrad`                  | `T={double,float}`
    169 `ResourceApplyAdagrad`                | `T={double,float}`
    170 `ResourceApplyAdam`                   | `T={double,float}`
    171 `ResourceApplyFtrl`                   | `T={double,float}`
    172 `ResourceApplyFtrlV2`                 | `T={double,float}`
    173 `ResourceApplyGradientDescent`        | `T={double,float}`
    174 `ResourceApplyMomentum`               | `T={double,float}`
    175 `ResourceApplyRMSProp`                | `T={double,float}`
    176 `ResourceGather`                      | `Tindices={int32,int64}`<br>`dtype={complex64,double,float,int32,int64,uint32,uint64}`
    177 `ResourceStridedSliceAssign`          | `Index={int32,int64}`<br>`T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    178 `Reverse`                             | `T={bool,complex64,double,float,int32,int64}`
    179 `ReverseSequence`                     | `Tlen={int32,int64}`<br>`T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    180 `ReverseV2`                           | `T={bool,complex64,double,float,int32,int64}`<br>`Tidx={int32,int64}`
    181 `RightShift`                          | `T={int32,int64,uint32,uint64}`
    182 `Rint`                                | `T={double,float}`
    183 `Round`                               | `T={complex64,double,float,int32,int64}`
    184 `Rsqrt`                               | `T={complex64,double,float}`
    185 `RsqrtGrad`                           | `T={complex64,double,float}`
    186 `Select`                              | `T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    187 `Selu`                                | `T={double,float}`
    188 `SeluGrad`                            | `T={double,float}`
    189 `Shape`                               | `out_type={int32,int64}`<br>`T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    190 `ShapeN`                              | `out_type={int32,int64}`<br>`T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    191 `Sigmoid`                             | `T={complex64,double,float}`
    192 `SigmoidGrad`                         | `T={complex64,double,float}`
    193 `Sign`                                | `T={complex64,double,float,int32,int64}`
    194 `Sin`                                 | `T={complex64,double,float}`
    195 `Sinh`                                | `T={complex64,double,float}`
    196 `Size`                                | `out_type={int32,int64}`<br>`T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    197 `Slice`                               | `Index={int32,int64}`<br>`T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    198 `Softmax`                             | `T={double,float}`
    199 `SoftmaxCrossEntropyWithLogits`       | `T={double,float}`
    200 `Softplus`                            | `T={double,float,int32,int64,uint32,uint64}`
    201 `SoftplusGrad`                        | `T={double,float,int32,int64,uint32,uint64}`
    202 `Softsign`                            | `T={double,float,int32,int64,uint32,uint64}`
    203 `SoftsignGrad`                        | `T={double,float,int32,int64,uint32,uint64}`
    204 `SpaceToBatch`                        | `Tpaddings={int32,int64}`<br>`T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    205 `SpaceToBatchND`                      | `Tblock_shape={int32,int64}`<br>`Tpaddings={int32,int64}`<br>`T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    206 `SpaceToDepth`                        | `T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    207 `SparseMatMul`                        | `Tb={float}`<br>`Ta={float}`
    208 `SparseSoftmaxCrossEntropyWithLogits` | `Tlabels={int32,int64}`<br>`T={double,float}`
    209 `Split`                               | `T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    210 `SplitV`                              | `Tlen={int32,int64}`<br>`T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    211 `Sqrt`                                | `T={complex64,double,float}`
    212 `SqrtGrad`                            | `T={complex64,double,float}`
    213 `Square`                              | `T={complex64,double,float,int32,int64}`
    214 `SquaredDifference`                   | `T={complex64,double,float,int32,int64}`
    215 `Squeeze`                             | `T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    216 `StackCloseV2`                        |
    217 `StackPopV2`                          | `elem_type={bool,complex64,double,float,int32,int64,uint32,uint64}`
    218 `StackPushV2`                         | `T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    219 `StackV2`                             | `elem_type={bool,complex64,double,float,int32,int64,uint32,uint64}`
    220 `StatelessRandomNormal`               | `Tseed={int32}`<br>`T={int32,int64}`<br>`dtype={float}`
    221 `StatelessRandomUniform`              | `Tseed={int32}`<br>`T={int32,int64}`<br>`dtype={float}`
    222 `StopGradient`                        | `T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    223 `StridedSlice`                        | `Index={int32,int64}`<br>`T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    224 `StridedSliceGrad`                    | `Index={int32,int64}`<br>`T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    225 `Sub`                                 | `T={complex64,double,float,int32,int64}`
    226 `Sum`                                 | `Tidx={int32,int64}`<br>`T={complex64,double,float,int32,int64,uint32,uint64}`
    227 `SymbolicGradient`                    | `Tout={bool,complex64,double,float,int32,int64,uint32,uint64}`<br>`Tin={bool,complex64,double,float,int32,int64,uint32,uint64}`
    228 `Tan`                                 | `T={complex64,double,float,int32,int64}`
    229 `Tanh`                                | `T={complex64,double,float}`
    230 `TanhGrad`                            | `T={complex64,double,float}`
    231 `TensorArrayCloseV3`                  |
    232 `TensorArrayConcatV3`                 | `dtype={bool,complex64,double,float,int32,int64,uint32,uint64}`
    233 `TensorArrayGatherV3`                 | `dtype={bool,complex64,double,float,int32,int64,uint32,uint64}`
    234 `TensorArrayGradV3`                   |
    235 `TensorArrayReadV3`                   | `dtype={bool,complex64,double,float,int32,int64,uint32,uint64}`
    236 `TensorArrayScatterV3`                | `T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    237 `TensorArraySizeV3`                   |
    238 `TensorArraySplitV3`                  | `T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    239 `TensorArrayV3`                       | `dtype={bool,complex64,double,float,int32,int64,uint32,uint64}`
    240 `TensorArrayWriteV3`                  | `T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    241 `Tile`                                | `Tmultiples={int32,int64}`<br>`T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    242 `Transpose`                           | `Tperm={int32,int64}`<br>`T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    243 `TruncateDiv`                         | `T={complex64,double,float,int32,int64}`
    244 `TruncateMod`                         | `T={double,float,int32,int64}`
    245 `Unpack`                              | `T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    246 `UnsortedSegmentSum`                  | `Tnumsegments={int32,int64}`<br>`Tindices={int32,int64}`<br>`T={complex64,double,float,int32,int64,uint32,uint64}`
    247 `VarIsInitializedOp`                  |
    248 `VariableShape`                       | `out_type={int32,int64}`
    249 `XlaWhile`                            | `T={bool,complex64,double,float,int32,int64,resource,uint32,uint64}`
    250 `ZerosLike`                           | `T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    251 `_Arg`                                | `T={bool,complex64,double,float,int32,int64,resource,uint32,uint64}`
    252 `_ArrayToList`                        | `out_types={bool,complex64,double,float,int32,int64,uint32,uint64}`<br>`T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    253 `_ListToArray`                        | `T={bool,complex64,double,float,int32,int64,uint32,uint64}`<br>`Tin={bool,complex64,double,float,int32,int64,uint32,uint64}`
    254 `_Retval`                             | `T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    255 `_XLARecv`                            | `T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    256 `_XLASend`                            | `T={bool,complex64,double,float,int32,int64,uint32,uint64}`
    257 
    258 To regenerate this table, run:
    259 
    260 ```shell
    261 bazel run -c opt -- tensorflow/compiler/tf2xla:tf2xla_supported_ops --device=XLA_GPU_JIT
    262 ```
    263