| name | hipmm-memory-ops |
| description | Utilizes the HIP Memory Manager (hipMM) for advanced GPU memory pooling, efficient allocation, and data movement. |
| tools | ["bash","python"] |
| inputs | ["memory_profile","pipeline_components"] |
| outputs | ["memory_optimization_report"] |
| tags | ["rocm","rocm-ds","hipmm","memory"] |
Purpose
Provide advanced GPU memory management utilities to support various libraries that form part of ROCm-DS, mitigating OOM errors and fragmentation.
When to use
- When a ROCm-DS workflow crashes with Out-Of-Memory (OOM) errors.
- To optimize efficient memory allocation and pooling for long-running workflows.
- When data movement bottlenecks exist between different ROCm-DS components (e.g., passing data from hipDF to hipVS).
Procedure
- Profile the memory usage of the existing workflow.
- Configure hipMM to establish a memory pool suitable for the workload.
- Replace default allocators with hipMM routines to reduce fragmentation and allocation overhead.
- Measure the before/after memory footprint and execution speed.
- Provide an optimization report detailing the configuration changes.