(head: str, logger: logging.Logger = None, level=logging.DEBUG, rank: int = 0)
| 18 | |
| 19 | |
| 20 | def log_gpu_memory_usage(head: str, logger: logging.Logger = None, level=logging.DEBUG, rank: int = 0): |
| 21 | if (not dist.is_initialized()) or (rank is None) or (dist.get_rank() == rank): |
| 22 | memory_allocated = torch.cuda.memory_allocated() / 1024**3 |
| 23 | memory_reserved = torch.cuda.memory_reserved() / 1024**3 |
| 24 | |
| 25 | message = f'{head}, memory allocated (GB): {memory_allocated}, memory reserved (GB): {memory_reserved}' |
| 26 | |
| 27 | if logger is None: |
| 28 | print(message) |
| 29 | else: |
| 30 | logger.log(msg=message, level=level) |
no test coverage detected