Skip to content
Merged
Show file tree
Hide file tree
Changes from 9 commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
1348e26
[VitisAI]add tensor type bool (#26434)
BoarQing Nov 6, 2025
974fbf8
[VitisAI EP] Fix error in graph resolving (#26452)
zpye Nov 6, 2025
b285812
[VitisAI] Enable ort::logger usage in compile_onnx_model_vitisai_ep_v…
wcy123 Nov 6, 2025
dc7fe01
[VitisAI] Remove unused function body handling in graph fusion (#26519)
mingyueliuh Nov 19, 2025
e89dc47
[VitisAI] Add External EP Loader (#26627)
BoarQing Dec 5, 2025
9fa33f8
[VitisAI] Add support compiled model compatibility information retri…
mingyueliuh Dec 10, 2025
dc82215
Remove s_kernel_registry_vitisaiep.reset() in deinitialize_vitisai_ep…
zz002 Feb 28, 2026
781ebdd
Add/Update telemetry events (#27356)
dabhattimsft Mar 4, 2026
57d6b59
Add PE version info to onnxruntime_providers_vitisai.dll (#27626)
xhan65 Mar 13, 2026
1652d92
Fix integer division by zero crash in CPU EP Div operator (#27693)
Copilot Mar 19, 2026
0d2cd6d
Fix new-delete mismatch in DML EP's QuantizeLinear operator (#27823)
adrastogi Mar 30, 2026
730c0d5
Fix overflow in DmlGraphFusionHelper::ProcessInputData (#27815)
adrastogi Mar 30, 2026
7c7269f
Fix int4 initializer serialization in test framework
adrastogi Mar 30, 2026
e98fbe2
Backport CI pipeline fixes from main to unblock rel-1.23.x builds
adrastogi Mar 30, 2026
c0b8e16
Revert onnxruntime-github-actions to v0.0.9 for branch compat
adrastogi Mar 30, 2026
54146fc
Fix 3 failing CI pipelines on release branch
adrastogi Mar 30, 2026
2770be6
Fix ccache SHA512 hash typo in setup-build-tools inputs
adrastogi Mar 30, 2026
e46fd34
Fix Minimal Build docker_image step and QNN pool name
adrastogi Mar 30, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion cmake/onnxruntime_providers_vitisai.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,16 @@
"${ONNXRUNTIME_ROOT}/core/providers/shared_library/*.cc"
)
source_group(TREE ${ONNXRUNTIME_ROOT}/core FILES ${onnxruntime_providers_vitisai_cc_srcs})
onnxruntime_add_shared_library(onnxruntime_providers_vitisai ${onnxruntime_providers_vitisai_cc_srcs})
set(onnxruntime_providers_vitisai_all_srcs ${onnxruntime_providers_vitisai_cc_srcs})
if(WIN32)
# Sets the DLL version info on Windows: https://learn.microsoft.com/en-us/windows/win32/menurc/versioninfo-resource
list(APPEND onnxruntime_providers_vitisai_all_srcs "${ONNXRUNTIME_ROOT}/core/providers/vitisai/onnxruntime_providers_vitisai.rc")
endif()
onnxruntime_add_shared_library(onnxruntime_providers_vitisai ${onnxruntime_providers_vitisai_all_srcs})
if(WIN32)
# FILE_NAME preprocessor definition is used in onnxruntime_providers_vitisai.rc
target_compile_definitions(onnxruntime_providers_vitisai PRIVATE FILE_NAME=\"onnxruntime_providers_vitisai.dll\")
endif()
onnxruntime_add_include_to_target(onnxruntime_providers_vitisai ${ONNXRUNTIME_PROVIDERS_SHARED} ${GSL_TARGET} safeint_interface flatbuffers::flatbuffers Boost::mp11)
target_link_libraries(onnxruntime_providers_vitisai PRIVATE ${ONNXRUNTIME_PROVIDERS_SHARED} ${ABSEIL_LIBS})
if(MSVC)
Expand Down
33 changes: 32 additions & 1 deletion onnxruntime/core/platform/telemetry.cc
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@
}

void Telemetry::LogRuntimePerf(uint32_t session_id, uint32_t total_runs_since_last, int64_t total_run_duration_since_last,
std::unordered_map<int64_t, long long> duration_per_batch_size) const {
const std::unordered_map<int64_t, long long>& duration_per_batch_size) const {

Check warning on line 94 in onnxruntime/core/platform/telemetry.cc

View workflow job for this annotation

GitHub Actions / Optional Lint C++

[cpplint] reported by reviewdog 🐶 Add #include <unordered_map> for unordered_map<> [build/include_what_you_use] [4] Raw Output: onnxruntime/core/platform/telemetry.cc:94: Add #include <unordered_map> for unordered_map<> [build/include_what_you_use] [4]

Check warning on line 94 in onnxruntime/core/platform/telemetry.cc

View workflow job for this annotation

GitHub Actions / Optional Lint C++

[cpplint] reported by reviewdog 🐶 Use int16_t/int64_t/etc, rather than the C type long [runtime/int] [4] Raw Output: onnxruntime/core/platform/telemetry.cc:94: Use int16_t/int64_t/etc, rather than the C type long [runtime/int] [4]
ORT_UNUSED_PARAMETER(session_id);
ORT_UNUSED_PARAMETER(total_runs_since_last);
ORT_UNUSED_PARAMETER(total_run_duration_since_last);
Expand Down Expand Up @@ -127,4 +127,35 @@
ORT_UNUSED_PARAMETER(captureState);
}

void Telemetry::LogModelLoadStart(uint32_t session_id) const {
ORT_UNUSED_PARAMETER(session_id);
}

void Telemetry::LogModelLoadEnd(uint32_t session_id, const common::Status& status) const {
ORT_UNUSED_PARAMETER(session_id);
ORT_UNUSED_PARAMETER(status);
}

void Telemetry::LogSessionCreationEnd(uint32_t session_id,
const common::Status& status) const {
ORT_UNUSED_PARAMETER(session_id);
ORT_UNUSED_PARAMETER(status);
}

void Telemetry::LogRegisterEpLibraryWithLibPath(const std::string& registration_name,
const std::string& lib_path) const {
ORT_UNUSED_PARAMETER(registration_name);
ORT_UNUSED_PARAMETER(lib_path);
}

void Telemetry::LogRegisterEpLibraryStart(const std::string& registration_name) const {
ORT_UNUSED_PARAMETER(registration_name);
}

void Telemetry::LogRegisterEpLibraryEnd(const std::string& registration_name,

Check warning on line 155 in onnxruntime/core/platform/telemetry.cc

View workflow job for this annotation

GitHub Actions / Optional Lint C++

[cpplint] reported by reviewdog 🐶 Add #include <string> for string [build/include_what_you_use] [4] Raw Output: onnxruntime/core/platform/telemetry.cc:155: Add #include <string> for string [build/include_what_you_use] [4]
const common::Status& status) const {
ORT_UNUSED_PARAMETER(registration_name);
ORT_UNUSED_PARAMETER(status);
}

} // namespace onnxruntime
17 changes: 16 additions & 1 deletion onnxruntime/core/platform/telemetry.h
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
const char* function, uint32_t line) const;

virtual void LogRuntimePerf(uint32_t session_id, uint32_t total_runs_since_last, int64_t total_run_duration_since_last,
std::unordered_map<int64_t, long long> duration_per_batch_size) const;
const std::unordered_map<int64_t, long long>& duration_per_batch_size) const;

Check warning on line 73 in onnxruntime/core/platform/telemetry.h

View workflow job for this annotation

GitHub Actions / Optional Lint C++

[cpplint] reported by reviewdog 🐶 Use int16_t/int64_t/etc, rather than the C type long [runtime/int] [4] Raw Output: onnxruntime/core/platform/telemetry.h:73: Use int16_t/int64_t/etc, rather than the C type long [runtime/int] [4]

virtual void LogExecutionProviderEvent(LUID* adapterLuid) const;

Expand All @@ -86,6 +86,21 @@
const std::string& provider_options_string,
bool captureState) const;

virtual void LogModelLoadStart(uint32_t session_id) const;

virtual void LogModelLoadEnd(uint32_t session_id, const common::Status& status) const;

virtual void LogSessionCreationEnd(uint32_t session_id,
const common::Status& status) const;

virtual void LogRegisterEpLibraryWithLibPath(const std::string& registration_name,
const std::string& lib_path) const;

virtual void LogRegisterEpLibraryStart(const std::string& registration_name) const;

virtual void LogRegisterEpLibraryEnd(const std::string& registration_name,
const common::Status& status) const;

private:
ORT_DISALLOW_COPY_ASSIGNMENT_AND_MOVE(Telemetry);
};
Expand Down
114 changes: 113 additions & 1 deletion onnxruntime/core/platform/windows/telemetry.cc
Original file line number Diff line number Diff line change
Expand Up @@ -465,7 +465,7 @@
}

void WindowsTelemetry::LogRuntimePerf(uint32_t session_id, uint32_t total_runs_since_last, int64_t total_run_duration_since_last,
std::unordered_map<int64_t, long long> duration_per_batch_size) const {
const std::unordered_map<int64_t, long long>& duration_per_batch_size) const {

Check warning on line 468 in onnxruntime/core/platform/windows/telemetry.cc

View workflow job for this annotation

GitHub Actions / Optional Lint C++

[cpplint] reported by reviewdog 🐶 Add #include <unordered_map> for unordered_map<> [build/include_what_you_use] [4] Raw Output: onnxruntime/core/platform/windows/telemetry.cc:468: Add #include <unordered_map> for unordered_map<> [build/include_what_you_use] [4]

Check warning on line 468 in onnxruntime/core/platform/windows/telemetry.cc

View workflow job for this annotation

GitHub Actions / Optional Lint C++

[cpplint] reported by reviewdog 🐶 Use int16_t/int64_t/etc, rather than the C type long [runtime/int] [4] Raw Output: onnxruntime/core/platform/windows/telemetry.cc:468: Use int16_t/int64_t/etc, rather than the C type long [runtime/int] [4]
if (global_register_count_ == 0 || enabled_ == false)
return;

Expand Down Expand Up @@ -605,4 +605,116 @@
}
}

