code: def get_serial_kernel(self):
      from pycuda.tools import dtype_to_ctype
  
      mod = SourceModule(
          COO_SERIAL_KERNEL_TEMPLATE
          % {
              "value_type": dtype_to_ctype(self.dtype),
              "index_type": dtype_to_ctype(self.index_dtype),
          }
      )
      func = mod.get_function("spmv_coo_serial_kernel")
      func.prepare(self.index_dtype.char + "PPPPP", (1, 1, 1))
      return func
  
file_path: pycuda/pycuda/sparse/coordinate.py
imports: from __future__ import division
  from __future__ import absolute_import
  from pytools import memoize_method
  import pycuda.driver
  import pycuda.gpuarray
  from pycuda.compiler import SourceModule
  import numpy
label_desc: Use image node_id 3 for calling the CoordinateSpMV obj's underlying member method code with example usage: obj.get_serial_kernel() and returns: func