diff --git a/docs/ContribOperators.md b/docs/ContribOperators.md
index c066e4bd57..aecdaefd26 100644
--- a/docs/ContribOperators.md
+++ b/docs/ContribOperators.md
@@ -56,6 +56,7 @@
* com.microsoft.Trilu
* com.microsoft.Unique
* com.microsoft.WordConvEmbedding
+ * experimental com.microsoft.IsAllFinite
* com.microsoft.nchwc
* com.microsoft.nchwc.AveragePool
* com.microsoft.nchwc.Conv
@@ -2673,6 +2674,46 @@ This version of the operator has been available since version 1 of the 'com.micr
+### experimental **com.microsoft.IsAllFinite**
+
+ IsAllFinite
+
+#### Version
+
+No versioning maintained for experimental ops.
+#### Attributes
+
+
+- isinf_only : int
+- If true, check only for Inf, -Inf.
+- isnan_only : int
+- If true, check only for NaN.
+
+
+#### Inputs (1 - ∞)
+
+
+- input (variadic) : V
+- Input tensors to check.
+
+
+#### Outputs
+
+
+- output : T
+- The output scalar. Its value is true if all input tensors are finite. Otherwise, the output value would be false.
+
+
+#### Type Constraints
+
+
+- V : tensor(float16), tensor(float), tensor(double), tensor(bfloat16)
+- Constrain input and output types to float tensors.
+- T : tensor(bool)
+- Constrain the output to a boolean tensor.
+
+
+
## com.microsoft.nchwc
### **com.microsoft.nchwc.AveragePool**
diff --git a/tools/ci_build/build.py b/tools/ci_build/build.py
index 9b994f4404..5ae1f6eaa9 100644
--- a/tools/ci_build/build.py
+++ b/tools/ci_build/build.py
@@ -1713,26 +1713,26 @@ def build_protoc_for_host(cmake_path, source_dir, build_dir, args):
def generate_documentation(source_dir, build_dir, configs):
+ # Randomly choose one build config
+ config = next(iter(configs))
+ cwd = get_config_build_dir(build_dir, config)
+ if is_windows():
+ cwd = os.path.join(cwd, config)
operator_doc_path = os.path.join(source_dir, 'docs', 'ContribOperators.md')
opkernel_doc_path = os.path.join(source_dir, 'docs', 'OperatorKernels.md')
- for config in configs:
- # Copy the gen_contrib_doc.py.
- shutil.copy(
- os.path.join(source_dir, 'tools', 'python', 'gen_contrib_doc.py'),
- os.path.join(build_dir, config))
- shutil.copy(
- os.path.join(source_dir, 'tools', 'python', 'gen_opkernel_doc.py'),
- os.path.join(build_dir, config))
- run_subprocess(
- [sys.executable,
- 'gen_contrib_doc.py',
- '--output_path', operator_doc_path],
- cwd=os.path.join(build_dir, config))
- run_subprocess(
- [sys.executable,
- 'gen_opkernel_doc.py',
- '--output_path', opkernel_doc_path],
- cwd=os.path.join(build_dir, config))
+ shutil.copy(
+ os.path.join(source_dir, 'tools', 'python', 'gen_contrib_doc.py'), cwd)
+ shutil.copy(
+ os.path.join(source_dir, 'tools', 'python', 'gen_opkernel_doc.py'),
+ cwd)
+ run_subprocess(
+ [sys.executable,
+ 'gen_contrib_doc.py',
+ '--output_path', operator_doc_path], cwd=cwd)
+ run_subprocess(
+ [sys.executable,
+ 'gen_opkernel_doc.py',
+ '--output_path', opkernel_doc_path], cwd=cwd)
docdiff = ''
try:
docdiff = subprocess.check_output(['git', 'diff', opkernel_doc_path], cwd=source_dir)
diff --git a/tools/ci_build/github/azure-pipelines/win-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/win-ci-pipeline.yml
index be9d469ac3..18b5e82925 100644
--- a/tools/ci_build/github/azure-pipelines/win-ci-pipeline.yml
+++ b/tools/ci_build/github/azure-pipelines/win-ci-pipeline.yml
@@ -142,7 +142,7 @@ jobs:
del wheel_filename_file
python.exe -m pip install -q --upgrade %WHEEL_FILENAME%
set PATH=$(Build.BinariesDirectory)\$(BuildConfig)\$(BuildConfig);%PATH%
- python $(Build.SourcesDirectory)\tools\ci_build\build.py --config $(BuildConfig) --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --build_nodejs --test --cmake_generator "Visual Studio 16 2019" --use_dnnl --build_wheel --enable_onnx_tests
+ python $(Build.SourcesDirectory)\tools\ci_build\build.py --gen_doc --config $(BuildConfig) --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --build_nodejs --test --cmake_generator "Visual Studio 16 2019" --use_dnnl --build_wheel --enable_onnx_tests
workingDirectory: '$(Build.BinariesDirectory)\$(BuildConfig)\$(BuildConfig)'
displayName: 'Run tests'