# 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-nightly",
"name": "tbp-nightly",
"maintainer": null,
"docs_url": null,
"requires_python": "!=3.0.*,!=3.1.*,>=2.7",
"maintainer_email": null,
"keywords": "jax pytorch xla tensorflow tensorboard xprof-nightly 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.21.7a20251026",
"project_urls": {
"Homepage": "https://github.com/openxla/xprof-nightly"
},
"split_keywords": [
"jax",
"pytorch",
"xla",
"tensorflow",
"tensorboard",
"xprof-nightly",
"profile",
"plugin"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "df435150043ac1e3e4680a4f608e8fa9328b3b98db6df4fbd079556e2aac5b35",
"md5": "6e7d15e779939da749fe6db925fd935d",
"sha256": "49f92b8fe91cc601fb357ecc420b479a9cf12231a3cf92cef00c8baae06c6e9b"
},
"downloads": -1,
"filename": "tbp_nightly-2.21.7a20251026-cp310-none-macosx_12_0_arm64.whl",
"has_sig": false,
"md5_digest": "6e7d15e779939da749fe6db925fd935d",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "!=3.0.*,!=3.1.*,>=2.7",
"size": 3679,
"upload_time": "2025-10-26T09:39:55",
"upload_time_iso_8601": "2025-10-26T09:39:55.349310Z",
"url": "https://files.pythonhosted.org/packages/df/43/5150043ac1e3e4680a4f608e8fa9328b3b98db6df4fbd079556e2aac5b35/tbp_nightly-2.21.7a20251026-cp310-none-macosx_12_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1f79b5f9f00ef810c45c96bdab4fd970a7a89cfa2ddfde7b73286b214838ca29",
"md5": "fbd04ef9b68bf5ede7e587463b8a988d",
"sha256": "9609fe3b13c4d3c6af17bb9d5e73acfe4b5f2495a3cd46cbb786c2d003dc4d07"
},
"downloads": -1,
"filename": "tbp_nightly-2.21.7a20251026-cp311-none-macosx_12_0_arm64.whl",
"has_sig": false,
"md5_digest": "fbd04ef9b68bf5ede7e587463b8a988d",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "!=3.0.*,!=3.1.*,>=2.7",
"size": 3680,
"upload_time": "2025-10-26T09:23:27",
"upload_time_iso_8601": "2025-10-26T09:23:27.095074Z",
"url": "https://files.pythonhosted.org/packages/1f/79/b5f9f00ef810c45c96bdab4fd970a7a89cfa2ddfde7b73286b214838ca29/tbp_nightly-2.21.7a20251026-cp311-none-macosx_12_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d30d0b341318de16a88617c9b1c3dc2b93e03db2d90de8b567944322e7240c8f",
"md5": "7defc7ca870b5d16c3435fdc3374ecf3",
"sha256": "063324e407a6b99e7ba133abe75da88f0f3282d94fee983c350bcf698a51813c"
},
"downloads": -1,
"filename": "tbp_nightly-2.21.7a20251026-cp312-none-macosx_12_0_arm64.whl",
"has_sig": false,
"md5_digest": "7defc7ca870b5d16c3435fdc3374ecf3",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "!=3.0.*,!=3.1.*,>=2.7",
"size": 3680,
"upload_time": "2025-10-26T09:29:53",
"upload_time_iso_8601": "2025-10-26T09:29:53.844762Z",
"url": "https://files.pythonhosted.org/packages/d3/0d/0b341318de16a88617c9b1c3dc2b93e03db2d90de8b567944322e7240c8f/tbp_nightly-2.21.7a20251026-cp312-none-macosx_12_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "750722933979f3ef1b9a7ada3222998137a88e87738a437251ef00e70fdb080d",
"md5": "6186739186fdcf1551693e08230eca6a",
"sha256": "0295b8d2d3077882effa2587cc4d74efbfa3e32ba9c126aab6f65892cd24fb02"
},
"downloads": -1,
"filename": "tbp_nightly-2.21.7a20251026-cp313-none-macosx_12_0_arm64.whl",
"has_sig": false,
"md5_digest": "6186739186fdcf1551693e08230eca6a",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "!=3.0.*,!=3.1.*,>=2.7",
"size": 3679,
"upload_time": "2025-10-26T09:26:27",
"upload_time_iso_8601": "2025-10-26T09:26:27.825768Z",
"url": "https://files.pythonhosted.org/packages/75/07/22933979f3ef1b9a7ada3222998137a88e87738a437251ef00e70fdb080d/tbp_nightly-2.21.7a20251026-cp313-none-macosx_12_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2c90f9cb6db75d786400f0157e736c10d957ccaa466fa3d7f50e09cb77018d7f",
"md5": "6baf6da9a5d22b8b339d242b5c72d8b3",
"sha256": "de362dc9dafca5ab902037e67906e811524a6947f528d8d68506a60f80f17e12"
},
"downloads": -1,
"filename": "tbp_nightly-2.21.7a20251026-cp313-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "6baf6da9a5d22b8b339d242b5c72d8b3",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "!=3.0.*,!=3.1.*,>=2.7",
"size": 3703,
"upload_time": "2025-10-26T09:45:27",
"upload_time_iso_8601": "2025-10-26T09:45:27.484676Z",
"url": "https://files.pythonhosted.org/packages/2c/90/f9cb6db75d786400f0157e736c10d957ccaa466fa3d7f50e09cb77018d7f/tbp_nightly-2.21.7a20251026-cp313-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f466b2568509a4be1d326b38890472db9f27d1f67ec9f1c4b25197e249cdc9bb",
"md5": "48622c384e28028c1e88dde3f40bd404",
"sha256": "999e2b4237e2d8ba053eee1a8bd2c3da2ebdad2f1a586d098434227ce1fc5467"
},
"downloads": -1,
"filename": "tbp_nightly-2.21.7a20251026-cp39-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "48622c384e28028c1e88dde3f40bd404",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": "!=3.0.*,!=3.1.*,>=2.7",
"size": 3703,
"upload_time": "2025-10-26T09:47:42",
"upload_time_iso_8601": "2025-10-26T09:47:42.733132Z",
"url": "https://files.pythonhosted.org/packages/f4/66/b2568509a4be1d326b38890472db9f27d1f67ec9f1c4b25197e249cdc9bb/tbp_nightly-2.21.7a20251026-cp39-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-26 09:39:55",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "openxla",
"github_project": "xprof-nightly",
"github_not_found": true,
"lcname": "tbp-nightly"
}