Skip to content

Commit

Permalink
Update README and docs for 21.04 release
Browse files Browse the repository at this point in the history
  • Loading branch information
tgerdesnv committed Apr 27, 2021
1 parent c1dadcc commit 5aae754
Show file tree
Hide file tree
Showing 3 changed files with 90 additions and 7 deletions.
89 changes: 86 additions & 3 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,42 @@
PyProf - PyTorch Profiling tool
===============================

**NOTE: You are currently on the 21.04 branch which tracks stabilization
towards the release. This branch is not usable during stabilization**

.. overview-begin-marker-do-not-remove
PyProf is a tool that profiles and analyzes the GPU performance of PyTorch
models. PyProf aggregates kernel performance from `Nsight Systems
<https://developer.nvidia.com/nsight-systems>`_ or `NvProf
<https://developer.nvidia.com/nvidia-visual-profiler>`_ and provides the
following additional features:

What's New in 3.10.0
-------------------

* Compatibility with NGC 21.04 release

Features
--------

* Identifies the layer that launched a kernel: e.g. the association of
`ComputeOffsetsKernel` with a concrete PyTorch layer or API is not obvious.

* Identifies the tensor dimensions and precision: without knowing the tensor
dimensions and precision, it's impossible to reason about whether the actual
(silicon) kernel time is close to maximum performance of such a kernel on
the GPU. Knowing the tensor dimensions and precision, we can figure out the
FLOPs and bandwidth required by a layer, and then determine how close to
maximum performance the kernel is for that operation.

* Forward-backward correlation: PyProf determines what the forward pass step
is that resulted in the particular weight and data gradients (wgrad, dgrad),
which makes it possible to determine the tensor dimensions required by these
backprop steps to assess their performance.

* Determines Tensor Core usage: PyProf can highlight the kernels that use
`Tensor Cores <https://developer.nvidia.com/tensor-cores>`_.

* Correlate the line in the user's code that launched a particular kernel (program trace).

.. overview-end-marker-do-not-remove
Quick Installation Instructions
Expand Down Expand Up @@ -75,5 +106,57 @@ Quick Start Instructions

.. quick-start-end-marker-do-not-remove
Documentation
-------------

The User Guide can be found in the
`documentation for current release
<https://docs.nvidia.com/deeplearning/frameworks/pyprof-user-guide/index.html>`_, and
provides instructions on how to install and profile with PyProf.

A complete `Quick Start Guide <https://docs.nvidia.com/deeplearning/frameworks/pyprof-user-guide/quickstart.html>`_
provides step-by-step instructions to get you quickly started using PyProf.

An `FAQ <https://docs.nvidia.com/deeplearning/frameworks/pyprof-user-guide/faqs.html>`_ provides
answers for frequently asked questions.

The `Release Notes
<https://docs.nvidia.com/deeplearning/frameworks/pyprof-release-notes/index.html>`_
indicate the required versions of the NVIDIA Driver and CUDA, and also describe
which GPUs are supported by PyProf

Presentation and Papers
^^^^^^^^^^^^^^^^^^^^^^^

* `Automating End-toEnd PyTorch Profiling <https://developer.nvidia.com/gtc/2020/video/s21143>`_.
* `Presentation slides <https://developer.download.nvidia.com/video/gputechconf/gtc/2020/presentations/s21143-automating-end-to-end-pytorch-profiling.pdf>`_.

Contributing
------------

Contributions to PyProf are more than welcome. To
contribute make a pull request and follow the guidelines outlined in
the `Contributing <CONTRIBUTING.md>`_ document.

Reporting problems, asking questions
------------------------------------

We appreciate any feedback, questions or bug reporting regarding this
project. When help with code is needed, follow the process outlined in
the Stack Overflow (https://stackoverflow.com/help/mcve)
document. Ensure posted examples are:

* minimal – use as little code as possible that still produces the
same problem

* complete – provide all parts needed to reproduce the problem. Check
if you can strip external dependency and still show the problem. The
less time we spend on reproducing problems the more time we have to
fix it

* verifiable – test the code you're about to provide to make sure it
reproduces the problem. Remove all other problems that are not
related to your request/question.

.. |License| image:: https://img.shields.io/badge/License-Apache2-green.svg
:target: http://www.apache.org/licenses/LICENSE-2.0
4 changes: 2 additions & 2 deletions docs/install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,6 @@ the most recent version of CUDA, Docker, and nvidia-docker.
After performing the above setup, you can pull the PyProf container
using the following command::

docker pull nvcr.io/nvidia/pytorch:20.12-py3
docker pull nvcr.io/nvidia/pytorch:21.04-py3

Replace *20.12* with the version of PyTorch container that you want to pull.
Replace *21.04* with the version of PyTorch container that you want to pull.
4 changes: 2 additions & 2 deletions docs/quickstart.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ Prerequisites
drop down button. After cloning the repo be sure to select the r<xx.yy>
release branch that corresponds to the version of PyProf want to use::

$ git checkout r20.12
$ git checkout r21.04

* If you are starting with a pre-built NGC container, you will need to install
Docker and nvidia-docker. For DGX users, see `Preparing to use NVIDIA Containers
Expand Down Expand Up @@ -75,7 +75,7 @@ the GitHub repo and checkout the release version of the branch that
you want to build (or the `main` branch if you want to build the
under-development version)::

$ git checkout r20.12
$ git checkout r21.04

Then use docker to build::

Expand Down

0 comments on commit 5aae754

Please sign in to comment.