code: def backward(ctx, dlosses):
      logits, logsumexp, labels = ctx.saved_tensors
      n_rows, n_cols = logits.shape
  
      _cross_entropy_backward[(n_rows,)](
          logits,
          logits.stride(0),
          dlosses,
          dlosses.stride(0),
          logsumexp,
          labels,
          n_cols,
          BLOCK_SIZE=ctx.BLOCK_SIZE,
          num_warps=ctx.num_warps,
      )
      return (
          logits,
          None,
          None,
      )
  
file_path: unsloth/unsloth/kernels/cross_entropy_loss.py
imports: import triton
  import triton.language
  import torch
  from .utils import calculate_settings, MAX_FUSED_SIZE
  from transformers.models.llama.modeling_llama import logger
label_desc: Use image node_id 2 for calling the Fast_CrossEntropyLoss obj's underlying member method code with example usage: obj.backward(ctx, dlosses) and returns: logits,  None,  None