Skip to content

Commit

Permalink
Merge pull request #42 from MoseleyBioinformaticsLab/release
Browse files Browse the repository at this point in the history
Release 3.0.0
  • Loading branch information
erikhuck authored Jun 11, 2024
2 parents 6e0f450 + 4ec54d2 commit 117bdcb
Show file tree
Hide file tree
Showing 42 changed files with 2,104 additions and 1,349 deletions.
4 changes: 3 additions & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,16 @@ gpu_tracker
###########
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, and maximum GPU RAM.
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 <https://docs.python.org/3/library/multiprocessing.html#the-spawn-and-forkserver-start-methods>`__ **for more information.**

Documentation
-------------
The complete documentation for the ``gpu_tracker`` package, including tutorials, can be found `here <https://moseleybioinformaticslab.github.io/gpu_tracker/>`__.
Expand Down
4 changes: 2 additions & 2 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information

project = 'gpu_tracker'
copyright = '2024, Erik Huckvale, Hunter Moseley'
author = 'Erik Huckvale, Hunter Moseley'
copyright = '2024, Erik Huckvale, Hunter N. B. Moseley'
author = 'Erik Huckvale, Hunter N. B. Moseley'
version = __version__
release = __version__

Expand Down
727 changes: 409 additions & 318 deletions docs/notebook/tutorial.ipynb

Large diffs are not rendered by default.

Loading

0 comments on commit 117bdcb

Please sign in to comment.