(self)
| 160 | output.record_stream(stream) |
| 161 | |
| 162 | def finish(self) -> list[torch.Tensor]: |
| 163 | if self._stream is not None: |
| 164 | t0 = time.perf_counter() |
| 165 | self._stream.synchronize() |
| 166 | wait_ms = (time.perf_counter() - t0) * 1000.0 |
| 167 | self._finish_wait_ms += wait_ms |
| 168 | self._log_new_async_chunks(wait_ms, wait_kind="finish_wait") |
| 169 | self._log_timing() |
| 170 | chunks = self._chunks |
| 171 | self._chunks = [] |
| 172 | self._prev_vae_done = None |
| 173 | self._decode_events = [] |
| 174 | self._num_submitted = 0 |
| 175 | self._sync_decode_ms = 0.0 |
| 176 | self._submit_wait_ms = 0.0 |
| 177 | self._finish_wait_ms = 0.0 |
| 178 | self._logged_decode_events = 0 |
| 179 | self._restore_vae() |
| 180 | return chunks |
| 181 | |
| 182 | def _log_new_async_chunks(self, exposed_wait_ms: float, wait_kind: str) -> None: |
| 183 | if not self.enabled: |
no test coverage detected