grad = function grad(dy) {
	      return {
	        x: function x() {
	          var dtype = 'float32';
	          var gradInputs = {
	            x: dy
	          };
	          var attrs = {
	            dtype: dtype
	          };
	          return ENGINE.runKernelFunc(function (backend) {
	            return backend.cast(dy, dtype);
	          }, gradInputs, null
	          /* grad */
	          , Cast, attrs);
	        }
	      };
	    }
This method is called instead of the public-facing tensor.clone() when
saving a tensor for backwards pass. It makes sure to add the clone
operation to the tape regardless of being called inside a kernel
execution.

This method will go away once all kernels are modularized since we won't
need to turn off the tape inside runKernel().