xprof


Namexprof JSON
Version 2.20.5 PyPI version JSON
download
home_pagehttps://github.com/openxla/xprof
SummaryXProf Profiler Plugin
upload_time2025-08-01 22:14:57
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": "https://files.pythonhosted.org/packages/89/23/269ad660c2bffcf7655bf754de81b9d7458fc4fb2fa4763fb14dc674676b/xprof-2.20.5.tar.gz",
    "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.5",
    "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": "b84c23666601a5df906c703b67dfaec8fbb1e8d0956f59585a7fbc2a7e0e6b65",
                "md5": "e50dc28e38bca792e0c6f2058568038a",
                "sha256": "3f8d8cde85232566ed10605d97afea2b17237a92e6abf89ec9927913a13d67a5"
            },
            "downloads": -1,
            "filename": "xprof-2.20.5-cp310-none-macosx_12_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "e50dc28e38bca792e0c6f2058568038a",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "!=3.0.*,!=3.1.*,>=2.7",
            "size": 11277152,
            "upload_time": "2025-08-01T21:48:58",
            "upload_time_iso_8601": "2025-08-01T21:48:58.743517Z",
            "url": "https://files.pythonhosted.org/packages/b8/4c/23666601a5df906c703b67dfaec8fbb1e8d0956f59585a7fbc2a7e0e6b65/xprof-2.20.5-cp310-none-macosx_12_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6a7a437f900ad324286821880dc737e815aa6ae6f3bf7bfe81fc4077f96ad01d",
                "md5": "68d5f038dc5c3d1f0bcf542e37cdd9f5",
                "sha256": "04e8d03686030d1799984d21d2d8eee28a9f1a6ff08d968ff17f628187538715"
            },
            "downloads": -1,
            "filename": "xprof-2.20.5-cp310-none-manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "68d5f038dc5c3d1f0bcf542e37cdd9f5",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "!=3.0.*,!=3.1.*,>=2.7",
            "size": 13184708,
            "upload_time": "2025-08-01T22:15:49",
            "upload_time_iso_8601": "2025-08-01T22:15:49.513110Z",
            "url": "https://files.pythonhosted.org/packages/6a/7a/437f900ad324286821880dc737e815aa6ae6f3bf7bfe81fc4077f96ad01d/xprof-2.20.5-cp310-none-manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f9a69530ce1ffd1532fa59fbd5857eb19dde45533ce374cf422249d2f671dd22",
                "md5": "f31c2a3b93bd85eb74664916c11431f1",
                "sha256": "91623e7ba7c84768f353ef0ee5d8ab537afdba658d87be8c07bcffca52325c13"
            },
            "downloads": -1,
            "filename": "xprof-2.20.5-cp310-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "f31c2a3b93bd85eb74664916c11431f1",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "!=3.0.*,!=3.1.*,>=2.7",
            "size": 11078265,
            "upload_time": "2025-08-01T22:02:45",
            "upload_time_iso_8601": "2025-08-01T22:02:45.628653Z",
            "url": "https://files.pythonhosted.org/packages/f9/a6/9530ce1ffd1532fa59fbd5857eb19dde45533ce374cf422249d2f671dd22/xprof-2.20.5-cp310-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2cf860f90f5bb687c80b336154e78b961e8e85f4099d3e48e93bf3c35392c5e6",
                "md5": "460101f08c94365ae035c19b2507f66e",
                "sha256": "eea20a014237e053c02d0c62814324c35d36dd9cc226be728dd592705ab4c209"
            },
            "downloads": -1,
            "filename": "xprof-2.20.5-cp311-none-macosx_12_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "460101f08c94365ae035c19b2507f66e",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "!=3.0.*,!=3.1.*,>=2.7",
            "size": 11277836,
            "upload_time": "2025-08-01T21:48:58",
            "upload_time_iso_8601": "2025-08-01T21:48:58.610336Z",
            "url": "https://files.pythonhosted.org/packages/2c/f8/60f90f5bb687c80b336154e78b961e8e85f4099d3e48e93bf3c35392c5e6/xprof-2.20.5-cp311-none-macosx_12_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1514a1dc13f4b03aba46e0c36a4f5417f95798e78cae5cc2d9605103d5332594",
                "md5": "476d1f311c7f50db0ba57804183a549d",
                "sha256": "554d1e0bbfb8fafcc99638ba45a2ae92677b01afde7ef9edc807710e8392230d"
            },
            "downloads": -1,
            "filename": "xprof-2.20.5-cp311-none-manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "476d1f311c7f50db0ba57804183a549d",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "!=3.0.*,!=3.1.*,>=2.7",
            "size": 13186116,
            "upload_time": "2025-08-01T22:13:23",
            "upload_time_iso_8601": "2025-08-01T22:13:23.791413Z",
            "url": "https://files.pythonhosted.org/packages/15/14/a1dc13f4b03aba46e0c36a4f5417f95798e78cae5cc2d9605103d5332594/xprof-2.20.5-cp311-none-manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "96503bb23179cb212ebe8644ed6783e3d8c20701093d80fed5a58b244bc59575",
                "md5": "bf53da41ca5ca3cf40edfdcbc069607e",
                "sha256": "0a8886a9fbd35a092d0f46aa2692f0b15daca4f45b2ce31dd5b957dd965a192a"
            },
            "downloads": -1,
            "filename": "xprof-2.20.5-cp311-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "bf53da41ca5ca3cf40edfdcbc069607e",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "!=3.0.*,!=3.1.*,>=2.7",
            "size": 11080866,
            "upload_time": "2025-08-01T22:02:19",
            "upload_time_iso_8601": "2025-08-01T22:02:19.337795Z",
            "url": "https://files.pythonhosted.org/packages/96/50/3bb23179cb212ebe8644ed6783e3d8c20701093d80fed5a58b244bc59575/xprof-2.20.5-cp311-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b6392ce4c2cef10b447bbad0370257e993a5cf07b313a84761f1f7c447033dcd",
                "md5": "b4792a115fad8ecdaa8861e8ba41f98d",
                "sha256": "0af3987c5cfae6cf5f9ebbcc3d24e479e70f22f4e6a8c892f8864dc2e599d12c"
            },
            "downloads": -1,
            "filename": "xprof-2.20.5-cp312-none-macosx_12_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "b4792a115fad8ecdaa8861e8ba41f98d",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "!=3.0.*,!=3.1.*,>=2.7",
            "size": 11278020,
            "upload_time": "2025-08-01T21:49:19",
            "upload_time_iso_8601": "2025-08-01T21:49:19.271039Z",
            "url": "https://files.pythonhosted.org/packages/b6/39/2ce4c2cef10b447bbad0370257e993a5cf07b313a84761f1f7c447033dcd/xprof-2.20.5-cp312-none-macosx_12_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d84f2a34f1e70667ec9a933f4a9dc04599cdb96cb2452d5bb706abdec753ce30",
                "md5": "e0094b4e51879899a561421e3ef2e615",
                "sha256": "7eeb12f3adb6e6292e6470c9033d53df4d7f8bf8578639bb1141fa27f2eb3e06"
            },
            "downloads": -1,
            "filename": "xprof-2.20.5-cp312-none-manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e0094b4e51879899a561421e3ef2e615",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "!=3.0.*,!=3.1.*,>=2.7",
            "size": 13187175,
            "upload_time": "2025-08-01T22:13:57",
            "upload_time_iso_8601": "2025-08-01T22:13:57.422523Z",
            "url": "https://files.pythonhosted.org/packages/d8/4f/2a34f1e70667ec9a933f4a9dc04599cdb96cb2452d5bb706abdec753ce30/xprof-2.20.5-cp312-none-manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9739c67ac4e4341f0ed323849834d6c0b2f059dedf1527f09d59f91ed97f4bda",
                "md5": "e21766b6720e7f41240907e66645a396",
                "sha256": "7da7166284a0e2e8a0a976229fdca1aa193fce19c18c28111e53f71d7edab23c"
            },
            "downloads": -1,
            "filename": "xprof-2.20.5-cp312-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "e21766b6720e7f41240907e66645a396",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "!=3.0.*,!=3.1.*,>=2.7",
            "size": 11079708,
            "upload_time": "2025-08-01T22:06:16",
            "upload_time_iso_8601": "2025-08-01T22:06:16.531636Z",
            "url": "https://files.pythonhosted.org/packages/97/39/c67ac4e4341f0ed323849834d6c0b2f059dedf1527f09d59f91ed97f4bda/xprof-2.20.5-cp312-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b09de5ada02140741d57349cdd0c529144fa2e1841f0ec2a7fee4157621ea535",
                "md5": "20c4b55ff2037d3c978720c61c02ece8",
                "sha256": "70566a6eebde82c05dc2f7f0ae03d0662ea889b65c02eb33ee0876028ea683e1"
            },
            "downloads": -1,
            "filename": "xprof-2.20.5-cp39-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "20c4b55ff2037d3c978720c61c02ece8",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "!=3.0.*,!=3.1.*,>=2.7",
            "size": 11078739,
            "upload_time": "2025-08-01T22:02:24",
            "upload_time_iso_8601": "2025-08-01T22:02:24.770772Z",
            "url": "https://files.pythonhosted.org/packages/b0/9d/e5ada02140741d57349cdd0c529144fa2e1841f0ec2a7fee4157621ea535/xprof-2.20.5-cp39-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9a111dea9b57f81773f295d4a5fee1b966b24ce129cc33eb355f098fdf81e4d1",
                "md5": "2d8c95f041a74addac115aec62aab557",
                "sha256": "dab92c84648ce9e4862ec49c7ac97a4fad2579a29ed3fc97dea3a7db084aa3f9"
            },
            "downloads": -1,
            "filename": "xprof-2.20.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2d8c95f041a74addac115aec62aab557",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "!=3.0.*,!=3.1.*,>=2.7",
            "size": 6208535,
            "upload_time": "2025-08-01T22:14:55",
            "upload_time_iso_8601": "2025-08-01T22:14:55.824474Z",
            "url": "https://files.pythonhosted.org/packages/9a/11/1dea9b57f81773f295d4a5fee1b966b24ce129cc33eb355f098fdf81e4d1/xprof-2.20.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8923269ad660c2bffcf7655bf754de81b9d7458fc4fb2fa4763fb14dc674676b",
                "md5": "9034b98f115e6688e473fc34ffb488d9",
                "sha256": "aee3525917573f3d8cf82962692cd2d0d8724475820b02b72e7e5dbc0c66339a"
            },
            "downloads": -1,
            "filename": "xprof-2.20.5.tar.gz",
            "has_sig": false,
            "md5_digest": "9034b98f115e6688e473fc34ffb488d9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "!=3.0.*,!=3.1.*,>=2.7",
            "size": 6116388,
            "upload_time": "2025-08-01T22:14:57",
            "upload_time_iso_8601": "2025-08-01T22:14:57.429218Z",
            "url": "https://files.pythonhosted.org/packages/89/23/269ad660c2bffcf7655bf754de81b9d7458fc4fb2fa4763fb14dc674676b/xprof-2.20.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-01 22:14:57",
    "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: 1.70912s