class_docstr: Handle a linear transform, like torch.nn.Linear_, and a given activation, in a single kernel.
  The whole transform: is :math:`y = activation(xA^T + b)`.
  
  This is typically significantly faster than PyTorch while using fp16 and non-sigmoid activations,
  as of September 2021.
  
  .. _torch.nn.Linear: https://pytorch.org/docs/stable/generated/torch.nn.Linear.html
class_docstr_tok: ["Handle","a","linear","transform",",","like","torch.nn.Linear_",",","and","a","given","activation",",","in","a","single","kernel",".","The","whole","transform",":","is",":","math",":","`","y","=","activation","(","xA^T","+","b",")","`",".","This","is","typically","significantly","faster","than","PyTorch","while","using","fp16","and","non-sigmoid","activations",",","as","of","September","2021",".","..","_torch.nn.Linear",":","https",":","\/\/pytorch.org\/docs\/stable\/generated\/torch.nn.Linear.html"]
code: def forward(self, x):
      return _fused_linear_triton.apply(
          x,
          self.weight,
          self.bias,
          self._activation_index,
          self.weight.requires_grad,
          self.bias.requires_grad if self.bias is not None else False,
          self.training
          and x.requires_grad
          and self._activation_index > 0,
      )
  
file_path: xformers/xformers/triton/fused_linear_layer.py
imports: import math
  from typing import Any, Optional
  import torch
  import torch.nn
  from torch.cuda.amp import custom_bwd, custom_fwd
  from xformers.components.activations import Activation
  from xformers.triton.k_activations import get_triton_activation_index
  from xformers.triton.k_fused_matmul_bw import fused_matmul_backward
  from xformers.triton.k_fused_matmul_fw import fused_matmul
label_desc: Use image node_id 3 for calling the FusedLinear obj's underlying member method code with example usage: obj.forward(x) and returns: _fused_linear_triton