Back to Tensorflow

Gpu Supported Ops

tensorflow/compiler/tf2xla/g3doc/gpu_supported_ops.md

2.21.021.7 KB
Original Source

Supported operators for device: XLA_GPU_JIT

OperatorType Constraint
AbsT={double,float,int32,int64}
AcosT={complex64,double,float,int32,int64}
AcoshT={complex64,double,float}
AddT={complex64,double,float,int32,int64}
AddNT={complex64,double,float,int32,int64,uint32,uint64}
AdjustContrastv2
AdjustHue
AdjustSaturation
AllTidx={int32,int64}
AngleTout={double,float}
T={complex64}
AnyTidx={int32,int64}
ApproximateEqualT={complex64,double,float,int32,int64,uint32,uint64}
ArgMaxTidx={int32,int64}
output_type={int32,int64}
T={complex64,double,float,int32,int64,uint32,uint64}
ArgMinTidx={int32,int64}
output_type={int32,int64}
T={complex64,double,float,int32,int64,uint32,uint64}
AsinT={complex64,double,float,int32,int64}
AsinhT={complex64,double,float}
AssignAddVariableOpdtype={complex64,double,float,int32,int64,uint32,uint64}
AssignSubVariableOpdtype={complex64,double,float,int32,int64,uint32,uint64}
AssignVariableOpdtype={bool,complex64,double,float,int32,int64,uint32,uint64}
AtanT={complex64,double,float,int32,int64}
Atan2T={double,float}
AtanhT={complex64,double,float}
AvgPoolT={double,float}
AvgPool3DT={double,float}
AvgPool3DGradT={double,float}
AvgPoolGradT={double,float}
BatchMatMulT={complex64,double,float,int32}
BatchToSpaceTidx={int32,int64}
T={bool,complex64,double,float,int32,int64,uint32,uint64}
BatchToSpaceNDTcrops={int32,int64}
Tblock_shape={int32,int64}
T={bool,complex64,double,float,int32,int64,uint32,uint64}
BiasAddT={complex64,double,float,int32,int64,uint32,uint64}
BiasAddGradT={complex64,double,float,int32,int64,uint32,uint64}
BiasAddV1T={complex64,double,float,int32,int64,uint32,uint64}
BitwiseAndT={int32,int64,uint32,uint64}
BitwiseOrT={int32,int64,uint32,uint64}
BroadcastArgsT={int32,int64}
BroadcastGradientArgsT={int32,int64}
CastDstT={bool,complex64,double,float,int32,int64,uint32,uint64}
SrcT={bool,complex64,double,float,int32,int64,uint32,uint64}
CeilT={double,float}
CholeskyT={double,float}
ComplexTout={complex64}
T={double,float}
ComplexAbsTout={double,float}
T={complex64}
ConcatT={bool,complex64,double,float,int32,int64,uint32,uint64}
ConcatOffset
ConcatV2Tidx={int32}
T={bool,complex64,double,float,int32,int64,uint32,uint64}
ConjT={complex64}
Constdtype={bool,complex64,double,float,int32,int64,uint32,uint64}
ControlTrigger
Conv2DT={float}
Conv2DBackpropFilterT={float}
Conv2DBackpropInputT={float}
Conv3DT={double,float}
Conv3DBackpropFilterV2T={double,float}
Conv3DBackpropInputV2T={double,float}
CosT={complex64,double,float}
CoshT={complex64,double,float}
CrossT={double,float,int32,int64,uint32,uint64}
CumprodTidx={int32,int64}
T={float}
CumsumTidx={int32,int64}
T={float}
DepthToSpaceT={bool,complex64,double,float,int32,int64,uint32,uint64}
DepthwiseConv2dNativeT={double,float}
DepthwiseConv2dNativeBackpropFilterT={double,float}
DepthwiseConv2dNativeBackpropInputT={double,float}
DiagT={complex64,double,float,int32,int64}
DiagPartT={complex64,double,float,int32,int64}
DivT={complex64,double,float,int32,int64}
DynamicStitchT={bool,complex64,double,float,int32,int64,uint32,uint64}
EluT={double,float}
EluGradT={double,float}
EqualT={bool,complex64,double,float,int32,int64}
ExpT={complex64,double,float}
ExpandDimsTdim={int32,int64}
T={bool,complex64,double,float,int32,int64,uint32,uint64}
Expm1T={complex64,double,float}
ExtractImagePatchesT={double,float,int32,int64,uint32,uint64}
FFT
FFT2D
FFT3D
FakeQuantWithMinMaxArgs
FakeQuantWithMinMaxArgsGradient
FakeQuantWithMinMaxVars
FakeQuantWithMinMaxVarsGradient
Fillindex_type={int32,int64}
T={bool,complex64,double,float,int32,int64,uint32,uint64}
FloorT={double,float}
FloorDivT={complex64,double,float,int32,int64}
FloorModT={double,float,int32,int64}
FusedBatchNormT={float}
FusedBatchNormGradT={float}
FusedBatchNormGradV2U={float}
T={float}
FusedBatchNormV2U={float}
T={float}
GatherTindices={int32,int64}
Tparams={bool,complex64,double,float,int32,int64,uint32,uint64}
GatherNdTindices={int32,int64}
Tparams={bool,complex64,double,float,int32,int64,uint32,uint64}
GatherV2Taxis={int32,int64}
Tindices={int32,int64}
Tparams={bool,complex64,double,float,int32,int64,uint32,uint64}
GreaterT={double,float,int32,int64,uint32,uint64}
GreaterEqualT={double,float,int32,int64,uint32,uint64}
HSVToRGBT={double,float}
IFFT
IFFT2D
IFFT3D
IRFFT
IRFFT2D
IRFFT3D
IdentityT={bool,complex64,double,float,int32,int64,uint32,uint64}
IdentityNT={bool,complex64,double,float,int32,int64,uint32,uint64}
ImagTout={double,float}
T={complex64}
InvT={complex64,double,float,int32,int64}
InvertT={int32,int64,uint32,uint64}
InvertPermutationT={int32}
IsFiniteT={double,float}
IsInfT={double,float}
IsNanT={double,float}
L2LossT={double,float}
LRNT={float}
LRNGradT={float}
LeftShiftT={int32,int64,uint32,uint64}
LessT={double,float,int32,int64,uint32,uint64}
LessEqualT={double,float,int32,int64,uint32,uint64}
LinSpaceTidx={int32,int64}
T={double,float}
LogT={complex64,double,float}
Log1pT={complex64,double,float}
LogSoftmaxT={double,float}
LogicalAnd
LogicalNot
LogicalOr
MatMulT={complex64,double,float}
MatrixBandPartTindex={int32,int64}
T={bool,complex64,double,float,int32,int64,uint32,uint64}
MatrixDiagT={bool,complex64,double,float,int32,int64,uint32,uint64}
MatrixDiagPartT={bool,complex64,double,float,int32,int64,uint32,uint64}
MatrixSetDiagT={bool,complex64,double,float,int32,int64,uint32,uint64}
MatrixTriangularSolveT={complex64,double,float}
MaxTidx={int32,int64}
T={complex64,double,float,int32,int64,uint32,uint64}
MaxPoolT={double,float,int32,int64}
MaxPool3DT={float}
MaxPool3DGradTInput={float}
T={float}
MaxPoolGradT={double,float,int32,int64,uint32,uint64}
MaxPoolGradGradT={float}
MaxPoolGradGradV2T={float}
MaxPoolGradV2T={double,float,int32,int64,uint32,uint64}
MaxPoolV2T={double,float,int32,int64}
MaximumT={double,float,int32,int64}
MeanTidx={int32,int64}
T={complex64,double,float,int32,int64,uint32,uint64}
MinTidx={int32,int64}
T={complex64,double,float,int32,int64,uint32,uint64}
MinimumT={double,float,int32,int64}
MirrorPadTpaddings={int32,int64}
T={bool,complex64,double,float,int32,int64,uint32,uint64}
ModT={double,float,int32,int64}
MulT={complex64,double,float,int32,int64}
Multinomialoutput_dtype={int32,int64}
T={double,float,int32,int64,uint32,uint64}
NegT={complex64,double,float,int32,int64}
NoOp
NotEqualT={bool,complex64,double,float,int32,int64}
OneHotTI={int32,int64}
T={bool,complex64,double,float,int32,int64,uint32,uint64}
OnesLikeT={bool,complex64,double,float,int32,int64}
PackT={bool,complex64,double,float,int32,int64,uint32,uint64}
PadTpaddings={int32,int64}
T={bool,complex64,double,float,int32,int64,uint32,uint64}
PadV2Tpaddings={int32,int64}
T={bool,complex64,double,float,int32,int64,uint32,uint64}
ParallelDynamicStitchT={bool,complex64,double,float,int32,int64,uint32,uint64}
PowT={complex64,double,float,int32,int64}
PreventGradientT={bool,complex64,double,float,int32,int64,uint32,uint64}
ProdTidx={int32,int64}
T={complex64,double,float,int32,int64,uint32,uint64}
QuantizeAndDequantizeV2T={double,float}
RFFT
RFFT2D
RFFT3D
RGBToHSVT={double,float}
RangeTidx={double,float,int32,int64}
RankT={bool,complex64,double,float,int32,int64,uint32,uint64}
ReadVariableOpdtype={bool,complex64,double,float,int32,int64,uint32,uint64}
RealTout={double,float}
T={complex64}
RealDivT={complex64,double,float,int32,int64}
ReciprocalT={complex64,double,float,int32,int64}
ReciprocalGradT={complex64,double,float}
ReluT={double,float,int32,int64,uint32,uint64}
Relu6T={double,float,int32,int64,uint32,uint64}
Relu6GradT={double,float,int32,int64,uint32,uint64}
ReluGradT={double,float,int32,int64,uint32,uint64}
ReshapeTshape={int32,int64}
T={bool,complex64,double,float,int32,int64,uint32,uint64}
ResizeBilinearT={double,float,int32,int64}
ResizeBilinearGradT={double,float}
ResourceApplyAdagradT={double,float}
ResourceApplyAdamT={double,float}
ResourceApplyFtrlT={double,float}
ResourceApplyFtrlV2T={double,float}
ResourceApplyGradientDescentT={double,float}
ResourceApplyMomentumT={double,float}
ResourceApplyRMSPropT={double,float}
ResourceGatherTindices={int32,int64}
dtype={complex64,double,float,int32,int64,uint32,uint64}
ResourceStridedSliceAssignIndex={int32,int64}
T={bool,complex64,double,float,int32,int64,uint32,uint64}
ReverseT={bool,complex64,double,float,int32,int64}
ReverseSequenceTlen={int32,int64}
T={bool,complex64,double,float,int32,int64,uint32,uint64}
ReverseV2T={bool,complex64,double,float,int32,int64}
Tidx={int32,int64}
RightShiftT={int32,int64,uint32,uint64}
RintT={double,float}
RoundT={complex64,double,float,int32,int64}
RsqrtT={complex64,double,float}
RsqrtGradT={complex64,double,float}
ScatterNdTindices={int32,int64}
T={bool,complex64,double,float,int32,int64,uint32,uint64}
SelectT={bool,complex64,double,float,int32,int64,uint32,uint64}
SeluT={double,float}
SeluGradT={double,float}
Shapeout_type={int32,int64}
T={bool,complex64,double,float,int32,int64,uint32,uint64}
ShapeNout_type={int32,int64}
T={bool,complex64,double,float,int32,int64,uint32,uint64}
SigmoidT={complex64,double,float}
SigmoidGradT={complex64,double,float}
SignT={complex64,double,float,int32,int64}
SinT={complex64,double,float}
SinhT={complex64,double,float}
Sizeout_type={int32,int64}
T={bool,complex64,double,float,int32,int64,uint32,uint64}
SliceIndex={int32,int64}
T={bool,complex64,double,float,int32,int64,uint32,uint64}
SnapshotT={bool,complex64,double,float,int32,int64,uint32,uint64}
SoftmaxT={double,float}
SoftmaxCrossEntropyWithLogitsT={double,float}
SoftplusT={double,float,int32,int64,uint32,uint64}
SoftplusGradT={double,float,int32,int64,uint32,uint64}
SoftsignT={double,float,int32,int64,uint32,uint64}
SoftsignGradT={double,float,int32,int64,uint32,uint64}
SpaceToBatchTpaddings={int32,int64}
T={bool,complex64,double,float,int32,int64,uint32,uint64}
SpaceToBatchNDTblock_shape={int32,int64}
Tpaddings={int32,int64}
T={bool,complex64,double,float,int32,int64,uint32,uint64}
SpaceToDepthT={bool,complex64,double,float,int32,int64,uint32,uint64}
SparseMatMulTb={float}
Ta={float}
SparseSoftmaxCrossEntropyWithLogitsTlabels={int32,int64}
T={double,float}
SplitT={bool,complex64,double,float,int32,int64,uint32,uint64}
SplitVTlen={int32,int64}
T={bool,complex64,double,float,int32,int64,uint32,uint64}
SqrtT={complex64,double,float}
SqrtGradT={complex64,double,float}
SquareT={complex64,double,float,int32,int64}
SquaredDifferenceT={complex64,double,float,int32,int64}
SqueezeT={bool,complex64,double,float,int32,int64,uint32,uint64}
StackCloseV2
StackPopV2elem_type={bool,complex64,double,float,int32,int64,uint32,uint64}
StackPushV2T={bool,complex64,double,float,int32,int64,uint32,uint64}
StackV2elem_type={bool,complex64,double,float,int32,int64,uint32,uint64}
StatelessRandomNormalTseed={int32}
T={int32,int64}
dtype={float}
StatelessRandomUniformTseed={int32}
T={int32,int64}
dtype={float}
StopGradientT={bool,complex64,double,float,int32,int64,uint32,uint64}
StridedSliceIndex={int32,int64}
T={bool,complex64,double,float,int32,int64,uint32,uint64}
StridedSliceGradIndex={int32,int64}
T={bool,complex64,double,float,int32,int64,uint32,uint64}
SubT={complex64,double,float,int32,int64}
SumTidx={int32,int64}
T={complex64,double,float,int32,int64,uint32,uint64}
SymbolicGradientTout={bool,complex64,double,float,int32,int64,uint32,uint64}
Tin={bool,complex64,double,float,int32,int64,uint32,uint64}
TanT={complex64,double,float,int32,int64}
TanhT={complex64,double,float}
TanhGradT={complex64,double,float}
TensorArrayCloseV3
TensorArrayConcatV3dtype={bool,complex64,double,float,int32,int64,uint32,uint64}
TensorArrayGatherV3dtype={bool,complex64,double,float,int32,int64,uint32,uint64}
TensorArrayGradV3
TensorArrayReadV3dtype={bool,complex64,double,float,int32,int64,uint32,uint64}
TensorArrayScatterV3T={bool,complex64,double,float,int32,int64,uint32,uint64}
TensorArraySizeV3
TensorArraySplitV3T={bool,complex64,double,float,int32,int64,uint32,uint64}
TensorArrayV3dtype={bool,complex64,double,float,int32,int64,uint32,uint64}
TensorArrayWriteV3T={bool,complex64,double,float,int32,int64,uint32,uint64}
TileTmultiples={int32,int64}
T={bool,complex64,double,float,int32,int64,uint32,uint64}
TransposeTperm={int32,int64}
T={bool,complex64,double,float,int32,int64,uint32,uint64}
TruncateDivT={complex64,complex128,double,float,half,bfloat16,int8,int16,int32,int64,uint8,uint16,uint32,uint64}
TruncateModT={double,float,int32,int64}
UnpackT={bool,complex64,double,float,int32,int64,uint32,uint64}
UnsortedSegmentSumTnumsegments={int32,int64}
Tindices={int32,int64}
T={complex64,double,float,int32,int64,uint32,uint64}
VarIsInitializedOp
VariableShapeout_type={int32,int64}
XlaWhileT={bool,complex64,double,float,int32,int64,resource,uint32,uint64}
ZerosLikeT={bool,complex64,double,float,int32,int64,uint32,uint64}
_ArgT={bool,complex64,double,float,int32,int64,resource,uint32,uint64}
_ArrayToListout_types={bool,complex64,double,float,int32,int64,uint32,uint64}
T={bool,complex64,double,float,int32,int64,uint32,uint64}
_ListToArrayT={bool,complex64,double,float,int32,int64,uint32,uint64}
Tin={bool,complex64,double,float,int32,int64,uint32,uint64}
_RetvalT={bool,complex64,double,float,int32,int64,uint32,uint64}
_XLARecvT={bool,complex64,double,float,int32,int64,uint32,uint64}
_XLASendT={bool,complex64,double,float,int32,int64,uint32,uint64}

To regenerate this table, run:

shell
bazel run -c opt -- tensorflow/compiler/tf2xla:tf2xla_supported_ops --device=XLA_GPU_JIT