onnxruntime/tools/ci_build
Xavier Dupré e726151b5c
Introduce float 8 types (#14731)
### Description
The PR implements FloatE4M3FN, FloatE5M2, FloatE4MEFNUZ, FloatE5M2FNUZ
as described in PR https://github.com/onnx/onnx/pull/4805. It uses CUDA
API to cast float/half to float8 if CUDA>=11.8, a custom implementation
if CUDA<11.8.

* It implements, Cast, QuantizeLinear, DequantizeLinear for all types on
CPU, only for types FloatE4M3FN, FloatE5M2 on CUDA.
* It extends the supported types for control flow operator, Shape,
Reshape, Identity, If, Loop, Scan, Reshape
* It implements Equal(19).
* Cast, QuantizeLinear, DequantizeLinear operators now support a
parameter `saturate` only valid for float 8 types. It is true by
default. In that case, any value out of range is converted into the
maximum float 8 value. If false, it is infinite.
* QuantizeLinear, DequantizeLinear now supports multiple scales on CUDA
(and ROCm by extension), scale = 1D tensor with one scale per channel

### Motivation and Context
Supports latest onnx version.

Fixes
[AB#15395](https://aiinfra.visualstudio.com/6a833879-cd9b-44a4-a9de-adc2d818f13c/_workitems/edit/15395)

---------

Co-authored-by: Xavier Dupre <xadupre@microsoft.com@orttrainingdev8.d32nl1ml4oruzj4qz3bqlggovf.px.internal.cloudapp.net>
Co-authored-by: Randy Shuai <rashuai@microsoft.com>
Co-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com>
Co-authored-by: Scott McKay <Scott.McKay@microsoft.com>
2023-05-30 13:25:58 -07:00
..
github Introduce float 8 types (#14731) 2023-05-30 13:25:58 -07:00
__init__.py
amd_hipify.py Adopt linrtunner as the linting tool - take 2 (#15085) 2023-03-24 15:29:03 -07:00
build.py Introduce float 8 types (#14731) 2023-05-30 13:25:58 -07:00
clean_docker_image_cache.py Adopt linrtunner as the linting tool - take 2 (#15085) 2023-03-24 15:29:03 -07:00
compile_triton.py integrate triton into ort (#15862) 2023-05-17 09:35:28 +08:00
coverage.py
gen_def.py Basic CSharp packaging support for ROCm EP (#15535) 2023-05-16 07:27:38 +08:00
get_docker_image.py Bump ruff in CI (#15533) 2023-04-17 10:11:44 -07:00
logger.py
op_registration_utils.py Introduce float 8 types (#14731) 2023-05-30 13:25:58 -07:00
op_registration_validator.py Introduce float 8 types (#14731) 2023-05-30 13:25:58 -07:00
patch_manylinux.py detach patch manylinux from get_docker_image (#14958) 2023-03-09 15:40:58 +08:00
policheck_exclusions.xml
reduce_op_kernels.py Bump ruff in CI (#15533) 2023-04-17 10:11:44 -07:00
replace_urls_in_deps.py Adopt linrtunner as the linting tool - take 2 (#15085) 2023-03-24 15:29:03 -07:00
requirements.txt upgrade protobuf to 3.20.2 and onnx to 1.13 (#14279) 2023-01-31 12:55:09 -08:00
update_tsaoptions.py Adopt linrtunner as the linting tool - take 2 (#15085) 2023-03-24 15:29:03 -07:00
upload_python_package_to_azure_storage.py Adopt linrtunner as the linting tool - take 2 (#15085) 2023-03-24 15:29:03 -07:00