Skip to main content

Tracks computational resources of a process and its child processes, most prominently GPU RAM, as well as RAM, compute time, and CPU utilization.

Project description

Description

The gpu_tracker package provides a Tracker class and a commandline-interface that tracks (profiles) the usage of compute time, CPU utilization, maximum RAM, GPU utilization, and maximum GPU RAM. The compute time is a measurement of the real time taken by the task as opposed to the CPU-utilization time. The GPU tracking is for Nvidia GPUs and uses the nvidia-smi command. If the Nvidia drivers have not been installed, then the max GPU RAM is not tracked and measurements are reported as 0. Computational resources are tracked throughout the duration of a context manager or the duration of explicit calls to the start() and stop() methods of the Tracker class. The gpu-tracker command-line interface alternatively tracks the computational-resource-usage of an arbitrary shell command.

NOTE: The tracking occurs in a separate process. To maximize the accuracy of the reported resource usage, you may want to have a core available solely for the tracking process e.g. if your job uses 3 workers, you may want to allocate 4 cores.

NOTE: Since the tracking process is created using the Python multiprocessing library, if done so using the “spawn” start method (default on MacOS and Windows) or the “forkserver” method, you may get a runtime error after starting the tracking. To prevent this, you’ll need to start the tracker after checking if __name__ == '__main__'. See “Safe importing of main module” under The spawn and forkserver start methods for more information.

Documentation

The complete documentation for the gpu_tracker package, including tutorials, can be found here.

Installation

Requires python 3.10 and above.

Install on Linux, Mac OS X

python3 -m pip install gpu-tracker

Install on Windows

py -3 -m pip install gpu-tracker

PyPi

See our PyPi page here.

Questions, Feature Requests, and Bug Reports

Please submit any questions or feature requests you may have and report any potential bugs/errors you observe on our GitHub issues page.

GitHub Repository

Code is available on GitHub: https://github.com/MoseleyBioinformaticsLab/gpu_tracker.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gpu_tracker-3.0.2.tar.gz (43.7 kB view details)

Uploaded Source

Built Distribution

gpu_tracker-3.0.2-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

File details

Details for the file gpu_tracker-3.0.2.tar.gz.

File metadata

  • Download URL: gpu_tracker-3.0.2.tar.gz
  • Upload date:
  • Size: 43.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for gpu_tracker-3.0.2.tar.gz
Algorithm Hash digest
SHA256 20069e658a0e3e227ba793ce7b8a52ac200e8a1529addc45abf3985142478895
MD5 fc805233afb1a34385882eb5514d5fcd
BLAKE2b-256 464ad243f1b1305c3ca13547fcf51e0b54ddab140d9d4347c00d2691bd7f0d79

See more details on using hashes here.

File details

Details for the file gpu_tracker-3.0.2-py3-none-any.whl.

File metadata

  • Download URL: gpu_tracker-3.0.2-py3-none-any.whl
  • Upload date:
  • Size: 15.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for gpu_tracker-3.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 efd7716e03f14b38d7ca2e5392ee92b086b2b01cbf1a2f296286e167660fefd7
MD5 1f2c56e7f98c805a4d96c82d3b3b0421
BLAKE2b-256 40539cdad022b2255f9013730296146b5a42ce2cbd0602f5374c6a5a05f06b00

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page