nicolargo / nvidia-ml-py3

Python 3 Bindings for the NVIDIA Management Library
133 stars 58 forks source link

What should a Pythonic GPU diagnostics library look like? #1

Open mrocklin opened 5 years ago

mrocklin commented 5 years ago

I apologize for mis-using this github issue tracker @nicolargo . I wanted to have a public discussion on GitHub about Pythonic GPU diagnostic libraries and yours was the most relevant issue tracker that I found. I'm happy to move conversation elsewhere if desired. Also, thank you for porting this library to current Python.

That being said, this library has lots of functionality, but isn't particularly friendly for a typical Python user. It appears to be a faithful port of a C library both for good and bad.

Is there value to designing a new library that wrapped around this one and provided the same diagnostics but in a different way? If so, what thoughts do people have about API for that library?

cc @sklam @seibert @ogrisel @lesteve @beberg (please also ping others)

sklam commented 5 years ago

Is there value to designing a new library that wrapped around this one and provided the same diagnostics but in a different way? If so, what thoughts do people have about API for that library?

I think adding some high-level APIs to do common diagnostic/query task can be useful. The py3nvml project has done some in https://github.com/fbcotter/py3nvml/blob/master/py3nvml/utils.py. An example would be a function to get the topology map of a system to determine how scheduling should be done. However, I don't know if there's a known list of common diagnostic functions.

jakirkham commented 5 years ago

FWIW I opened issue ( https://github.com/gpuopenanalytics/pynvml/issues/2 ) to discuss the different Python NVML binding implementations that I found (including this one and the one @sklam points to).

At a bare minimum we can compare and contrast the differences. Better still if we can engage the various authors in this conversation. 🙂