void WindowsTelemetry::LogModelLoadStart(uint32_t session_id) const {
if (global_register_count_ == 0 || enabled_ == false)
return;

TraceLoggingWrite(telemetry_provider_handle,
"ModelLoadStart",
TraceLoggingBool(true, "UTCReplace_AppSessionGuid"),
TelemetryPrivacyDataTag(PDT_ProductAndServiceUsage),
TraceLoggingKeyword(MICROSOFT_KEYWORD_MEASURES),
TraceLoggingLevel(WINEVENT_LEVEL_INFO),
// Telemetry info
TraceLoggingUInt8(0, "schemaVersion"),
TraceLoggingUInt32(session_id, "sessionId"),
TraceLoggingString(ORT_CALLER_FRAMEWORK, "frameworkName"));
}

void WindowsTelemetry::LogModelLoadEnd(uint32_t session_id, const common::Status& status) const {
if (global_register_count_ == 0 || enabled_ == false)
return;

TraceLoggingWrite(telemetry_provider_handle,
"ModelLoadEnd",
TraceLoggingBool(true, "UTCReplace_AppSessionGuid"),
TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance),
TraceLoggingKeyword(MICROSOFT_KEYWORD_MEASURES),
TraceLoggingLevel(WINEVENT_LEVEL_INFO),
// Telemetry info
TraceLoggingUInt8(0, "schemaVersion"),
TraceLoggingUInt32(session_id, "sessionId"),
TraceLoggingBool(status.IsOK(), "isSuccess"),
TraceLoggingUInt32(status.Code(), "errorCode"),
TraceLoggingUInt32(status.Category(), "errorCategory"),
TraceLoggingString(status.IsOK() ? "" : status.ErrorMessage().c_str(), "errorMessage"),
TraceLoggingString(ORT_CALLER_FRAMEWORK, "frameworkName"));
}

