| 100 | raise TypeError("Unsupported Frontend. Only support numpy and torch") |
| 101 | |
| 102 | def sync(self, stream_sync=True): |
| 103 | if stream_sync: |
| 104 | (err,) = cudart.cudaDeviceSynchronize() |
| 105 | if err != cuda.CUresult.CUDA_SUCCESS: |
| 106 | raise RuntimeError("CUDA Error %s" % str(err)) |
| 107 | |
| 108 | for key in self.host_tensors.keys(): |
| 109 | host_tensor = self.host_tensors[key] |
| 110 | (err,) = cuda.cuMemcpyDtoH( |
| 111 | host_tensor, |
| 112 | self.buffers[key].ptr, |
| 113 | host_tensor.size * host_tensor.itemsize, |
| 114 | ) |
| 115 | if err != cuda.CUresult.CUDA_SUCCESS: |
| 116 | raise RuntimeError("CUDA Error %s" % str(err)) |
| 117 | |
| 118 | self.free() |
| 119 | |
| 120 | def free(self): |
| 121 | """ |