Kernel Operations on GPU or CPU, with autodiff, without memory overflows