void WindowsTelemetry::LogSessionCreationEnd(uint32_t session_id,
const common::Status& status) const {
if (global_register_count_ == 0 || enabled_ == false)
return;

TraceLoggingWrite(telemetry_provider_handle,
"SessionCreationEnd",
TraceLoggingBool(true, "UTCReplace_AppSessionGuid"),
TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance),
TraceLoggingKeyword(MICROSOFT_KEYWORD_MEASURES),
TraceLoggingLevel(WINEVENT_LEVEL_INFO),
// Telemetry info
TraceLoggingUInt8(0, "schemaVersion"),
TraceLoggingUInt32(session_id, "sessionId"),
TraceLoggingBool(status.IsOK(), "isSuccess"),
TraceLoggingUInt32(status.Code(), "errorCode"),
TraceLoggingUInt32(status.Category(), "errorCategory"),
TraceLoggingString(status.IsOK() ? "" : status.ErrorMessage().c_str(), "errorMessage"),
TraceLoggingString(ORT_CALLER_FRAMEWORK, "frameworkName"));
}

void WindowsTelemetry::LogRegisterEpLibraryWithLibPath(const std::string& registration_name,
const std::string& lib_path) const {
if (global_register_count_ == 0 || enabled_ == false)
return;

TraceLoggingWrite(telemetry_provider_handle,
"RegisterEpLibraryWithLibPath",
TraceLoggingBool(true, "UTCReplace_AppSessionGuid"),
TelemetryPrivacyDataTag(PDT_ProductAndServiceUsage),
TraceLoggingKeyword(MICROSOFT_KEYWORD_MEASURES),
TraceLoggingLevel(WINEVENT_LEVEL_INFO),
// Telemetry info
TraceLoggingUInt8(0, "schemaVersion"),
TraceLoggingString(registration_name.c_str(), "registrationName"),
TraceLoggingString(lib_path.c_str(), "libPath"),
TraceLoggingString(ORT_CALLER_FRAMEWORK, "frameworkName"));
}

