Skip to content

Commit 53d4e83

Browse files
committed
Merge branch 'main' into titaiwang/support_attention_cuda
2 parents 78f5d61 + d55ade0 commit 53d4e83

File tree

216 files changed

+6846
-4910
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

216 files changed

+6846
-4910
lines changed

.github/workflows/react_native.yml

Lines changed: 23 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,11 @@ jobs:
5353
cp tools/ci_build/github/js/react_native_e2e_full_aar_build_settings.json ${{ runner.temp }}/.build_settings/build_settings.json
5454
5555
python3 -m pip install --user -r ${{ github.workspace }}/tools/ci_build/requirements/pybind/requirements.txt
56-
57-
python3 ${{ github.workspace }}/tools/ci_build/github/android/build_aar_package.py --build_dir ${{ runner.temp }} --config Release --android_sdk_path $ANDROID_SDK_ROOT --android_ndk_path $ANDROID_NDK_ROOT ${{ runner.temp }}/.build_settings/build_settings.json
56+
57+
python3 ${{ github.workspace }}/tools/ci_build/github/android/build_aar_package.py --build_dir ${{ runner.temp }} --config Release --android_sdk_path $ANDROID_SDK_ROOT --android_ndk_path $ANDROID_NDK_ROOT ${{ runner.temp }}/.build_settings/build_settings.json
5858
5959
# Copy the built artifacts to give folder for publishing
60-
BASE_PATH=${{ runner.temp }}/aar_out/Release/com/microsoft/onnxruntime/onnxruntime-android/${OnnxRuntimeVersion}
61-
cp ${BASE_PATH}/*.jar ${{ runner.temp }}/artifacts
62-
cp ${BASE_PATH}/*.aar ${{ runner.temp }}/artifacts
63-
cp ${BASE_PATH}/*.pom ${{ runner.temp }}/artifacts
60+
cp -r ${{ runner.temp }}/aar_out/Release/com ${{ runner.temp }}/artifacts
6461
6562
- name: Upload Android AAR Artifact
6663
uses: actions/upload-artifact@v5
@@ -109,10 +106,8 @@ jobs:
109106

110107
- name: Copy AAR to React Native and E2E directories
111108
run: |
112-
mkdir -p ${{ github.workspace }}/js/react_native/android/libs
113-
cp ${{ runner.temp }}/android-full-aar/*.aar ${{ github.workspace }}/js/react_native/android/libs
114109
mkdir -p ${{ github.workspace }}/js/react_native/e2e/android/app/libs
115-
cp ${{ runner.temp }}/android-full-aar/*.aar ${{ github.workspace }}/js/react_native/e2e/android/app/libs
110+
cp -r ${{ runner.temp }}/android-full-aar/com ${{ github.workspace }}/js/react_native/e2e/android/app/libs
116111
117112
- name: Install dependencies and bootstrap
118113
run: |
@@ -141,10 +136,6 @@ jobs:
141136
with:
142137
ndk-version: 28.0.13004108
143138

144-
- name: Run React Native Android Instrumented Tests
145-
run: ./gradlew connectedDebugAndroidTest --stacktrace
146-
working-directory: ${{ github.workspace }}/js/react_native/android
147-
148139
- name: Run React Native Detox Android e2e Tests
149140
run: |
150141
JEST_JUNIT_OUTPUT_FILE=${{ github.workspace }}/js/react_native/e2e/android-test-results.xml \
@@ -169,6 +160,15 @@ jobs:
169160
echo "Emulator PID file was expected to exist but does not."
170161
fi
171162
163+
- name: Upload Android Test Results
164+
if: always()
165+
uses: actions/upload-artifact@v5
166+
with:
167+
name: android-test-results
168+
path: |
169+
${{ github.workspace }}/js/react_native/e2e/android-test-results.xml
170+
${{ github.workspace }}/js/react_native/e2e/artifacts
171+
172172
react_native_ci_ios_build:
173173
name: React Native CI iOS Build
174174
runs-on: macos-14
@@ -211,62 +211,6 @@ jobs:
211211
name: ios_pod
212212
path: ${{ runner.temp }}/ios_pod
213213

214-
react_native_ci_ios_unit_tests:
215-
name: React Native CI iOS Unit Tests
216-
needs: react_native_ci_ios_build
217-
runs-on: macos-14
218-
timeout-minutes: 90
219-
steps:
220-
- name: Checkout repository
221-
uses: actions/checkout@v5
222-
223-
- name: Download iOS pod artifact
224-
uses: actions/download-artifact@v6
225-
with:
226-
name: ios_pod
227-
path: ${{ runner.temp }}/ios_pod
228-
229-
- name: Use Xcode 15.3.0
230-
run: sudo xcode-select --switch /Applications/Xcode_15.3.0.app/Contents/Developer
231-
232-
- name: Use Node.js 22.x
233-
uses: actions/setup-node@v6
234-
with:
235-
node-version: '22.x'
236-
237-
- uses: microsoft/onnxruntime-github-actions/[email protected]
238-
with:
239-
vcpkg-version: '2025.06.13'
240-
vcpkg-hash: 735923258c5187966698f98ce0f1393b8adc6f84d44fd8829dda7db52828639331764ecf41f50c8e881e497b569f463dbd02dcb027ee9d9ede0711102de256cc
241-
cmake-version: '3.31.8'
242-
cmake-hash: 99cc9c63ae49f21253efb5921de2ba84ce136018abf08632c92c060ba91d552e0f6acc214e9ba8123dee0cf6d1cf089ca389e321879fd9d719a60d975bcffcc8
243-
add-cmake-to-path: 'true'
244-
disable-terrapin: 'true'
245-
246-
- name: Install dependencies and bootstrap
247-
run: |
248-
npm ci
249-
working-directory: ${{ github.workspace }}/js
250-
- run: npm ci
251-
working-directory: ${{ github.workspace }}/js/common
252-
- run: |
253-
set -e -x
254-
npm ci
255-
npm run bootstrap-no-pods
256-
working-directory: ${{ github.workspace }}/js/react_native
257-
258-
- name: Pod install
259-
run: |
260-
set -e -x
261-
ls ${{ runner.temp }}/ios_pod/onnxruntime-c
262-
ORT_C_LOCAL_POD_PATH=${{ runner.temp }}/ios_pod/onnxruntime-c pod install --verbose
263-
working-directory: ${{ github.workspace }}/js/react_native/ios
264-
265-
- name: Run React Native iOS Instrumented Tests
266-
run: |
267-
/usr/bin/xcodebuild -sdk iphonesimulator -configuration Debug -workspace ${{ github.workspace }}/js/react_native/ios/OnnxruntimeModule.xcworkspace -scheme OnnxruntimeModuleTest -destination 'platform=iOS Simulator,name=iPhone 15,OS=17.4' test CODE_SIGNING_ALLOWED=NO
268-
working-directory: ${{ github.workspace }}/js/react_native/ios
269-
270214
react_native_ci_ios_e2e_tests:
271215
name: React Native CI iOS E2E Tests
272216
needs: react_native_ci_ios_build
@@ -314,7 +258,7 @@ jobs:
314258
npm ci
315259
npm run bootstrap-no-pods
316260
working-directory: ${{ github.workspace }}/js/react_native
317-
261+
318262
- name: Pod install for e2e tests
319263
run: |
320264
set -e -x
@@ -331,3 +275,12 @@ jobs:
331275
--loglevel verbose \
332276
--take-screenshots failing
333277
working-directory: ${{ github.workspace }}/js/react_native/e2e
278+
279+
- name: Upload iOS Test Results
280+
if: always()
281+
uses: actions/upload-artifact@v5
282+
with:
283+
name: ios-test-results
284+
path: |
285+
${{ github.workspace }}/js/react_native/e2e/ios-test-results.xml
286+
${{ github.workspace }}/js/react_native/e2e/artifacts

.github/workflows/reusable_linux_build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ jobs:
7878
uses: actions/checkout@v5
7979

8080
- name: Set up Python ${{ inputs.python_version }}
81+
if: inputs.architecture != 'arm64'
8182
uses: actions/setup-python@v6
8283
with:
8384
python-version: ${{ inputs.python_version }}

.github/workflows/windows_x86.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ jobs:
6161
working-directory: ${{ github.workspace }}
6262

6363
- name: Use .NET 8.x
64-
uses: actions/setup-dotnet@v5
64+
uses: actions/setup-dotnet@v3
6565
with:
6666
dotnet-version: '8.x'
6767
env:

cmake/CMakeLists.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1454,7 +1454,12 @@ if (onnxruntime_USE_CUDA)
14541454
message(STATUS "CUDA Toolkit version is greater or equal than 12.8, enable -DENABLE_FP4 flag")
14551455
endif()
14561456

1457-
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -Xfatbin=-compress-all")
1457+
if(CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL "13.0")
1458+
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -Xfatbin=-compress-all -compress-mode=size")
1459+
else()
1460+
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -Xfatbin=-compress-all")
1461+
endif()
1462+
14581463
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} --expt-relaxed-constexpr")
14591464
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} --Werror default-stream-launch")
14601465

cmake/deps.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,5 +56,5 @@ extensions;https://github.com/microsoft/onnxruntime-extensions/archive/c24b7bab0
5656
directx_headers;https://github.com/microsoft/DirectX-Headers/archive/refs/tags/v1.613.1.zip;47653509a3371eabb156360f42faf582f314bf2e
5757
cudnn_frontend;https://github.com/NVIDIA/cudnn-frontend/archive/refs/tags/v1.12.0.zip;7e733cfdc410d777b76122d64232499205589a96
5858
dawn;https://github.com/google/dawn/archive/13c1635a14574ebb7116b56a69f5519301417fda.zip;0aadd28fc385cf7d657d5fc70a352372d2d3c76a
59-
kleidiai;https://github.com/ARM-software/kleidiai/archive/refs/tags/v1.10.0.tar.gz;11b62149cb2514b3b9069cc435c3aa7a4e82b97a
59+
kleidiai;https://github.com/ARM-software/kleidiai/archive/refs/tags/v1.15.0.tar.gz;62ccd24ab60bcef68766440fb42d79071ac2a5d2
6060
duktape;https://github.com/svaarala/duktape/releases/download/v2.7.0/duktape-2.7.0.tar.xz;8200c8e417dbab7adcc12c4dbdef7651cfc55794

cmake/onnxruntime_mlas.cmake

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ set(MLAS_ROOT ${ONNXRUNTIME_ROOT}/core/mlas)
55
set(MLAS_SRC_DIR ${MLAS_ROOT}/lib)
66
set(MLAS_INC_DIR ${MLAS_ROOT}/inc)
77

8+
89
# mlas_private_compile_definitions contains compile definitions that are private to onnxruntime_mlas and targets which
910
# use internal MLAS headers like mlasi.h.
1011
set(mlas_private_compile_definitions)
@@ -285,6 +286,15 @@ function(setup_kleidiai)
285286
list(APPEND onnxruntime_EXTERNAL_LIBRARIES kleidiai)
286287
set(onnxruntime_EXTERNAL_LIBRARIES ${onnxruntime_EXTERNAL_LIBRARIES} PARENT_SCOPE)
287288

289+
# If KLEIDIAI_DEBUG is enabled that implies both DEBUG and KERNEL messages.
290+
if(onnxruntime_KLEIDIAI_DEBUG_LOGGING)
291+
target_compile_definitions(onnxruntime_mlas PRIVATE KLEIDIAI_DEBUG=1)
292+
target_compile_definitions(onnxruntime_mlas PRIVATE KLEIDIAI_KERNEL=1)
293+
endif()
294+
if(onnxruntime_KLEIDIAI_KERNEL_LOGGING)
295+
target_compile_definitions(onnxruntime_mlas PRIVATE KLEIDIAI_KERNEL=1)
296+
endif()
297+
288298
if (NOT onnxruntime_BUILD_SHARED_LIB)
289299
install(TARGETS kleidiai EXPORT ${PROJECT_NAME}Targets
290300
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}

cmake/onnxruntime_unittests.cmake

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1616,6 +1616,10 @@ endif()
16161616
target_compile_definitions(onnxruntime_shared_lib_test PRIVATE USE_DUMMY_EXA_DEMANGLE=1)
16171617
endif()
16181618

1619+
if (CMAKE_SYSTEM_NAME MATCHES "AIX" AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
1620+
set_target_properties(onnxruntime_shared_lib_test PROPERTIES ENABLE_EXPORTS 1)
1621+
endif()
1622+
16191623
if (IOS)
16201624
add_custom_command(
16211625
TARGET onnxruntime_shared_lib_test POST_BUILD

docs/ContribOperators.md

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4534,10 +4534,19 @@ This version of the operator has been available since version 1 of the 'com.micr
45344534

45354535
Quantized mixture of experts (MoE).
45364536

4537-
Only weights are quantized with symmetric quantization.
45384537
The quantized weights are stored in column major order per expert.
45394538
The quantization block size can be specified. If not provided, column wise quantization is used.
45404539

4540+
The formula of linear dequantization of the quantized weights using scale and (optionally) zero-point is:
4541+
dequantized_weight = (quantized_weight - zero_point) * scale
4542+
When zero_point is not provided, the default value is 2^(bits-1): 8 for 4 bits, 128 for 8 bits.
4543+
4544+
If block_size is provided, both hidden_size and inter_size must be divisible by the block size, and
4545+
the dequantization is performed per block of size block_size along the K (input feature) dimension.
4546+
4547+
If block_size and zero_point are provided, both hidden_size and inter_size must be divisible by block_size * pack_size,
4548+
where pack_size = 8 / expert_weight_bits.
4549+
45414550
The SwiGLU (Swish-Gated Linear Unit) activation function is like:
45424551
g = xW + b
45434552
l = xV + c
@@ -4579,7 +4588,7 @@ This version of the operator has been available since version 1 of the 'com.micr
45794588
<dd>Whether to use sparse mixer</dd>
45804589
</dl>
45814590

4582-
#### Inputs (7 - 11)
4591+
#### Inputs (7 - 14)
45834592

45844593
<dl>
45854594
<dt><tt>input</tt> : T</dt>
@@ -4604,6 +4613,12 @@ This version of the operator has been available since version 1 of the 'com.micr
46044613
<dd>2D optional tensor with shape (num_experts, inter_size), or 3D optional tensor with shape (num_experts, inter_size, hidden_size / block_size) when block_size is provided.</dd>
46054614
<dt><tt>fc3_experts_bias</tt> (optional) : T</dt>
46064615
<dd>2D optional tensor with shape (num_experts, inter_size)</dd>
4616+
<dt><tt>fc1_zero_points</tt> (optional) : T1</dt>
4617+
<dd>2D tensor with shape (num_experts, fusion_size * inter_size / pack_size), or 3D tensor with shape (num_experts, fusion_size * inter_size, hidden_size / block_size / pack_size) when block_size is provided.</dd>
4618+
<dt><tt>fc2_zero_points</tt> (optional) : T1</dt>
4619+
<dd>2D tensor with shape (num_experts, hidden_size / pack_size), or 3D tensor with shape (num_experts, hidden_size, inter_size / block_size / pack_size) when block_size is provided.</dd>
4620+
<dt><tt>fc3_zero_points</tt> (optional) : T1</dt>
4621+
<dd>2D optional tensor with shape (num_experts, inter_size / pack_size), or 3D optional tensor with shape (num_experts, inter_size, hidden_size / block_size / pack_size) when block_size is provided.</dd>
46074622
</dl>
46084623

46094624
#### Outputs

docs/OperatorKernels.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -584,7 +584,7 @@ Do not modify directly.*
584584
|QLinearSigmoid|*in* X:**T**<br> *in* X_scale:**tensor(float)**<br> *in* X_zero_point:**T**<br> *in* Y_scale:**tensor(float)**<br> *in* Y_zero_point:**T**<br> *out* Y:**T**|1+|**T** = tensor(int8), tensor(uint8)|
585585
|QLinearSoftmax|*in* X:**T**<br> *in* X_scale:**tensor(float)**<br> *in* x_zero_point:**T**<br> *in* y_scale:**tensor(float)**<br> *in* y_zero_point:**T**<br> *out* Y:**T**|1+|**T** = tensor(int8), tensor(uint8)|
586586
|QLinearWhere|*in* condition:**B**<br> *in* X:**T**<br> *in* x_scale:**TF**<br> *in* x_zero_point:**T**<br> *in* Y:**T**<br> *in* y_scale:**TF**<br> *in* y_zero_point:**T**<br> *in* z_scale:**TF**<br> *in* z_zero_point:**T**<br> *out* Z:**T**|1+|**T** = tensor(int8), tensor(uint8)|
587-
|QMoE|*in* input:**T**<br> *in* router_probs:**T**<br> *in* fc1_experts_weights:**T1**<br> *in* fc1_scales:**T2**<br> *in* fc1_experts_bias:**T**<br> *in* fc2_experts_weights:**T1**<br> *in* fc2_scales:**T2**<br> *in* fc2_experts_bias:**T**<br> *in* fc3_experts_weights:**T1**<br> *in* fc3_scales:**T2**<br> *in* fc3_experts_bias:**T**<br> *out* output:**T**|1+|**T** = tensor(float), tensor(float16)<br/> **T1** = tensor(uint8)<br/> **T2** = tensor(float), tensor(float16)|
587+
|QMoE|*in* input:**T**<br> *in* router_probs:**T**<br> *in* fc1_experts_weights:**T1**<br> *in* fc1_scales:**T2**<br> *in* fc1_experts_bias:**T**<br> *in* fc2_experts_weights:**T1**<br> *in* fc2_scales:**T2**<br> *in* fc2_experts_bias:**T**<br> *in* fc3_experts_weights:**T1**<br> *in* fc3_scales:**T2**<br> *in* fc3_experts_bias:**T**<br> *in* fc1_zero_points:**T1**<br> *in* fc2_zero_points:**T1**<br> *in* fc3_zero_points:**T1**<br> *out* output:**T**|1+|**T** = tensor(float), tensor(float16)<br/> **T1** = tensor(uint8)<br/> **T2** = tensor(float), tensor(float16)|
588588
|QuantizeLinear|*in* x:**T1**<br> *in* y_scale:**T1**<br> *in* y_zero_point:**T2**<br> *out* y:**T2**|1+|**T1** = tensor(float)<br/> **T2** = tensor(int16), tensor(int4), tensor(int8), tensor(uint16), tensor(uint4), tensor(uint8)|
589589
|QuickGelu|*in* X:**T**<br> *out* Y:**T**|1+|**T** = tensor(float)|
590590
|Range|*in* start:**T**<br> *in* limit:**T**<br> *in* delta:**T**<br> *out* Y:**T**|1+|**T** = tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64)|
@@ -999,7 +999,7 @@ Do not modify directly.*
999999
|PackedMultiHeadAttention|*in* query:**T**<br> *in* key:**T**<br> *in* value:**T**<br> *in* bias:**T**<br> *in* token_offset:**M**<br> *in* cumulative_sequence_length:**M**<br> *in* attention_bias:**T**<br> *out* output:**T**|1+|**T** = tensor(float), tensor(float16)|
10001000
|PagedAttention|*in* query:**T**<br> *in* key:**T**<br> *in* value:**T**<br> *in* key_cache:**T**<br> *in* value_cache:**T**<br> *in* cumulative_sequence_length:**S**<br> *in* past_seqlens:**S**<br> *in* block_table:**S**<br> *in* cos_cache:**T**<br> *in* sin_cache:**T**<br> *out* output:**T**<br> *out* key_cache_out:**T**<br> *out* value_cache_out:**T**|1+|**S** = tensor(int32)<br/> **T** = tensor(bfloat16), tensor(float16)|
10011001
|QAttention|*in* input:**T1**<br> *in* weight:**T2**<br> *in* bias:**T3**<br> *in* input_scale:**T3**<br> *in* weight_scale:**T3**<br> *in* mask_index:**T4**<br> *in* input_zero_point:**T1**<br> *in* weight_zero_point:**T2**<br> *in* past:**T3**<br> *out* output:**T3**<br> *out* present:**T3**|1+|**T1** = tensor(int8)<br/> **T2** = tensor(int8)<br/> **T3** = tensor(float), tensor(float16)<br/> **T4** = tensor(int32)|
1002-
|QMoE|*in* input:**T**<br> *in* router_probs:**T**<br> *in* fc1_experts_weights:**T1**<br> *in* fc1_scales:**T2**<br> *in* fc1_experts_bias:**T**<br> *in* fc2_experts_weights:**T1**<br> *in* fc2_scales:**T2**<br> *in* fc2_experts_bias:**T**<br> *in* fc3_experts_weights:**T1**<br> *in* fc3_scales:**T2**<br> *in* fc3_experts_bias:**T**<br> *out* output:**T**|1+|**T** = tensor(bfloat16), tensor(float16)<br/> **T1** = tensor(uint8)<br/> **T2** = tensor(bfloat16), tensor(float16)|
1002+
|QMoE|*in* input:**T**<br> *in* router_probs:**T**<br> *in* fc1_experts_weights:**T1**<br> *in* fc1_scales:**T2**<br> *in* fc1_experts_bias:**T**<br> *in* fc2_experts_weights:**T1**<br> *in* fc2_scales:**T2**<br> *in* fc2_experts_bias:**T**<br> *in* fc3_experts_weights:**T1**<br> *in* fc3_scales:**T2**<br> *in* fc3_experts_bias:**T**<br> *in* fc1_zero_points:**T1**<br> *in* fc2_zero_points:**T1**<br> *in* fc3_zero_points:**T1**<br> *out* output:**T**|1+|**T** = tensor(bfloat16), tensor(float16)<br/> **T1** = tensor(uint8)<br/> **T2** = tensor(bfloat16), tensor(float16)|
10031003
|QOrderedAttention|*in* input:**Q**<br> *in* scale_input:**S**<br> *in* scale_Q_gemm:**S**<br> *in* scale_K_gemm:**S**<br> *in* scale_V_gemm:**S**<br> *in* Q_weight:**Q**<br> *in* K_weight:**Q**<br> *in* V_weight:**Q**<br> *in* scale_Q_weight:**S**<br> *in* scale_K_weight:**S**<br> *in* scale_V_weight:**S**<br> *in* Q_bias:**S**<br> *in* K_bias:**S**<br> *in* V_bias:**S**<br> *in* scale_QKT_gemm:**S**<br> *in* scale_QKT_softmax:**S**<br> *in* scale_values_gemm:**S**<br> *in* mask_index:**G**<br> *in* past:**Q**<br> *in* attention_bias:**S**<br> *out* output:**Q**|1+|**G** = tensor(int32)<br/> **Q** = tensor(int8)<br/> **S** = tensor(float)|
10041004
|QOrderedGelu|*in* X:**Q**<br> *in* scale_X:**S**<br> *in* scale_Y:**S**<br> *out* Y:**Q**|1+|**Q** = tensor(int8)<br/> **S** = tensor(float)|
10051005
|QOrderedLayerNormalization|*in* X:**Q**<br> *in* scale_X:**S**<br> *in* scale:**F**<br> *in* B:**F**<br> *in* scale_Y:**S**<br> *out* Y:**Q**|1+|**F** = tensor(float), tensor(float16)<br/> **Q** = tensor(int8)<br/> **S** = tensor(float)|

docs/c_cxx/Doxyfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -945,6 +945,7 @@ WARN_LOGFILE =
945945

946946
INPUT = ../../include/onnxruntime/core/session/onnxruntime_c_api.h \
947947
../../include/onnxruntime/core/session/onnxruntime_cxx_api.h \
948+
../../include/onnxruntime/core/session/onnxruntime_ep_c_api.h \
948949
../../orttraining/orttraining/training_api/include/onnxruntime_training_c_api.h \
949950
../../orttraining/orttraining/training_api/include/onnxruntime_training_cxx_api.h
950951

0 commit comments

Comments
 (0)