code: def get_kernel(self):
      from pycuda.tools import dtype_to_ctype
  
      mod = SourceModule(
          PKT_KERNEL_TEMPLATE
          % {
              "value_type": dtype_to_ctype(self.dtype),
              "index_type": dtype_to_ctype(self.index_dtype),
              "packed_index_type": dtype_to_ctype(
                  self.packed_index_dtype
              ),
              "threads_per_packet": self.threads_per_packet,
              "rows_per_packet": self.rows_per_packet,
          },
          no_extern_c=True,
      )
      func = mod.get_function("spmv_pkt_kernel")
      func.prepare("PPPPPPP")
      return func
  
file_path: pycuda/pycuda/sparse/packeted.py
imports: from __future__ import division
  from __future__ import absolute_import
  from __future__ import print_function
  from pytools import memoize_method
  import pycuda.gpuarray
  from pycuda.compiler import SourceModule
  import numpy
label_desc: Use image node_id 6 for calling the PacketedSpMV obj's underlying member method code with example usage: obj.get_kernel() and returns: func