void WindowsTelemetry::LogRegisterEpLibraryStart(const std::string& registration_name) const {
if (global_register_count_ == 0 || enabled_ == false)
return;

TraceLoggingWrite(telemetry_provider_handle,
"RegisterEpLibraryStart",
TraceLoggingBool(true, "UTCReplace_AppSessionGuid"),
TelemetryPrivacyDataTag(PDT_ProductAndServiceUsage),
TraceLoggingKeyword(MICROSOFT_KEYWORD_MEASURES),
TraceLoggingLevel(WINEVENT_LEVEL_INFO),
// Telemetry info
TraceLoggingUInt8(0, "schemaVersion"),
TraceLoggingString(registration_name.c_str(), "registrationName"),
TraceLoggingString(ORT_CALLER_FRAMEWORK, "frameworkName"));
}

void WindowsTelemetry::LogRegisterEpLibraryEnd(const std::string& registration_name,
const common::Status& status) const {
if (global_register_count_ == 0 || enabled_ == false)
return;

TraceLoggingWrite(telemetry_provider_handle,
"RegisterEpLibraryEnd",
TraceLoggingBool(true, "UTCReplace_AppSessionGuid"),
TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance),
TraceLoggingKeyword(MICROSOFT_KEYWORD_MEASURES),
TraceLoggingLevel(WINEVENT_LEVEL_INFO),
// Telemetry info
TraceLoggingUInt8(0, "schemaVersion"),
TraceLoggingString(registration_name.c_str(), "registrationName"),
TraceLoggingBool(status.IsOK(), "isSuccess"),
TraceLoggingUInt32(status.Code(), "errorCode"),
TraceLoggingUInt32(status.Category(), "errorCategory"),
TraceLoggingString(status.IsOK() ? "" : status.ErrorMessage().c_str(), "errorMessage"),
TraceLoggingString(ORT_CALLER_FRAMEWORK, "frameworkName"));
}

} // namespace onnxruntime
17 changes: 16 additions & 1 deletion onnxruntime/core/platform/windows/telemetry.h
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@
const char* function, uint32_t line) const override;

void LogRuntimePerf(uint32_t session_id, uint32_t total_runs_since_last, int64_t total_run_duration_since_last,
std::unordered_map<int64_t, long long> duration_per_batch_size) const override;
const std::unordered_map<int64_t, long long>& duration_per_batch_size) const override;

Check warning on line 66 in onnxruntime/core/platform/windows/telemetry.h

View workflow job for this annotation

GitHub Actions / Optional Lint C++

[cpplint] reported by reviewdog 🐶 Add #include <unordered_map> for unordered_map<> [build/include_what_you_use] [4] Raw Output: onnxruntime/core/platform/windows/telemetry.h:66: Add #include <unordered_map> for unordered_map<> [build/include_what_you_use] [4]

Check warning on line 66 in onnxruntime/core/platform/windows/telemetry.h

View workflow job for this annotation

GitHub Actions / Optional Lint C++

[cpplint] reported by reviewdog 🐶 Use int16_t/int64_t/etc, rather than the C type long [runtime/int] [4] Raw Output: onnxruntime/core/platform/windows/telemetry.h:66: Use int16_t/int64_t/etc, rather than the C type long [runtime/int] [4]

void LogExecutionProviderEvent(LUID* adapterLuid) const override;

Expand All @@ -79,6 +79,21 @@
const std::string& provider_options_string,
bool captureState) const override;

void LogModelLoadStart(uint32_t session_id) const override;

void LogModelLoadEnd(uint32_t session_id, const common::Status& status) const override;

void LogSessionCreationEnd(uint32_t session_id,
const common::Status& status) const override;

void LogRegisterEpLibraryWithLibPath(const std::string& registration_name,
const std::string& lib_path) const override;

void LogRegisterEpLibraryStart(const std::string& registration_name) const override;

void LogRegisterEpLibraryEnd(const std::string& registration_name,

Check warning on line 94 in onnxruntime/core/platform/windows/telemetry.h

View workflow job for this annotation

GitHub Actions / Optional Lint C++

[cpplint] reported by reviewdog 🐶 Add #include <string> for string [build/include_what_you_use] [4] Raw Output: onnxruntime/core/platform/windows/telemetry.h:94: Add #include <string> for string [build/include_what_you_use] [4]
const common::Status& status) const override;

using EtwInternalCallback = std::function<void(LPCGUID SourceId, ULONG IsEnabled, UCHAR Level,
ULONGLONG MatchAnyKeyword, ULONGLONG MatchAllKeyword,
PEVENT_FILTER_DESCRIPTOR FilterData, PVOID CallbackContext)>;
Expand Down
Loading
Loading