code: def copy_constant_memory_args(self, cmem_args):
          
          logging.debug('copy_constant_memory_args called')
          logging.debug('current module: ' + str(self.current_module))
          for k, v in cmem_args.items():
              symbol = self.current_module.get_global(k)[0]
              logging.debug('copying to symbol: ' + str(symbol))
              logging.debug('array to be copied: ')
              logging.debug(v.nbytes)
              logging.debug(v.dtype)
              logging.debug(v.flags)
              drv.memcpy_htod(symbol, v)
docs: adds constant memory arguments to the most recently compiled module
  
          :param cmem_args: A dictionary containing the data to be passed to the
              device constant memory. The format to be used is as follows: A
              string key is used to name the constant memory symbol to which the
              value needs to be copied. Similar to regular arguments, these need
              to be numpy objects, such as numpy.ndarray or numpy.int32, and so on.
          :type cmem_args: dict( string: numpy.ndarray, ... )