Skip to content

Commit 9acbafe

Browse files
Olivia-liufacebook-github-bot
authored andcommitted
New URL for developer tools overview page (#5385)
Summary: Pull Request resolved: #5385 ***I want to put the new URL in the PTC presentation slides.*** Old URL: https://pytorch.org/executorch/main/sdk-overview.html New URL (replaced "sdk" with "developer-tools"): https://pytorch.org/executorch/main/developer-tools-overview.html Reviewed By: dbort Differential Revision: D62727993
1 parent e29210e commit 9acbafe

File tree

7 files changed

+350
-47
lines changed

7 files changed

+350
-47
lines changed

docs/source/concepts.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ Techniques for performing computations and memory accesses on tensors with lower
283283

284284
The ExecuTorch runtime executes models on edge devices. It is responsible for program initialization, program execution and, optionally, destruction (releasing backend owned resources).
285285

286-
## [Developer Tools](./sdk-overview.md)
286+
## [Developer Tools](./devtools-overview.md)
287287

288288
A collection of tools users need to profile, debug and visualize programs that are running with ExecuTorch.
289289

docs/source/devtools-overview.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Introduction to the ExecuTorch Developer Tools
2+
3+
ExecuTorch has been designed with [productivity](./intro-overview.md) as one of its core objectives and the ExecuTorch Developer Tools enable this through the comprehensive suite of tools it provides users to help them profile, debug, and visualize models that they have onboarded onto ExecuTorch.
4+
5+
All the components of the Developer Tools have been designed from the ground up with deep integration in both the export process and the runtime. This enables us to provide unique features such as linking back operator execution in the runtime to the line of code in the original eager model that this operator originated from.
6+
7+
## Developer Tools Features
8+
9+
The ExecuTorch Developer Tools support the following features:
10+
11+
- **BundledProgram** is a utility tool for exporting the model bundled with a sample set of (representative) inputs and expected outputs, so that during runtime users can validate that the actual output is in fact the same as the expected output.
12+
- **Profiling** models with operator level breakdown of performance stats
13+
- Linking back operator performance stats to source code and module hierarchy
14+
- Model loading and execution time
15+
- **Delegate Integration** - Surfacing performance details from delegate backends
16+
- Link back delegate operator execution to the nodes they represent in the edge dialect graph (and subsequently linking back to source code and module hierarchy)
17+
- **Debugging** - Intermediate outputs and output quality analysis
18+
- **Visualization** - Coming soon
19+
20+
## Fundamental components of the Developer Tools
21+
22+
In order to fully understand and leverage the power of the Developer Tools in this section, the fundamental components that power the Developer Tools will be detailed.
23+
24+
### ETRecord
25+
ETRecord (ExecuTorch Record) is an artifact generated during the export process that stores the graphs and other metadata that is critical for the Developer Tools to be able to link back the performance/debug data sourced from the runtime to the source code of the eager model.
26+
27+
To draw a rough equivalence to conventional software development ETRecord can be considered as the binary built with debug symbols that is used for debugging in GNU Project debugger (gdb).
28+
29+
More details are available in the [ETRecord documentation](sdk-etrecord.rst) on how to generate and store an ETRecord.
30+
31+
### ETDump
32+
ETDump (ExecuTorch Dump) is the binary blob that is generated by the runtime after running a model. Similarly as above, to draw a rough equivalence to conventional software development, ETDump can be considered as the coredump of ExecuTorch, but in this case within ETDump we store all the performance and debug data that was generated by the runtime during model execution.
33+
34+
```{note}
35+
If you only care about looking at the raw performance data without linking back to source code and other extensive features, an ETDump alone will be enough to leverage the basic features of the Developer Tools. For the full experience, it is recommended that the users also generate an ETRecord.
36+
```
37+
38+
More details are available in the [ETDump documentation](sdk-etdump.md) on how to generate and store an ETDump from the runtime.
39+
40+
41+
### Inspector APIs
42+
The Inspector Python APIs are the main user enrty point into the Developer Tools. They join the data sourced from ETDump and ETRecord to give users access to all the performance and debug data sourced from the runtime along with linkage back to eager model source code and module hierarchy in an easy to use API.
43+
44+
More details are available in the [Inspector API documentation](sdk-inspector.rst) on how to use the Inspector APIs.

docs/source/getting-started-architecture.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,6 @@ _Executor_ is the entry point to load the program and execute it. The execution
8989

9090
## Developer Tools
9191

92-
It should be efficient for users to go from research to production using the flow above. Productivity is essentially important, for users to author, optimize and deploy their models. We provide [ExecuTorch Developer Tools](./sdk-overview.md) to improve productivity. The Developer Tools are not in the diagram. Instead it's a tool set that covers the developer workflow in all three phases.
92+
It should be efficient for users to go from research to production using the flow above. Productivity is essentially important, for users to author, optimize and deploy their models. We provide [ExecuTorch Developer Tools](./devtools-overview.md) to improve productivity. The Developer Tools are not in the diagram. Instead it's a tool set that covers the developer workflow in all three phases.
9393

9494
During the program preparation and execution, users can use the ExecuTorch Developer Tools to profile, debug, or visualize the program. Since the end-to-end flow is within the PyTorch ecosystem, users can correlate and display performance data along with graph visualization as well as direct references to the program source code and model hierarchy. We consider this to be a critical component for quickly iterating and lowering PyTorch programs to edge devices and environments.

docs/source/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ Topics in this section will help you get started with ExecuTorch.
196196
:caption: Developer Tools
197197
:hidden:
198198

199-
sdk-overview
199+
devtools-overview
200200
sdk-bundled-io
201201
sdk-etrecord
202202
sdk-etdump

docs/source/sdk-overview.md

Lines changed: 1 addition & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,3 @@
11
# Introduction to the ExecuTorch Developer Tools
22

3-
ExecuTorch has been designed with [productivity](./intro-overview.md) as one of its core objectives and the ExecuTorch Developer Tools enable this through the comprehensive suite of tools it provides users to help them profile, debug, and visualize models that they have onboarded onto ExecuTorch.
4-
5-
All the components of the Developer Tools have been designed from the ground up with deep integration in both the export process and the runtime. This enables us to provide unique features such as linking back operator execution in the runtime to the line of code in the original eager model that this operator originated from.
6-
7-
## Developer Tools Features
8-
9-
The ExecuTorch Developer Tools support the following features:
10-
11-
- **BundledProgram** is a utility tool for exporting the model bundled with a sample set of (representative) inputs and expected outputs, so that during runtime users can validate that the actual output is in fact the same as the expected output.
12-
- **Profiling** models with operator level breakdown of performance stats
13-
- Linking back operator performance stats to source code and module hierarchy
14-
- Model loading and execution time
15-
- **Delegate Integration** - Surfacing performance details from delegate backends
16-
- Link back delegate operator execution to the nodes they represent in the edge dialect graph (and subsequently linking back to source code and module hierarchy)
17-
- **Debugging** - Intermediate outputs and output quality analysis
18-
- **Visualization** - Coming soon
19-
20-
## Fundamental components of the Developer Tools
21-
22-
In order to fully understand and leverage the power of the Developer Tools in this section, the fundamental components that power the Developer Tools will be detailed.
23-
24-
### ETRecord
25-
ETRecord (ExecuTorch Record) is an artifact generated during the export process that stores the graphs and other metadata that is critical for the Developer Tools to be able to link back the performance/debug data sourced from the runtime to the source code of the eager model.
26-
27-
To draw a rough equivalence to conventional software development ETRecord can be considered as the binary built with debug symbols that is used for debugging in GNU Project debugger (gdb).
28-
29-
More details are available in the [ETRecord documentation](sdk-etrecord.rst) on how to generate and store an ETRecord.
30-
31-
### ETDump
32-
ETDump (ExecuTorch Dump) is the binary blob that is generated by the runtime after running a model. Similarly as above, to draw a rough equivalence to conventional software development, ETDump can be considered as the coredump of ExecuTorch, but in this case within ETDump we store all the performance and debug data that was generated by the runtime during model execution.
33-
34-
```{note}
35-
If you only care about looking at the raw performance data without linking back to source code and other extensive features, an ETDump alone will be enough to leverage the basic features of the Developer Tools. For the full experience, it is recommended that the users also generate an ETRecord.
36-
```
37-
38-
More details are available in the [ETDump documentation](sdk-etdump.md) on how to generate and store an ETDump from the runtime.
39-
40-
41-
### Inspector APIs
42-
The Inspector Python APIs are the main user enrty point into the Developer Tools. They join the data sourced from ETDump and ETRecord to give users access to all the performance and debug data sourced from the runtime along with linkage back to eager model source code and module hierarchy in an easy to use API.
43-
44-
More details are available in the [Inspector API documentation](sdk-inspector.rst) on how to use the Inspector APIs.
3+
Please update your link to <https://pytorch.org/executorch/main/devtools-overview.html>. This URL will be deleted after v0.4.0.

0 commit comments

Comments
 (0)