{ "info": { "author": "Ahmad Kiswani, Roni Forte, Jonathan Dekhtiar, Yaki Tebeka", "author_email": "akiswani@nvidia.com, rforte@nvidia.com, jdekhtiar@nvidia.com, ytebeka@nvidia.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Intended Audience :: Science/Research", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Scientific/Engineering :: Image Recognition", "Topic :: Scientific/Engineering :: Mathematics", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities" ], "description": "|License| |Release| |PyPI-Version| |PyPI-Implementation| |Documentation|\n\nNVTX Plugins for Deep Learning\n===============================\n\n.. overview-begin-marker-do-not-remove\n\n\nNVTX Plugins allows users to add their own NVIDIA Tools Extension (NVTX)\nevents and time ranges to a TensorFlow graph. Applications which integrate NVTX can use NVIDIA\nNsight Systems, Nsight Compute, and Visual Profiler to capture and visualize\nthese events and time ranges.\n\n.. figure:: https://github.com/NVIDIA/nvtx-plugins/raw/master/docs/images/nvtx_demo.jpg\n\nThe NVTX ranges are added by wrapping regions of the computation graph with\nnvtx start and end operations.\n\n\n.. figure:: https://github.com/NVIDIA/nvtx-plugins/raw/master/docs/images/nvtx_graph.svg\n\nNVTX Plugins also provides Keras callbacks and session hooks.\n\nMore about:\n\n- NVTX: https://docs.nvidia.com/cuda/profiler-users-guide/index.html#nvtx\n- NSight systems: https://developer.nvidia.com/nsight-systems\n\n.. overview-end-marker-do-not-remove\n\n----\n\nTable of Contents\n-----------------\n\n- `Installing or building NVTX Plugins`_\n- `Quick start guide`_\n- `Documentation`_\n- `Acknowledgments`_\n- `Disclaimer`_\n- `Contributions`_\n- `Copyright and License`_\n\n----\n\n\nInstalling or building NVTX Plugins\n-----------------------------------\n\nPrerequisites\n^^^^^^^^^^^^^\n- Linux\n- Python 3.4+\n- NVIDIA GPU + CUDA toolkit 10.0 or newer\n- TensorFlow 1.13 or newer\n\nInstalling NVTX-Plugins\n^^^^^^^^^^^^^^^^^^^^^^^\nThe package can be installed from PyPI:\n\n.. code-block:: bash\n\n # Stable release\n pip install nvtx-plugins\n\n # Pre-release (may present bugs)\n pip install nvtx-plugins --pre\n\nThe package is also available for download on github: https://github.com/NVIDIA/nvtx-plugins/releases\n\n.. code-block:: bash\n\n pip install nvtx-plugins*.tar.gz\n\nInstalling from source\n^^^^^^^^^^^^^^^^^^^^^^\n\nYou can build and install the package from source:\n\n.. code-block:: bash\n\n python setup.py sdist\n pip install dist/nvtx-plugins*.tar.gz\n\nFor development objectives, you can install the package directly from source with:\n\n.. code-block:: bash\n\n python setup.py install\n\nWe recommend building the package inside NVIDIA's NGC TensorFlow container:\nhttps://ngc.nvidia.com/catalog/containers/nvidia:tensorflow\n\nFor more information about how to get started with NGC containers, see the\nfollowing sections from the NVIDIA GPU Cloud Documentation and the Deep\nLearning DGX Documentation: `Getting Started Using NVIDIA GPU\nCloud `_,\n`Accessing And Pulling From The NGC container registry `_\nand `Running TensorFlow `_.\n\n\nBuilding the documentation\n^^^^^^^^^^^^^^^^^^^^^^^^^^\nThe documentation is built by running:\n\n.. code-block:: bash\n\n cd docs\n pip install -r requirements.txt\n make html\n\nThe documentation files will be generated in `docs/build/html`\n\nBuilding the documentation does not require NVTX Plugins to be installed.\nNonetheless, due to an issue in Sphinx **only Python 3.7 is supported** to build the documentation.\n\n----\n\nQuick start guide\n-----------------\n\nAdding markers to the graph\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\nMarkers are added by wrapping parts of the computation graph with start and end\noperations. The operations are identity ops (passing the input to the output\nwithout modification) but they have a side effect of generating nvtx markers.\n\n.. code-block:: python\n\n import nvtx.plugins.tf as nvtx_tf\n\n x, nvtx_context = nvtx_tf.ops.start(x, message='Dense 1-3',\n domain_name='Forward', grad_domain_name='Gradient')\n x = tf.layers.dense(x, 1000, activation=tf.nn.relu, name='dense_1')\n x = tf.layers.dense(x, 1000, activation=tf.nn.relu, name='dense_2')\n x = tf.layers.dense(x, 1000, activation=tf.nn.relu, name='dense_3')\n x = nvtx_tf.ops.end(x, nvtx_context)\n x = tf.layers.dense(x, 1000, activation=tf.nn.relu, name='dense_4')\n\nFor convenience, the package also provides a function dectorator:\n\n.. code-block:: python\n\n @nvtx_tf.ops.trace(message='Dense Block', domain_name='Forward',\n grad_domain_name='Gradient')\n def dense_block(x):\n x = tf.layers.dense(x, 1000, activation=tf.nn.relu, name='dense_1')\n x = tf.layers.dense(x, 1000, activation=tf.nn.relu, name='dense_2')\n x = tf.layers.dense(x, 1000, activation=tf.nn.relu, name='dense_3')\n return x\n\nMore detailed examples can be found in `examples/`, also, check the\nDocumentation_ for more information about other workflows including\nsession hooks, Keras layers and callbacks.\n\n\nVisualizing the ranges\n^^^^^^^^^^^^^^^^^^^^^^\nNVTX requires a logger to register the generated events and ranges, we will use\nNVIDIA Nsight Systems to capture these events but other tools like\nNVIDIA Visual Profiler can be used instead.\n\nRun your code with `nsys` (pre-installed in NVIDIA's NGC TensorFlow container) to\ngenerate a `qdrep` file:\n\n.. code-block:: bash\n\n nsys profile -d 60 \\\n -w true \\\n --sample=cpu \\\n -t 'nvtx,cuda' \\\n -o ./generated_timeline \\\n python ./network.py\n\nThe generated qdrep can be viewed using Nsight Systems.\n\nNsight Systems and `nsys` can also be downloaded and from the\n`NVIDIA''s developer website `_.\n\n\nMore details about nsys and Nsight Systems can be found\n`here `_.\n\n----\n\nDocumentation\n-------------\nMore details about NVTX Plugins can be found on here: https://nvtx-plugins.readthedocs.io/en/latest/\n\n----\n\nAcknowledgments\n---------------\nThe project structure is heavily influenced by the TensorFlow custom-op example:\nhttps://github.com/tensorflow/custom-op\n\n----\n\nDisclaimer\n----------\nThe project is in beta stage, breaking changes are to be expected in the future.\n\n----\n\nContributions\n-------------\nContributions to NVTX Plugins are more than welcome. To contribute code,\nplease submit a\n`pull request `_\nagainst the master branch from a local fork.\n\nWe appreciate feedback, questions or bug reports. If you need help\nwith the code, create a\n`GitHub issue `_.\nPlease follow the process outlined in the Stack Overflow\n``_ document. Ensure that the\nposted examples are:\n\n- **minimal**: Use as little code as possible that still produces the same problem.\n- **complete**: Provide all parts needed to reproduce the problem.\n Check if you can strip external dependency and still show the problem.\n The less time we spend on reproducing the problems, the more time we\n can dedicate to the fixes.\n- **verifiable**: Test the code you are about to provide, to make sure\n that it reproduces the problem. Remove all other problems that are not\n related to your request.\n\n----\n\nCopyright and License\n---------------------\nThis project is released under the Apache License, Version 2.0\n\n\n.. |License| image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg\n :target: https://opensource.org/licenses/Apache-2.0\n\n.. |Documentation| image:: https://readthedocs.org/projects/nvtx-plugins/badge/?version=latest\n :target: https://nvtx-plugins.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status..\n\n.. |Release| image:: https://img.shields.io/github/release/nvidia/nvtx-plugins.svg\n :target: https://github.com/NVIDIA/nvtx-plugins/releases/\n\n.. |PyPI-Version| image:: https://img.shields.io/pypi/pyversions/nvtx-plugins.svg\n :target: https://pypi.org/project/nvtx-plugins/\n :alt: PyPI - Implementation\n\n.. |PyPI-Implementation| image:: https://img.shields.io/pypi/implementation/nvtx-plugins.svg\n :target: https://pypi.org/project/nvtx-plugins/\n :alt: PyPI - Implementation", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/NVIDIA/nvtx-plugins/", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/NVIDIA/nvtx-plugins/", "keywords": "deep learning,machine learning,gpu,nvtx,nvidia,tensorflow,tf", "license": "Apache2", "maintainer": "Ahmad Kiswani, Roni Forte, Jonathan Dekhtiar, Yaki Tebeka", "maintainer_email": "akiswani@nvidia.com, rforte@nvidia.com, jdekhtiar@nvidia.com, ytebeka@nvidia.com", "name": "nvtx-plugins", "package_url": "https://pypi.org/project/nvtx-plugins/", "platform": "", "project_url": "https://pypi.org/project/nvtx-plugins/", "project_urls": { "Download": "https://github.com/NVIDIA/nvtx-plugins/", "Homepage": "https://github.com/NVIDIA/nvtx-plugins/" }, "release_url": "https://pypi.org/project/nvtx-plugins/0.1.3/", "requires_dist": null, "requires_python": "", "summary": "Python bindings for NVTX", "version": "0.1.3" }, "last_serial": 5920696, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "ffd0c0b28c58557ed231466e0235c0b9", "sha256": "5a38235b7aa5bf033dd8217c208f893771e7f16b879ee48bd028cbf46d9ba404" }, "downloads": -1, "filename": "nvtx-plugins-0.1.1.tar.gz", "has_sig": false, "md5_digest": "ffd0c0b28c58557ed231466e0235c0b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17955, "upload_time": "2019-07-17T16:01:48", "url": "https://files.pythonhosted.org/packages/f2/5a/c14eb80549b7a2d60445dd47e66bb84a46c4c35995da9695d40aab52fea1/nvtx-plugins-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "b346583699c7798b454e0ecc34c34b14", "sha256": "c9d0f571bdb3e553adaf2f15a96d204e6331810dc4c7f316e9b578c7973569c2" }, "downloads": -1, "filename": "nvtx-plugins-0.1.2.tar.gz", "has_sig": false, "md5_digest": "b346583699c7798b454e0ecc34c34b14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17852, "upload_time": "2019-07-18T11:04:12", "url": "https://files.pythonhosted.org/packages/0e/c8/63297efb884a12a1b9a133e94c5ab2b1918755690e80455fdc6945c47d2d/nvtx-plugins-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "85ffee76dc49d9abe43da7ea9d82bebc", "sha256": "ab3b6f2881fcd48ed69eea196203bc1807f373dca4dd827ecdb6bf5c150d5e83" }, "downloads": -1, "filename": "nvtx-plugins-0.1.3.tar.gz", "has_sig": false, "md5_digest": "85ffee76dc49d9abe43da7ea9d82bebc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22020, "upload_time": "2019-08-21T14:55:33", "url": "https://files.pythonhosted.org/packages/e6/09/33f7eef6c2ecac268ae4e20b7b73c9b8532ab5dcc2f64b45758c2519e727/nvtx-plugins-0.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "85ffee76dc49d9abe43da7ea9d82bebc", "sha256": "ab3b6f2881fcd48ed69eea196203bc1807f373dca4dd827ecdb6bf5c150d5e83" }, "downloads": -1, "filename": "nvtx-plugins-0.1.3.tar.gz", "has_sig": false, "md5_digest": "85ffee76dc49d9abe43da7ea9d82bebc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22020, "upload_time": "2019-08-21T14:55:33", "url": "https://files.pythonhosted.org/packages/e6/09/33f7eef6c2ecac268ae4e20b7b73c9b8532ab5dcc2f64b45758c2519e727/nvtx-plugins-0.1.3.tar.gz" } ] }