colossalai.utils.memory_tracer
- class colossalai.utils.memory_tracer.AsyncMemoryMonitor(power=10)
An Async Memory Monitor runing during computing. Sampling memory usage of the current GPU at interval of 1/(10**power) sec.
The idea comes from Runtime Memory Tracer of PatrickStar PatrickStar: Parallel Training of Pre-trained Models via Chunk-based Memory Management https://arxiv.org/abs/2108.05818
- Parameters
power (int) – the power of time interval, defaults to 10
Usage:
- ```python
async_mem_monitor = AsyncMemoryMonitor() input = torch.randn(2, 20).cuda() OP1 = torch.nn.Linear(20, 30).cuda() OP2 = torch.nn.Linear(30, 40).cuda()
async_mem_monitor.start() output = OP1(input) async_mem_monitor.finish() async_mem_monitor.start() output = OP2(output) async_mem_monitor.finish() async_mem_monitor.save(‘log.pkl’)
- colossalai.utils.memory_tracer.allocator
- colossalai.utils.memory_tracer.async_memtracer
- colossalai.utils.memory_tracer.commons
- colossalai.utils.memory_tracer.memstats_collector
- colossalai.utils.memory_tracer.model_data_memtracer
- colossalai.utils.memory_tracer.test_async_memtracer
- colossalai.utils.memory_tracer.test_memstats_collector