code: def _coo_spmv_gpu_lowering(
      coo_spmv_hlo, ctx, data, row, col, x, *, transpose, shape
  ):
      data_aval, row_aval, _, x_aval = ctx.avals_in
      return [
          coo_spmv_hlo(
              data,
              row,
              col,
              x,
              shape=shape,
              transpose=transpose,
              data_dtype=data_aval.dtype,
              index_dtype=row_aval.dtype,
              x_dtype=x_aval.dtype,
          )
      ]
  
file_path: jax/jax/experimental/sparse/_lowerings.py
imports: from functools import partial
  from jax import core
  from jax._src import dispatch
  from jax._src.interpreters import mlir
  from jax._src.lib import gpu_sparse
  import numpy
label_desc: Use image node_id 2 for calling a global function with example usage: _coo_spmv_gpu_lowering(coo_spmv_hlo, ctx, data, row, col, x) and returns: list