Skip to content

Commit 833e441

Browse files
authored
change experimental to prototype (#3839)
To align with stock PyTorch feature definition concept, we will use Prototype, Beta, Stable to replace experimental and product feature definition in documentation.
1 parent 8d5d715 commit 833e441

File tree

29 files changed

+102
-72
lines changed

29 files changed

+102
-72
lines changed

docs/tutorials/api_doc.rst

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,14 +115,14 @@ Miscellaneous
115115
.. currentmodule:: intel_extension_for_pytorch
116116
.. autofunction:: enable_onednn_fusion
117117

118-
Quantization
118+
Quantization (Prototype)
119119
============
120120

121121
.. automodule:: intel_extension_for_pytorch.quantization
122122
.. autofunction:: prepare
123123
.. autofunction:: convert
124124

125-
Experimental API, introduction is avaiable at `feature page <./features/int8_recipe_tuning_api.md>`_.
125+
Introduction is avaiable at `feature page <./features/int8_recipe_tuning_api.md>`_.
126126

127127
.. autofunction:: autotune
128128

@@ -140,3 +140,4 @@ CPU Runtime
140140

141141
.. .. automodule:: intel_extension_for_pytorch.quantization
142142
.. :members:
143+

docs/tutorials/cheat_sheet.md

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
1-
Cheat Sheet
2-
===========
3-
4-
Get started with Intel® Extension for PyTorch\* using the following commands:
5-
6-
|Description | Command |
7-
| -------- | ------- |
8-
| Basic CPU Installation | `python -m pip install intel_extension_for_pytorch` |
9-
| Basic GPU Installation | `pip install torch==<version> -f https://developer.intel.com/ipex-whl-stable-xpu`<br>`pip install intel_extension_for_pytorch==<version> -f https://developer.intel.com/ipex-whl-stable-xpu`|
10-
| Import Intel® Extension for PyTorch\* | `import intel_extension_for_pytorch as ipex`|
11-
| Capture a Verbose Log (Command Prompt) | `export ONEDNN_VERBOSE=1` |
12-
| Optimization During Training | `model = ...`<br>`optimizer = ...`<br>`model.train()`<br>`model, optimizer = ipex.optimize(model, optimizer=optimizer)`|
13-
| Optimization During Inference | `model = ...`<br>`model.eval()`<br>`model = ipex.optimize(model)` |
14-
| Optimization Using the Low-Precision Data Type bfloat16 <br>During Training (Default FP32) | `model = ...`<br>`optimizer = ...`<br>`model.train()`<br/><br/>`model, optimizer = ipex.optimize(model, optimizer=optimizer, dtype=torch.bfloat16)`<br/><br/>`with torch.no_grad():`<br>` with torch.cpu.amp.autocast():`<br>` model(data)` |
15-
| Optimization Using the Low-Precision Data Type bfloat16 <br>During Inference (Default FP32) | `model = ...`<br>`model.eval()`<br/><br/>`model = ipex.optimize(model, dtype=torch.bfloat16)`<br/><br/>`with torch.cpu.amp.autocast():`<br>` model(data)`
16-
| [Experimental] Fast BERT Optimization | `from transformers import BertModel`<br>`model = BertModel.from_pretrained("bert-base-uncased")`<br>`model.eval()`<br/><br/>`model = ipex.fast_bert(model, dtype=torch.bfloat16)`|
17-
| Run CPU Launch Script (Command Prompt): <br>Automate Configuration Settings for Performance | `ipexrun [knobs] <your_pytorch_script> [args]`|
18-
| [Experimental] Run HyperTune to perform hyperparameter/execution configuration search | `python -m intel_extension_for_pytorch.cpu.hypertune --conf-file <your_conf_file> <your_python_script> [args]`|
19-
| [Experimental] Enable Graph capture | `model = …`<br>`model.eval()`<br>`model = ipex.optimize(model, graph_mode=True)`|
20-
| Post-Training INT8 Quantization (Static) | `model = …`<br>`model.eval()`<br>`data = …`<br/><br/>`qconfig = ipex.quantization.default_static_qconfig`<br/><br/>`prepared_model = ipex.quantization.prepare(model, qconfig, example_inputs=data, anyplace=False)`<br/><br/>`for d in calibration_data_loader():`<br>` prepared_model(d)`<br/><br/>`converted_model = ipex.quantization.convert(prepared_model)`|
21-
| Post-Training INT8 Quantization (Dynamic) | `model = …`<br>`model.eval()`<br>`data = …`<br/><br/>`qconfig = ipex.quantization.default_dynamic_qconfig`<br/><br/>`prepared_model = ipex.quantization.prepare(model, qconfig, example_inputs=data)`<br/><br/>`converted_model = ipex.quantization.convert(prepared_model)` |
22-
| [Experimental] Post-Training INT8 Quantization (Tuning Recipe): | `model = …`<br>`model.eval()`<br>`data = …`<br/><br/>`qconfig = ipex.quantization.default_static_qconfig`<br/><br/>`prepared_model = ipex.quantization.prepare(model, qconfig, example_inputs=data, inplace=False)`<br/><br/>`tuned_model = ipex.quantization.autotune(prepared_model, calibration_data_loader, eval_function, sampling_sizes=[100],`<br>` accuracy_criterion={'relative': .01}, tuning_time=0)`<br/><br/>`convert_model = ipex.quantization.convert(tuned_model)`|
1+
Cheat Sheet
2+
===========
3+
4+
Get started with Intel® Extension for PyTorch\* using the following commands:
5+
6+
|Description | Command |
7+
| -------- | ------- |
8+
| Basic CPU Installation | `python -m pip install intel_extension_for_pytorch` |
9+
| Basic GPU Installation | `pip install torch==<version> -f https://developer.intel.com/ipex-whl-stable-xpu`<br>`pip install intel_extension_for_pytorch==<version> -f https://developer.intel.com/ipex-whl-stable-xpu`|
10+
| Import Intel® Extension for PyTorch\* | `import intel_extension_for_pytorch as ipex`|
11+
| Capture a Verbose Log (Command Prompt) | `export ONEDNN_VERBOSE=1` |
12+
| Optimization During Training | `model = ...`<br>`optimizer = ...`<br>`model.train()`<br>`model, optimizer = ipex.optimize(model, optimizer=optimizer)`|
13+
| Optimization During Inference | `model = ...`<br>`model.eval()`<br>`model = ipex.optimize(model)` |
14+
| Optimization Using the Low-Precision Data Type bfloat16 <br>During Training (Default FP32) | `model = ...`<br>`optimizer = ...`<br>`model.train()`<br/><br/>`model, optimizer = ipex.optimize(model, optimizer=optimizer, dtype=torch.bfloat16)`<br/><br/>`with torch.no_grad():`<br>` with torch.cpu.amp.autocast():`<br>` model(data)` |
15+
| Optimization Using the Low-Precision Data Type bfloat16 <br>During Inference (Default FP32) | `model = ...`<br>`model.eval()`<br/><br/>`model = ipex.optimize(model, dtype=torch.bfloat16)`<br/><br/>`with torch.cpu.amp.autocast():`<br>` model(data)`
16+
| [Prototype] Fast BERT Optimization | `from transformers import BertModel`<br>`model = BertModel.from_pretrained("bert-base-uncased")`<br>`model.eval()`<br/><br/>`model = ipex.fast_bert(model, dtype=torch.bfloat16)`|
17+
| Run CPU Launch Script (Command Prompt): <br>Automate Configuration Settings for Performance | `ipexrun [knobs] <your_pytorch_script> [args]`|
18+
| [Prototype] Run HyperTune to perform hyperparameter/execution configuration search | `python -m intel_extension_for_pytorch.cpu.hypertune --conf-file <your_conf_file> <your_python_script> [args]`|
19+
| [Prototype] Enable Graph capture | `model = …`<br>`model.eval()`<br>`model = ipex.optimize(model, graph_mode=True)`|
20+
| Post-Training INT8 Quantization (Static) | `model = …`<br>`model.eval()`<br>`data = …`<br/><br/>`qconfig = ipex.quantization.default_static_qconfig`<br/><br/>`prepared_model = ipex.quantization.prepare(model, qconfig, example_inputs=data, anyplace=False)`<br/><br/>`for d in calibration_data_loader():`<br>` prepared_model(d)`<br/><br/>`converted_model = ipex.quantization.convert(prepared_model)`|
21+
| Post-Training INT8 Quantization (Dynamic) | `model = …`<br>`model.eval()`<br>`data = …`<br/><br/>`qconfig = ipex.quantization.default_dynamic_qconfig`<br/><br/>`prepared_model = ipex.quantization.prepare(model, qconfig, example_inputs=data)`<br/><br/>`converted_model = ipex.quantization.convert(prepared_model)` |
22+
| [Prototype] Post-Training INT8 Quantization (Tuning Recipe): | `model = …`<br>`model.eval()`<br>`data = …`<br/><br/>`qconfig = ipex.quantization.default_static_qconfig`<br/><br/>`prepared_model = ipex.quantization.prepare(model, qconfig, example_inputs=data, inplace=False)`<br/><br/>`tuned_model = ipex.quantization.autotune(prepared_model, calibration_data_loader, eval_function, sampling_sizes=[100],`<br>` accuracy_criterion={'relative': .01}, tuning_time=0)`<br/><br/>`convert_model = ipex.quantization.convert(tuned_model)`|
23+

docs/tutorials/features.rst

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ Quantization
4848

4949
Intel® Extension for PyTorch* provides built-in INT8 quantization recipes to deliver good statistical accuracy for most popular DL workloads including CNN, NLP and recommendation models on CPU side. On top of that, if users would like to tune for a higher accuracy than what the default recipe provides, a recipe tuning API powered by Intel® Neural Compressor is provided for users to try.
5050

51-
Check more detailed information for `INT8 Quantization [CPU] <features/int8_overview.md>`_ and `INT8 recipe tuning API guide (Experimental, *NEW feature in 1.13.0* on CPU) <features/int8_recipe_tuning_api.md>`_ on CPU side.
51+
Check more detailed information for `INT8 Quantization [CPU] <features/int8_overview.md>`_ and `INT8 recipe tuning API guide (Prototype, *NEW feature in 1.13.0* on CPU) <features/int8_recipe_tuning_api.md>`_ on CPU side.
5252

5353
Check more detailed information for `INT8 Quantization [XPU] <features/int8_overview_xpu.md>`_.
5454

@@ -68,9 +68,9 @@ On Intel® GPUs, Intel® Extension for PyTorch* also provides INT4 and FP8 Quant
6868
Distributed Training
6969
--------------------
7070

71-
To meet demands of large scale model training over multiple devices, distributed training on Intel® GPUs and CPUs are supported. Two alternative methodologies are available. Users can choose either to use PyTorch native distributed training module, `Distributed Data Parallel (DDP) <https://pytorch.org/docs/stable/notes/ddp.html>`_, with `Intel® oneAPI Collective Communications Library (oneCCL) <https://www.intel.com/content/www/us/en/developer/tools/oneapi/oneccl.html>`_ support via `Intel® oneCCL Bindings for PyTorch (formerly known as torch_ccl) <https://github.com/intel/torch-ccl>`_ or use Horovod with `Intel® oneAPI Collective Communications Library (oneCCL) <https://www.intel.com/content/www/us/en/developer/tools/oneapi/oneccl.html>`_ support (Experimental).
71+
To meet demands of large scale model training over multiple devices, distributed training on Intel® GPUs and CPUs are supported. Two alternative methodologies are available. Users can choose either to use PyTorch native distributed training module, `Distributed Data Parallel (DDP) <https://pytorch.org/docs/stable/notes/ddp.html>`_, with `Intel® oneAPI Collective Communications Library (oneCCL) <https://www.intel.com/content/www/us/en/developer/tools/oneapi/oneccl.html>`_ support via `Intel® oneCCL Bindings for PyTorch (formerly known as torch_ccl) <https://github.com/intel/torch-ccl>`_ or use Horovod with `Intel® oneAPI Collective Communications Library (oneCCL) <https://www.intel.com/content/www/us/en/developer/tools/oneapi/oneccl.html>`_ support (Prototype).
7272

73-
For more detailed information, check `DDP <features/DDP.md>`_ and `Horovod (Experimental) <features/horovod.md>`_.
73+
For more detailed information, check `DDP <features/DDP.md>`_ and `Horovod (Prototype) <features/horovod.md>`_.
7474

7575
.. toctree::
7676
:hidden:
@@ -149,7 +149,7 @@ For more detailed information, check `Inductor <features/torch_compile_gpu.md>`_
149149

150150
features/torch_compile_gpu
151151

152-
Legacy Profiler Tool (Experimental)
152+
Legacy Profiler Tool (Prototype)
153153
-----------------------------------
154154

155155
The legacy profiler tool is an extension of PyTorch* legacy profiler for profiling operators' overhead on XPU devices. With this tool, you can get the information in many fields of the run models or code scripts. Build Intel® Extension for PyTorch* with profiler support as default and enable this tool by adding a `with` statement before the code segment.
@@ -162,7 +162,7 @@ For more detailed information, check `Legacy Profiler Tool <features/profiler_le
162162

163163
features/profiler_legacy
164164

165-
Simple Trace Tool (Experimental)
165+
Simple Trace Tool (Prototype)
166166
--------------------------------
167167

168168
Simple Trace is a built-in debugging tool that lets you control printing out the call stack for a piece of code. Once enabled, it can automatically print out verbose messages of called operators in a stack format with indenting to distinguish the context.
@@ -175,7 +175,7 @@ For more detailed information, check `Simple Trace Tool <features/simple_trace.m
175175

176176
features/simple_trace
177177

178-
Kineto Supported Profiler Tool (Experimental)
178+
Kineto Supported Profiler Tool (Prototype)
179179
---------------------------------------------
180180

181181
The Kineto supported profiler tool is an extension of PyTorch\* profiler for profiling operators' executing time cost on GPU devices. With this tool, you can get information in many fields of the run models or code scripts. Build Intel® Extension for PyTorch\* with Kineto support as default and enable this tool using the `with` statement before the code segment.
@@ -189,10 +189,10 @@ For more detailed information, check `Profiler Kineto <features/profiler_kineto.
189189
features/profiler_kineto
190190

191191

192-
Compute Engine (Experimental feature for debug)
192+
Compute Engine (Prototype feature for debug)
193193
-----------------------------------------------
194194

195-
Compute engine is a experimental feature which provides the capacity to choose specific backend for operators with multiple implementations.
195+
Compute engine is a prototype feature which provides the capacity to choose specific backend for operators with multiple implementations.
196196

197197
For more detailed information, check `Compute Engine <features/compute_engine.md>`_.
198198

@@ -228,7 +228,7 @@ Intel® Extension for PyTorch* Runtime Extension provides PyTorch frontend APIs
228228
- Spawn asynchronous tasks from both Python and C++ frontend.
229229
- Program core bindings for OpenMP threads from both Python and C++ frontend.
230230

231-
.. note:: Intel® Extension for PyTorch* Runtime extension is still in the experimental stage. The API is subject to change. More detailed descriptions are available in the `API Documentation <api_doc.html>`_.
231+
.. note:: Intel® Extension for PyTorch* Runtime extension is still in the prototype stage. The API is subject to change. More detailed descriptions are available in the `API Documentation <api_doc.html>`_.
232232

233233
For more detailed information, check `Runtime Extension <features/runtime_extension.md>`_.
234234

@@ -239,7 +239,7 @@ For more detailed information, check `Runtime Extension <features/runtime_extens
239239
features/runtime_extension
240240

241241

242-
Codeless Optimization (Experimental, *NEW feature in 1.13.\**)
242+
Codeless Optimization (Prototype, *NEW feature in 1.13.\**)
243243
--------------------------------------------------------------
244244

245245
This feature enables users to get performance benefits from Intel® Extension for PyTorch* without changing Python scripts. It hopefully eases the usage and has been verified working well with broad scope of models, though in few cases there could be small overhead comparing to applying optimizations with Intel® Extension for PyTorch* APIs.
@@ -253,7 +253,7 @@ For more detailed information, check `Codeless Optimization <features/codeless_o
253253
features/codeless_optimization.md
254254

255255

256-
Graph Capture (Experimental, *NEW feature in 1.13.0\**)
256+
Graph Capture (Prototype, *NEW feature in 1.13.0\**)
257257
-------------------------------------------------------
258258

259259
Since graph mode is key for deployment performance, this feature automatically captures graphs based on set of technologies that PyTorch supports, such as TorchScript and TorchDynamo. Users won't need to learn and try different PyTorch APIs to capture graphs, instead, they can turn on a new boolean flag `--graph_mode` (default off) in `ipex.optimize` to get the best of graph optimization.
@@ -267,10 +267,10 @@ For more detailed information, check `Graph Capture <features/graph_capture.md>`
267267
features/graph_capture
268268

269269

270-
HyperTune (Experimental, *NEW feature in 1.13.0\**)
270+
HyperTune (Prototype, *NEW feature in 1.13.0\**)
271271
---------------------------------------------------
272272

273-
HyperTune is an experimental feature to perform hyperparameter/execution configuration searching. The searching is used in various areas such as optimization of hyperparameters of deep learning models. The searching is extremely useful in real situations when the number of hyperparameters, including configuration of script execution, and their search spaces are huge that manually tuning these hyperparameters/configuration is impractical and time consuming. Hypertune automates this process of execution configuration searching for the `launcher <performance_tuning/launch_script.md>`_ and Intel® Extension for PyTorch*.
273+
HyperTune is an prototype feature to perform hyperparameter/execution configuration searching. The searching is used in various areas such as optimization of hyperparameters of deep learning models. The searching is extremely useful in real situations when the number of hyperparameters, including configuration of script execution, and their search spaces are huge that manually tuning these hyperparameters/configuration is impractical and time consuming. Hypertune automates this process of execution configuration searching for the `launcher <performance_tuning/launch_script.md>`_ and Intel® Extension for PyTorch*.
274274

275275
For more detailed information, check `HyperTune <features/hypertune.md>`_.
276276

@@ -279,3 +279,4 @@ For more detailed information, check `HyperTune <features/hypertune.md>`_.
279279
:maxdepth: 1
280280

281281
features/hypertune
282+

docs/tutorials/features/advanced_configuration.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,4 @@ IPEX_VERBOSE=1 python ResNet50.py
4848
```bash
4949
IPEX_VERBOSE=1 IPEX_FP32_MATH_MODE=TF32 python ResNet50.py
5050
```
51+

docs/tutorials/features/codeless_optimization.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Codeless Optimization (Experimental)
1+
Codeless Optimization (Prototype)
22
====================================
33

44
This feature aims to get inference performance benefits from Intel® Extension for PyTorch\* without changing code in your python scripts, which can raise Out-of-Box (OOB) experience to get started with Intel® Extension for PyTorch\* easily. Users who already known how to apply optimizations with Intel® Extension for PyTorch\* APIs are not targeted for this feature, due to the inevitable overhead and limitations we mentioned below.
@@ -104,3 +104,4 @@ with torch.no_grad():
104104
For 2 reasons:
105105
* The auto graph mode support has already been included in `ipex.optimize` with graph first API in 1.13.
106106
* Extra launch parameters and Monkey patches are needed to support above case. We will focus on the feasibility of first use case in TorchVision and HuggingFace workloads.
107+

docs/tutorials/features/compute_engine.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Compute Engine (Experimental feature for debug)
1+
Compute Engine (Prototype feature for debug)
22
===============================================
33

44
## Introduction
@@ -58,3 +58,4 @@ Step4: If the compute engine designated by user is not implemented/available, ex
5858
`UpsampleNearest`: `ONEDNN`, `BASIC` [Recommend]
5959

6060
The `ONEDNN` engine is always chosen if output shape is divisible by the input shape.
61+

docs/tutorials/features/float8.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Float8 Data Type Support [GPU] (Experimental)
1+
Float8 Data Type Support [GPU] (Prototype)
22
============================================
33

44
## Float8 Data Type
@@ -42,3 +42,4 @@ with torch.xpu.amp.autocast(enabled=True, dtype=optimize_dtype):
4242
labels=masked_lm_labels,
4343
next_sentence_label=next_sentence_labels)
4444
```
45+

docs/tutorials/features/graph_capture.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Graph Capture (Experimental)
1+
Graph Capture (Prototype)
22
============================
33

44
### Feature Description
@@ -9,3 +9,4 @@ This feature automatically applies a combination of TorchScript trace technique
99

1010
[//]: # (marker_feature_graph_capture)
1111
[//]: # (marker_feature_graph_capture)
12+

docs/tutorials/features/horovod.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Horovod with PyTorch (Experimental)
1+
Horovod with PyTorch (Prototype)
22
===================================
33

44
Horovod is a distributed deep learning training framework for TensorFlow, Keras, PyTorch, and Apache MXNet. The goal of Horovod is to make distributed deep learning fast and easy to use. Horovod core principles are based on MPI concepts such as size, rank, local rank, allreduce, allgather, broadcast, and alltoall. To use Horovod with PyTorch, you need to install Horovod with Pytorch first, and make specific change for Horovod in your training script.
@@ -107,3 +107,4 @@ Example:
107107
print('Train Epoch: {} [{}/{}]\tLoss: {}'.format(
108108
epoch, batch_idx * len(data), len(train_sampler), loss.item()))
109109

110+

0 commit comments

Comments
 (0)