Operator: aten._softmax.default
cnt: 12, ((T([4, 12, 512, 512], f16), -1, False), {})
Operator: aten._softmax_backward_data.default
cnt: 12, ((T([4, 12, 512, 512], f16), T([4, 12, 512, 512], f16), -1, f16), {})
Operator: aten._to_copy.default
cnt: 12, ((T([1, 1, 512, 512], u8, stride=(1048576, 1048576, 1024, 1)),), {'dtype': torch.bool})
cnt: 12, ((T([], f16),), {'dtype': f16, 'layout': torch.strided, 'device': 'cuda'})
Operator: aten._unsafe_view.default
cnt: 36, ((T([4, 12, 512, 64], f16), [48, 512, 64]), {})
cnt: 12, ((T([4, 12, 64, 512], f16), [48, 64, 512]), {})
cnt: 12, ((T([48, 512, 512], f16), [4, 12, 512, 512]), {})
cnt: 12, ((T([48, 512, 64], f16), [4, 12, 512, 64]), {})
cnt: 1, ((T([2048, 50257], f16), [4, 512, 50257]), {})
cnt: 24, ((T([4, 512, 12, 64], f16), [4, 512, 768]), {})
Operator: aten.add.Tensor
cnt: 1, ((T([4, 512, 768], f16), T([1, 512, 768], f16)), {})
cnt: 48, ((T([4, 512, 768], f16), T([4, 512, 768], f16)), {})
cnt: 36, ((T([4, 512, 3072], f16), T([4, 512, 3072], f16)), {})
cnt: 12, ((T([4, 512, 3072], f16), 1.0), {})
cnt: 1, ((T([50257, 768], f16), T([50257, 768], f16)), {})
Operator: aten.addmm.default
cnt: 12, ((T([2304], f16), T([2048, 768], f16), T([768, 2304], f16)), {})
cnt: 12, ((T([768], f16), T([2048, 768], f16), T([768, 768], f16)), {})
cnt: 12, ((T([3072], f16), T([2048, 768], f16), T([768, 3072], f16)), {})
cnt: 12, ((T([768], f16), T([2048, 3072], f16), T([3072, 768], f16)), {})
Operator: aten.bmm.default
cnt: 12, ((T([48, 512, 64], f16), T([48, 64, 512], f16)), {})
cnt: 12, ((T([48, 512, 512], f16), T([48, 512, 64], f16)), {})
cnt: 12, ((T([48, 512, 512], f16, stride=(262144, 1, 512)), T([48, 512, 64], f16)), {})
cnt: 12, ((T([48, 512, 64], f16), T([48, 64, 512], f16, stride=(32768, 1, 64))), {})
cnt: 12, ((T([48, 64, 512], f16, stride=(32768, 1, 64)), T([48, 512, 512], f16)), {})
cnt: 12, ((T([48, 512, 512], f16), T([48, 512, 64], f16, stride=(32768, 1, 512))), {})
Operator: aten.cat.default
cnt: 12, (([T([4, 512, 768], f16), T([4, 512, 768], f16, stride=(393216, 1, 512)), T([4, 512, 768], f16)], 2), {})
Operator: aten.clone.default
cnt: 1, ((T([4, 512], i64),), {})
Operator: aten.copy_.default
cnt: 1, ((T([4, 512], i64), T([4, 512], i64)), {})
Operator: aten.div.Tensor
cnt: 24, ((T([4, 12, 512, 512], f16), T([], f16)), {})
cnt: 2, ((T([], f16), 102926336), {})
Operator: aten.embedding.default
cnt: 1, ((T([50257, 768], f16), T([4, 512], i64)), {})
cnt: 1, ((T([1024, 768], f16), T([1, 512], i64)), {})
Operator: aten.embedding_dense_backward.default
cnt: 1, ((T([1, 512, 768], f16), T([1, 512], i64), 1024, -1, False), {})
cnt: 1, ((T([4, 512, 768], f16), T([4, 512], i64), 50257, -1, False), {})
Operator: aten.mm.default
cnt: 1, ((T([2048, 768], f16), T([768, 50257], f16, stride=(1, 768))), {})
cnt: 1, ((T([50257, 2048], f16, stride=(0, 0)), T([2048, 768], f16)), {})
cnt: 1, ((T([2048, 50257], f16, stride=(0, 0)), T([50257, 768], f16)), {})
cnt: 12, ((T([2048, 768], f16), T([768, 3072], f16, stride=(1, 768))), {})
cnt: 12, ((T([3072, 2048], f16, stride=(1, 3072)), T([2048, 768], f16)), {})
cnt: 12, ((T([2048, 3072], f16), T([3072, 768], f16, stride=(1, 3072))), {})
cnt: 12, ((T([768, 2048], f16, stride=(1, 768)), T([2048, 3072], f16)), {})
cnt: 12, ((T([2048, 768], f16), T([768, 768], f16, stride=(1, 768))), {})
cnt: 12, ((T([768, 2048], f16, stride=(1, 768)), T([2048, 768], f16)), {})
cnt: 12, ((T([2048, 2304], f16), T([2304, 768], f16, stride=(1, 2304))), {})
cnt: 12, ((T([768, 2048], f16, stride=(1, 768)), T([2048, 2304], f16)), {})
Operator: aten.mul.Scalar
cnt: 12, ((T([4, 512, 3072], f16), 3.0), {})
Operator: aten.mul.Tensor
cnt: 24, ((T([4, 512, 3072], f16), 0.5), {})
cnt: 24, ((T([4, 512, 3072], f16), 0.044715), {})
cnt: 24, ((T([4, 512, 3072], f16), 0.7978845608028654), {})
cnt: 48, ((T([4, 512, 3072], f16), T([4, 512, 3072], f16)), {})
Operator: aten.native_layer_norm.default
cnt: 25, ((T([4, 512, 768], f16), [768], T([768], f16), T([768], f16), 1e-05), {})
Operator: aten.native_layer_norm_backward.default
cnt: 25, ((T([4, 512, 768], f16), T([4, 512, 768], f16), [768], T([4, 512, 1], f32), T([4, 512, 1], f32), T([768], f16), T([768], f16), [True, True, True]), {})
Operator: aten.pow.Tensor_Scalar
cnt: 12, ((T([4, 512, 3072], f16), 3.0), {})
cnt: 12, ((T([4, 512, 3072], f16), 2.0), {})
Operator: aten.split.Tensor
cnt: 12, ((T([4, 512, 2304], f16), 768, 2), {})
Operator: aten.sum.SymInt
cnt: 24, ((T([2048, 768], f16), [0], True), {})
cnt: 12, ((T([2048, 3072], f16), [0], True), {})
cnt: 12, ((T([2048, 2304], f16), [0], True), {})
cnt: 1, ((T([4, 512, 768], f16), [0], True), {})
Operator: aten.sum.default
cnt: 1, ((T([4, 512, 50257], f16),), {})
Operator: aten.tanh.default
cnt: 12, ((T([4, 512, 3072], f16),), {})
Operator: aten.tanh_backward.default
cnt: 12, ((T([4, 512, 3072], f16), T([4, 512, 3072], f16)), {})
Operator: aten.where.self
cnt: 24, ((T([1, 1, 512, 512], b8), T([4, 12, 512, 512], f16), T([], f16)), {})
