code: def guarded_div(self, a, b):
      from pycuda.gpuarray import _get_common_dtype
  
      result = a._new_like_me(_get_common_dtype(a, b))
  
      assert a.shape == b.shape
  
      func = self.guarded_div_kernel(a.dtype, b.dtype, result.dtype)
      func.prepared_async_call(
          a._grid,
          a._block,
          None,
          a.gpudata,
          b.gpudata,
          result.gpudata,
          a.mem_size,
      )
  
      return result
  
file_path: pycuda/pycuda/sparse/cg.py
imports: from __future__ import division
  from __future__ import absolute_import
  from pycuda.sparse.inner import AsyncInnerProduct
  from pytools import memoize_method
  import pycuda.driver
  import pycuda.gpuarray
  import numpy
label_desc: Use image node_id 5 for calling the CGStateContainer obj's underlying member method code with example usage: obj.guarded_div(a, b) and returns: result