# XProf (+ Tensorboard Profiler Plugin)
XProf includes a suite of profiling 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 machine learning 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.
* High level details of the run environment.
* **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.
To learn more about the various XProf tools, check out the [XProf documentation](https://openxla.org/xprof)
## Demo
First time user? Come and check out this [Colab Demo](https://docs.jaxstack.ai/en/latest/JAX_for_LLM_pretraining.html).
## Quick Start
### Prerequisites
* xprof >= 2.20.0
* (optional) TensorBoard >= 2.20.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 XProf entirely offline on
your local machine, behind a corporate firewall, or in a datacenter.
If you use Google Cloud to run your workloads, we recommend the
[xprofiler tool](https://github.com/AI-Hypercomputer/cloud-diagnostics-xprof).
It provides a streamlined profile collection and viewing experience using VMs
running XProf.
### Installation
To get the most recent release version of XProf, install it via pip:
```
$ pip install xprof
```
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.
## Nightlies
Every night, a nightly version of the package is released under the name of
`xprof-nightly`. This package contains the latest changes made by the XProf
developers.
To install the nightly version of profiler:
```
$ pip uninstall xprof tensorboard-plugin-profile
$ pip install xprof-nightly
```
## Next Steps
* [JAX Profiling Guide](https://jax.readthedocs.io/en/latest/profiling.html#xprof-tensorboard-profiling)
* [PyTorch/XLA Profiling Guide](https://cloud.google.com/tpu/docs/pytorch-xla-performance-profiling-tpu-vm)
* [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-nightly",
"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 profiling 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 machine learning 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 * High level details of the run environment.\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\nTo learn more about the various XProf tools, check out the [XProf documentation](https://openxla.org/xprof)\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## Quick Start\n\n### Prerequisites\n\n* xprof >= 2.20.0\n* (optional) TensorBoard >= 2.20.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 XProf entirely offline on\nyour local machine, behind a corporate firewall, or in a datacenter.\n\nIf you use Google Cloud to run your workloads, we recommend the\n[xprofiler tool](https://github.com/AI-Hypercomputer/cloud-diagnostics-xprof).\nIt provides a streamlined profile collection and viewing experience using VMs\nrunning XProf.\n\n### Installation\n\nTo get the most recent release version of XProf, install it via pip:\n\n```\n$ pip install xprof\n```\n\nWithout TensorBoard:\n\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## Nightlies\n\nEvery night, a nightly version of the package is released under the name of\n`xprof-nightly`. This package contains the latest changes made by the XProf\ndevelopers.\n\nTo install the nightly version of profiler:\n\n```\n$ pip uninstall xprof tensorboard-plugin-profile\n$ pip install xprof-nightly\n```\n\n## Next Steps\n\n* [JAX Profiling Guide](https://jax.readthedocs.io/en/latest/profiling.html#xprof-tensorboard-profiling)\n* [PyTorch/XLA Profiling Guide](https://cloud.google.com/tpu/docs/pytorch-xla-performance-profiling-tpu-vm)\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.22.0a20251105",
"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": "e2bc0e0c3f5603856604eb9994704cc77306c850c5a07e8f7a10517c23541dfe",
"md5": "7ea0dd5967f24702ff55d58731774ea2",
"sha256": "31fa400b542efc4b1d292d10073d25af3aee40320bc9d44b811f13d6a8feec50"
},
"downloads": -1,
"filename": "xprof_nightly-2.22.0a20251105-cp312-none-macosx_12_0_arm64.whl",
"has_sig": false,
"md5_digest": "7ea0dd5967f24702ff55d58731774ea2",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "!=3.0.*,!=3.1.*,>=2.7",
"size": 13604456,
"upload_time": "2025-11-05T10:34:06",
"upload_time_iso_8601": "2025-11-05T10:34:06.686270Z",
"url": "https://files.pythonhosted.org/packages/e2/bc/0e0c3f5603856604eb9994704cc77306c850c5a07e8f7a10517c23541dfe/xprof_nightly-2.22.0a20251105-cp312-none-macosx_12_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "fd923515e2bbe1a3971de1c2a2ea9c4fc1d372a30f0a7e8bdcb829e66cff2cc5",
"md5": "22f14a01d5d3ad233852364a58dea0b0",
"sha256": "ee5c8182a4b2c18a1a502be783ff7ff48fca487146e2d52313b624b8312130bb"
},
"downloads": -1,
"filename": "xprof_nightly-2.22.0a20251105-cp313-none-macosx_12_0_arm64.whl",
"has_sig": false,
"md5_digest": "22f14a01d5d3ad233852364a58dea0b0",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "!=3.0.*,!=3.1.*,>=2.7",
"size": 13604544,
"upload_time": "2025-11-05T10:29:42",
"upload_time_iso_8601": "2025-11-05T10:29:42.425587Z",
"url": "https://files.pythonhosted.org/packages/fd/92/3515e2bbe1a3971de1c2a2ea9c4fc1d372a30f0a7e8bdcb829e66cff2cc5/xprof_nightly-2.22.0a20251105-cp313-none-macosx_12_0_arm64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-11-05 10:34:06",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "openxla",
"github_project": "xprof",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "xprof-nightly"
}