pythonspeed / filprofiler

A Python memory profiler for data processing and scientific computing applications
https://pythonspeed.com/products/filmemoryprofiler/
Apache License 2.0
840 stars 26 forks source link

Investigate GPU memory profiling #60

Open itamarst opened 4 years ago

itamarst commented 4 years ago

For CUDA it's possible we can track allocations by intercepting cudaMalloc() and friends. This would need to be tracked and reported separately than CPU memory.

https://docs.nvidia.com/cuda/cuda-runtime-api/group__CUDART__MEMORY.html

itamarst commented 4 years ago

It sounds like unified memory addressing might make this... tricky? Or perhaps impossible.

On the other hand: CuPy has memory allocation hooks, and already has an existing memory profiler. So package-specific integration might work.