xprof


Namexprof JSON
Version 2.20.2 PyPI version JSON
download
home_pagehttps://github.com/openxla/xprof
SummaryXProf Profiler Plugin
upload_time2025-07-11 23:04:45
maintainerNone
docs_urlNone
authorGoogle Inc.
requires_python!=3.0.*,!=3.1.*,>=2.7
licenseApache 2.0
keywords jax pytorch xla tensorflow tensorboard xprof profile plugin
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # XProf (+ Tensorboard Profiler Plugin)
XProf includes a suite of tools for [JAX](https://jax.readthedocs.io/), [TensorFlow](https://www.tensorflow.org/), and [PyTorch/XLA](https://github.com/pytorch/xla). These tools help you understand, debug and optimize programs to run on CPUs, GPUs and TPUs.

XProf offers a number of tools to analyse and visualize the
performance of your model across multiple devices. Some of the tools include:

*   **Overview**: A high-level overview of the performance of your model. This
    is an aggregated overview for your host and all devices. It includes:
    *   Performance summary and breakdown of step times.
    *   A graph of individual step times.
    *   A table of the top 10 most expensive operations.
*   **Trace Viewer**: Displays a timeline of the execution of your model that shows:
    *   The duration of each op.
    *   Which part of the system (host or device) executed an op.
    *   The communication between devices.
*   **Memory Profile Viewer**: Monitors the memory usage of your model.
*   **Graph Viewer**: A visualization of the graph structure of HLOs of your model.

## Demo
First time user? Come and check out this [Colab Demo](https://docs.jaxstack.ai/en/latest/JAX_for_LLM_pretraining.html).

## Prerequisites

* tensorboard-plugin-profile >= 2.19.0
* (optional) TensorBoard >= 2.19.0

Note: XProf requires access to the Internet to load the [Google Chart library](https://developers.google.com/chart/interactive/docs/basic_load_libs#basic-library-loading).
Some charts and tables may be missing if you run TensorBoard entirely offline on
your local machine, behind a corporate firewall, or in a datacenter.

To profile on a **single GPU** system, the following NVIDIA software must be
installed on your system:

1. NVIDIA GPU drivers and CUDA Toolkit:
    * CUDA 12.5 requires 525.60.13 and higher.
2. Ensure that CUPTI 10.1 exists on the path.

   ```shell
   $ /sbin/ldconfig -N -v $(sed 's/:/ /g' <<< $LD_LIBRARY_PATH) | grep libcupti
   ```

   If you don't see `libcupti.so.12.5` on the path, prepend its installation
   directory to the $LD_LIBRARY_PATH environmental variable:

   ```shell
   $ export LD_LIBRARY_PATH=/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH
   ```
   Run the ldconfig command above again to verify that the CUPTI 12.5 library is
   found.

   If this doesn't work, try:
   ```shell
   $ sudo apt-get install libcupti-dev
   ```

To profile a system with **multiple GPUs**, see this [guide](https://github.com/tensorflow/profiler/blob/master/docs/profile_multi_gpu.md) for details.

To profile multi-worker GPU configurations, profile individual workers
independently.

To profile cloud TPUs, you must have access to Google Cloud TPUs.

## Quick Start
In order to get the latest version of the profiler plugin, you can install the
nightly package.

To install the nightly version of profiler:

```
$ pip uninstall xprof
$ pip install xprof-nightly
```

Without TensorBoard:
```
$ xprof --logdir=profiler/demo --port=6006
```

With TensorBoard:

```
$ tensorboard --logdir=profiler/demo
```
If you are behind a corporate firewall, you may need to include the `--bind_all`
tensorboard flag.

Go to `localhost:6006/#profile` of your browser, you should now see the demo
overview page show up.
Congratulations! You're now ready to capture a profile.

## Next Steps

* JAX Profiling Guide: https://jax.readthedocs.io/en/latest/profiling.html
* TensorFlow Profiling Guide: https://tensorflow.org/guide/profiler
* Cloud TPU Profiling Guide: https://cloud.google.com/tpu/docs/cloud-tpu-tools
* Colab Tutorial: https://www.tensorflow.org/tensorboard/tensorboard_profiling_keras
* Tensorflow Colab: https://www.tensorflow.org/tensorboard/tensorboard_profiling_keras

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/openxla/xprof",
    "name": "xprof",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "!=3.0.*,!=3.1.*,>=2.7",
    "maintainer_email": null,
    "keywords": "jax pytorch xla tensorflow tensorboard xprof profile plugin",
    "author": "Google Inc.",
    "author_email": "packages@tensorflow.org",
    "download_url": null,
    "platform": null,
    "description": "# XProf (+ Tensorboard Profiler Plugin)\nXProf includes a suite of tools for [JAX](https://jax.readthedocs.io/), [TensorFlow](https://www.tensorflow.org/), and [PyTorch/XLA](https://github.com/pytorch/xla). These tools help you understand, debug and optimize programs to run on CPUs, GPUs and TPUs.\n\nXProf offers a number of tools to analyse and visualize the\nperformance of your model across multiple devices. Some of the tools include:\n\n*   **Overview**: A high-level overview of the performance of your model. This\n    is an aggregated overview for your host and all devices. It includes:\n    *   Performance summary and breakdown of step times.\n    *   A graph of individual step times.\n    *   A table of the top 10 most expensive operations.\n*   **Trace Viewer**: Displays a timeline of the execution of your model that shows:\n    *   The duration of each op.\n    *   Which part of the system (host or device) executed an op.\n    *   The communication between devices.\n*   **Memory Profile Viewer**: Monitors the memory usage of your model.\n*   **Graph Viewer**: A visualization of the graph structure of HLOs of your model.\n\n## Demo\nFirst time user? Come and check out this [Colab Demo](https://docs.jaxstack.ai/en/latest/JAX_for_LLM_pretraining.html).\n\n## Prerequisites\n\n* tensorboard-plugin-profile >= 2.19.0\n* (optional) TensorBoard >= 2.19.0\n\nNote: XProf requires access to the Internet to load the [Google Chart library](https://developers.google.com/chart/interactive/docs/basic_load_libs#basic-library-loading).\nSome charts and tables may be missing if you run TensorBoard entirely offline on\nyour local machine, behind a corporate firewall, or in a datacenter.\n\nTo profile on a **single GPU** system, the following NVIDIA software must be\ninstalled on your system:\n\n1. NVIDIA GPU drivers and CUDA Toolkit:\n    * CUDA 12.5 requires 525.60.13 and higher.\n2. Ensure that CUPTI 10.1 exists on the path.\n\n   ```shell\n   $ /sbin/ldconfig -N -v $(sed 's/:/ /g' <<< $LD_LIBRARY_PATH) | grep libcupti\n   ```\n\n   If you don't see `libcupti.so.12.5` on the path, prepend its installation\n   directory to the $LD_LIBRARY_PATH environmental variable:\n\n   ```shell\n   $ export LD_LIBRARY_PATH=/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH\n   ```\n   Run the ldconfig command above again to verify that the CUPTI 12.5 library is\n   found.\n\n   If this doesn't work, try:\n   ```shell\n   $ sudo apt-get install libcupti-dev\n   ```\n\nTo profile a system with **multiple GPUs**, see this [guide](https://github.com/tensorflow/profiler/blob/master/docs/profile_multi_gpu.md) for details.\n\nTo profile multi-worker GPU configurations, profile individual workers\nindependently.\n\nTo profile cloud TPUs, you must have access to Google Cloud TPUs.\n\n## Quick Start\nIn order to get the latest version of the profiler plugin, you can install the\nnightly package.\n\nTo install the nightly version of profiler:\n\n```\n$ pip uninstall xprof\n$ pip install xprof-nightly\n```\n\nWithout TensorBoard:\n```\n$ xprof --logdir=profiler/demo --port=6006\n```\n\nWith TensorBoard:\n\n```\n$ tensorboard --logdir=profiler/demo\n```\nIf you are behind a corporate firewall, you may need to include the `--bind_all`\ntensorboard flag.\n\nGo to `localhost:6006/#profile` of your browser, you should now see the demo\noverview page show up.\nCongratulations! You're now ready to capture a profile.\n\n## Next Steps\n\n* JAX Profiling Guide: https://jax.readthedocs.io/en/latest/profiling.html\n* TensorFlow Profiling Guide: https://tensorflow.org/guide/profiler\n* Cloud TPU Profiling Guide: https://cloud.google.com/tpu/docs/cloud-tpu-tools\n* Colab Tutorial: https://www.tensorflow.org/tensorboard/tensorboard_profiling_keras\n* Tensorflow Colab: https://www.tensorflow.org/tensorboard/tensorboard_profiling_keras\n",
    "bugtrack_url": null,
    "license": "Apache 2.0",
    "summary": "XProf Profiler Plugin",
    "version": "2.20.2",
    "project_urls": {
        "Homepage": "https://github.com/openxla/xprof"
    },
    "split_keywords": [
        "jax",
        "pytorch",
        "xla",
        "tensorflow",
        "tensorboard",
        "xprof",
        "profile",
        "plugin"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9f67b89259c46aaef9b3169a19747467ce038a73de3f3d41f768940b9d850b7d",
                "md5": "63b849954b4935e376a976ea6a30509d",
                "sha256": "4356a6200f589b74de7af82718da08883d95f27db9232525efe95dacafbcf1df"
            },
            "downloads": -1,
            "filename": "xprof-2.20.2-cp310-none-macosx_12_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "63b849954b4935e376a976ea6a30509d",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "!=3.0.*,!=3.1.*,>=2.7",
            "size": 10842976,
            "upload_time": "2025-07-11T23:04:45",
            "upload_time_iso_8601": "2025-07-11T23:04:45.076785Z",
            "url": "https://files.pythonhosted.org/packages/9f/67/b89259c46aaef9b3169a19747467ce038a73de3f3d41f768940b9d850b7d/xprof-2.20.2-cp310-none-macosx_12_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b552c357be820d43d4fa6845765ceba89759f76bcc9bbf8619c1966edccf0e14",
                "md5": "b3cdde1023a04d1a87da87e24c202858",
                "sha256": "5e66989428f6fe36e85e9be531ee52cc2ce7a200b053f9a21a700f0a2d244c26"
            },
            "downloads": -1,
            "filename": "xprof-2.20.2-cp310-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "b3cdde1023a04d1a87da87e24c202858",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "!=3.0.*,!=3.1.*,>=2.7",
            "size": 10627573,
            "upload_time": "2025-07-11T23:11:00",
            "upload_time_iso_8601": "2025-07-11T23:11:00.196025Z",
            "url": "https://files.pythonhosted.org/packages/b5/52/c357be820d43d4fa6845765ceba89759f76bcc9bbf8619c1966edccf0e14/xprof-2.20.2-cp310-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fca9e0298e450d93e6670b74199f10da5e708b399102ae3180e5813ddd8f39f9",
                "md5": "a6633ba70d3f8325e50d5eb6f5dff137",
                "sha256": "3ce3fc02c2b5e24c2b7726610ad2fd6c3883e7c30069978e4c4c2ad955006b18"
            },
            "downloads": -1,
            "filename": "xprof-2.20.2-cp311-none-macosx_12_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "a6633ba70d3f8325e50d5eb6f5dff137",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "!=3.0.*,!=3.1.*,>=2.7",
            "size": 10844164,
            "upload_time": "2025-07-11T23:04:26",
            "upload_time_iso_8601": "2025-07-11T23:04:26.653980Z",
            "url": "https://files.pythonhosted.org/packages/fc/a9/e0298e450d93e6670b74199f10da5e708b399102ae3180e5813ddd8f39f9/xprof-2.20.2-cp311-none-macosx_12_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a79533b2f731b0d1705aeb1cf9dce2057881cb6c3adbd5217070be57c170be5d",
                "md5": "74509fb8b100608e7d93381d9e999a49",
                "sha256": "48ba8f7788627313188a492fe923b31dc55b5a9aa7549432c47cfc7776679a36"
            },
            "downloads": -1,
            "filename": "xprof-2.20.2-cp311-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "74509fb8b100608e7d93381d9e999a49",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "!=3.0.*,!=3.1.*,>=2.7",
            "size": 10629298,
            "upload_time": "2025-07-11T23:11:28",
            "upload_time_iso_8601": "2025-07-11T23:11:28.079646Z",
            "url": "https://files.pythonhosted.org/packages/a7/95/33b2f731b0d1705aeb1cf9dce2057881cb6c3adbd5217070be57c170be5d/xprof-2.20.2-cp311-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "91981ac485a63cc84a581aba8923c6a1e5cc5b7c13534dcf058c997d95b628c9",
                "md5": "53bffe32270a03a90d43a1e85382eeb4",
                "sha256": "7590cbd63fa27f743b57d182a566f1bcf30e61f0a0d591c0b6018dc672fd72ea"
            },
            "downloads": -1,
            "filename": "xprof-2.20.2-cp312-none-macosx_12_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "53bffe32270a03a90d43a1e85382eeb4",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "!=3.0.*,!=3.1.*,>=2.7",
            "size": 10844446,
            "upload_time": "2025-07-11T23:04:46",
            "upload_time_iso_8601": "2025-07-11T23:04:46.610379Z",
            "url": "https://files.pythonhosted.org/packages/91/98/1ac485a63cc84a581aba8923c6a1e5cc5b7c13534dcf058c997d95b628c9/xprof-2.20.2-cp312-none-macosx_12_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e12df44e88a44506799436ab86f391b0ffeb976aaebe900d290074ef5aecee42",
                "md5": "0789d7a725d78fe933bd8c7f6b883081",
                "sha256": "ecc2b71faed600df679e4c0e0762f6c73e11b43cc147bee9ee35d35a628bf933"
            },
            "downloads": -1,
            "filename": "xprof-2.20.2-cp312-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "0789d7a725d78fe933bd8c7f6b883081",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "!=3.0.*,!=3.1.*,>=2.7",
            "size": 10628259,
            "upload_time": "2025-07-11T23:11:09",
            "upload_time_iso_8601": "2025-07-11T23:11:09.983343Z",
            "url": "https://files.pythonhosted.org/packages/e1/2d/f44e88a44506799436ab86f391b0ffeb976aaebe900d290074ef5aecee42/xprof-2.20.2-cp312-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "901c126b189acf19a4c41e613e891b6b87afe8c36f14f37d009f9a39d3038c26",
                "md5": "113b724c65f8b800473e8b6fd9de40ba",
                "sha256": "adb9016005986c7fa1456eff05c9ff5b9d404cf5d69918d38e603a83a21faf97"
            },
            "downloads": -1,
            "filename": "xprof-2.20.2-cp39-none-macosx_12_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "113b724c65f8b800473e8b6fd9de40ba",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "!=3.0.*,!=3.1.*,>=2.7",
            "size": 10843050,
            "upload_time": "2025-07-11T23:07:35",
            "upload_time_iso_8601": "2025-07-11T23:07:35.323263Z",
            "url": "https://files.pythonhosted.org/packages/90/1c/126b189acf19a4c41e613e891b6b87afe8c36f14f37d009f9a39d3038c26/xprof-2.20.2-cp39-none-macosx_12_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "128e46c4225ba893af12c245f713590af6799a3a8b468647f66e9a4b4a125402",
                "md5": "45d371665047bcf8b70577cefaa33fed",
                "sha256": "0c4e330f47a6121f39bcdb95cc1cec501de0e5aaf317dc93fc47c4a67cec6bcc"
            },
            "downloads": -1,
            "filename": "xprof-2.20.2-cp39-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "45d371665047bcf8b70577cefaa33fed",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "!=3.0.*,!=3.1.*,>=2.7",
            "size": 10627703,
            "upload_time": "2025-07-11T23:10:46",
            "upload_time_iso_8601": "2025-07-11T23:10:46.783952Z",
            "url": "https://files.pythonhosted.org/packages/12/8e/46c4225ba893af12c245f713590af6799a3a8b468647f66e9a4b4a125402/xprof-2.20.2-cp39-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-11 23:04:45",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "openxla",
    "github_project": "xprof",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "xprof"
}
        
Elapsed time: 0.43488s