code: def _seeded_dropout(
      x_ptr,
      output_ptr,
      n_elements,
      p,
      seed,
      BLOCK_SIZE: tl.constexpr,
  ):
      # compute memory offsets of elements handled by this instance
      pid = tl.program_id(axis=0)
      block_start = pid * BLOCK_SIZE
      offsets = block_start + tl.arange(0, BLOCK_SIZE)
      # load data from x
      mask = offsets < n_elements
      x = tl.load(x_ptr + offsets, mask=mask)
      # randomly prune it
      random = tl.rand(seed, offsets)
      x_keep = random > p
      # write-back
      output = tl.where(x_keep, x / (1 - p), 0.0)
      tl.store(output_ptr + offsets, output, mask=mask)
  
imports: import tabulate
  import torch
  import triton
  import triton.language
label_desc: Use image node_id 3 for calling a global function with example usage: _seeded_dropout(x_ptr, output_ptr, n_elements, p, seed, BLOCK_SIZE) without return types