Memory Pooling for Enhanced Data Loading in GPU-Accelerated Environments - Ayaz H. Khan; Hamed Al-Mehdhar (IEEE Access)
The RAPIDS Memory Manager (RMM) is developed by NVIDIA as a package that would enable developers to customize GPU memory allocation. RMM enables the use of pool allocation which could improve the performance greatly. This paper proposes a systematic profiling and evaluation framework that leverages NVIDIA’s RMM to optimize and understand data loading performance of the cudf.read_csv operation in GPU accelerated environments. It examines RMM’s impact from multiple aspects, by measuring the execution time required to complete the operation, the memory consumption effect, and by profiling the operation with and without utilizing RMM across various dataset sizes. The finding demonstrates that RMM can have significant speedup of up to 24% by improving the memory management strategy of cuDF. As for other time series data preprocessing operations were overall improved by 14% when utilizing RMM. It could also improve the scalability of cuDF by utilizing managed memory to overcome the limited GPU memory constrains, allowing cuDF to handle datasets that exceeds the GPU memory while maintaining ~10x faster execution than the CPU based Pandas DataFrame. The effect of RMM on GPU memory consumption is also highlighted indicating a trade-off between faster execution and increased memory consumption.