If you could split the operation into chunks of data, it’s possible.
E.g. if you would like to sum a tensor, you could slice the original tensor, push this slice to the device, sum the values, and transfer the result back to the host.
Once all slices are done, you could sum all temporary results.
Note that you add overhead due to the host2device and device2host copies and depending on your operation and workload, it might be faster on the CPU, so you should profile both approaches.