code: def _bwd_store_dk_dv(
      dk_ptrs,
      dv_ptrs,
      dk,
      dv,
      offs_n,
      offs_d,
      seqlen_k,
      headdim,
      EVEN_M: tl.constexpr,
      EVEN_N: tl.constexpr,
      EVEN_HEADDIM: tl.constexpr,
  ):
      # [2022-11-01] TD: Same bug. In the case of EVEN_N=True and EVEN_M=False,
      # if we just call tl.store(dv_ptrs), there's a race condition
      if EVEN_N & EVEN_M:
          if EVEN_HEADDIM:
              tl.store(dv_ptrs, dv)
              tl.store(dk_ptrs, dk)
          else:
              tl.store(dv_ptrs, dv, mask=offs_d[None, :] < headdim)
              tl.store(dk_ptrs, dk, mask=offs_d[None, :] < headdim)
      else:
          if EVEN_HEADDIM:
              tl.store(dv_ptrs, dv, mask=offs_n[:, None] < seqlen_k)
              tl.store(dk_ptrs, dk, mask=offs_n[:, None] < seqlen_k)
          else:
              tl.store(
                  dv_ptrs,
                  dv,
                  mask=(offs_n[:, None] < seqlen_k)
                  & (offs_d[None, :] < headdim),
              )
              tl.store(
                  dk_ptrs,
                  dk,
                  mask=(offs_n[:, None] < seqlen_k)
                  & (offs_d[None, :] < headdim),
              )
  
imports: import math
  import torch
  import triton
  import triton.language
label_desc: Use image node_id 3 for calling a global function with example usage: _bwd_store_dk_dv(dk_ptrs, dv_ptrs, dk, dv, offs_n, offs_d, seqlen_k, headdim, EVEN_M, EVEN_N, EVEN_HEADDIM) without return types