mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-07-11 17:48:34 +00:00
### Description This PR is to update the win-ort-main branch to the tip main branch as of 2025-01-16. ### Motivation and Context This update includes the OpenVino fix for debug builds. --------- Signed-off-by: Liqun Fu <liqfu@microsoft.com> Signed-off-by: Liqun Fu <liqun.fu@microsoft.com> Signed-off-by: Junze Wu <junze.wu@intel.com> Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Jianhui Dai <jianhui.j.dai@intel.com> Co-authored-by: Yueqing Zhang <yuz75@Pitt.edu> Co-authored-by: amancini-N <63410090+amancini-N@users.noreply.github.com> Co-authored-by: Adrian Lizarraga <adlizarraga@microsoft.com> Co-authored-by: liqun Fu <liqfu@microsoft.com> Co-authored-by: Guenther Schmuelling <guschmue@microsoft.com> Co-authored-by: Yifan Li <109183385+yf711@users.noreply.github.com> Co-authored-by: yf711 <yifanl@microsoft.com> Co-authored-by: Wanming Lin <wanming.lin@intel.com> Co-authored-by: wejoncy <wejoncy@163.com> Co-authored-by: wejoncy <wejoncy@.com> Co-authored-by: Scott McKay <skottmckay@gmail.com> Co-authored-by: Changming Sun <chasun@microsoft.com> Co-authored-by: Jean-Michaël Celerier <jeanmichael.celerier+github@gmail.com> Co-authored-by: Dmitry Deshevoy <mityada@gmail.com> Co-authored-by: xhcao <xinghua.cao@intel.com> Co-authored-by: Yueqing Zhang <yueqingz@amd.com> Co-authored-by: Yulong Wang <7679871+fs-eire@users.noreply.github.com> Co-authored-by: Jiajia Qin <jiajiaqin@microsoft.com> Co-authored-by: Wu, Junze <junze.wu@intel.com> Co-authored-by: Jian Chen <cjian@microsoft.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Matthieu Darbois <mayeut@users.noreply.github.com> Co-authored-by: Prathik Rao <prathik.rao@gmail.com> Co-authored-by: wonchung-microsoft <wonchung@microsoft.com> Co-authored-by: Vincent Wang <wangwchpku@outlook.com> Co-authored-by: PARK DongHa <luncliff@gmail.com> Co-authored-by: Hector Li <hecli@microsoft.com> Co-authored-by: Sam Webster <13457618+samwebster@users.noreply.github.com> Co-authored-by: Adrian Lizarraga <adrianlm2@gmail.com> Co-authored-by: Preetha Veeramalai <preetha.veeramalai@intel.com> Co-authored-by: jatinwadhwa921 <jatin.wadhwa@intel.com> Co-authored-by: Satya Kumar Jandhyala <satya.k.jandhyala@gmail.com> Co-authored-by: Corentin Maravat <101636442+cocotdf@users.noreply.github.com> Co-authored-by: Xiaoyu <85524621+xiaoyu-work@users.noreply.github.com> Co-authored-by: Tianlei Wu <tlwu@microsoft.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jie Chen <jie.a.chen@intel.com> Co-authored-by: Jianhui Dai <jianhui.j.dai@intel.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com> Co-authored-by: Baiju Meswani <bmeswani@microsoft.com> Co-authored-by: kunal-vaishnavi <115581922+kunal-vaishnavi@users.noreply.github.com> Co-authored-by: Justin Chu <justinchuby@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: Ted Themistokleous <107195283+TedThemistokleous@users.noreply.github.com> Co-authored-by: Jeff Daily <jeff.daily@amd.com> Co-authored-by: Artur Wojcik <artur.wojcik@outlook.com> Co-authored-by: Ted Themistokleous <tedthemistokleous@amd.com> Co-authored-by: Xinya Zhang <Xinya.Zhang@amd.com> Co-authored-by: ikalinic <ilija.kalinic@amd.com> Co-authored-by: sstamenk <sstamenk@amd.com> Co-authored-by: Yi-Hong Lyu <yilyu@microsoft.com> Co-authored-by: Ti-Tai Wang <titaiwang@microsoft.com>
91 lines
3 KiB
Python
Executable file
91 lines
3 KiB
Python
Executable file
#!/usr/bin/python3
|
|
import argparse
|
|
import os
|
|
|
|
|
|
def parse_arguments():
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument("--src_root", required=True, help="input symbol file")
|
|
parser.add_argument("--output", required=True, help="output file")
|
|
parser.add_argument("--output_source", required=True, help="output file")
|
|
parser.add_argument("--version_file", required=True, help="VERSION_NUMBER file")
|
|
parser.add_argument("--style", required=True, choices=["gcc", "vc", "xcode"])
|
|
parser.add_argument("--config", required=True, nargs="+")
|
|
return parser.parse_args()
|
|
|
|
|
|
args = parse_arguments()
|
|
print(f"Generating symbol file for {args.config!s}")
|
|
with open(args.version_file) as f:
|
|
VERSION_STRING = f.read().strip()
|
|
|
|
print(f"VERSION:{VERSION_STRING}")
|
|
|
|
symbols = set()
|
|
for c in args.config:
|
|
file_name = os.path.join(args.src_root, "core", "providers", c, "symbols.txt")
|
|
with open(file_name) as file:
|
|
for line in file:
|
|
line = line.strip() # noqa: PLW2901
|
|
if line in symbols:
|
|
print("dup symbol: %s", line)
|
|
exit(-1)
|
|
symbols.add(line)
|
|
symbols = sorted(symbols)
|
|
|
|
symbol_index = 1
|
|
with open(args.output, "w") as file:
|
|
if args.style == "vc":
|
|
file.write("LIBRARY\n")
|
|
file.write("EXPORTS\n")
|
|
elif args.style == "xcode":
|
|
pass # xcode compile don't has any header.
|
|
else:
|
|
file.write(f"VERS_{VERSION_STRING} {{\n")
|
|
file.write(" global:\n")
|
|
|
|
for symbol in symbols:
|
|
if args.style == "vc":
|
|
file.write(f" {symbol} @{symbol_index}\n")
|
|
elif args.style == "xcode":
|
|
file.write(f"_{symbol}\n")
|
|
else:
|
|
file.write(f" {symbol};\n")
|
|
symbol_index += 1
|
|
|
|
if args.style == "gcc":
|
|
file.write(" local:\n")
|
|
file.write(" *;\n")
|
|
file.write("}; \n")
|
|
|
|
with open(args.output_source, "w") as file:
|
|
file.write("#include <onnxruntime_c_api.h>\n")
|
|
for c in args.config:
|
|
# WinML adapter should not be exported in platforms other than Windows.
|
|
# Exporting OrtGetWinMLAdapter is exported without issues using .def file when compiling for Windows
|
|
# so it isn't necessary to include it in generated_source.c
|
|
|
|
# external symbols are removed, xnnpack ep will be created via the standard ORT API.
|
|
# https://github.com/microsoft/onnxruntime/pull/11798
|
|
if c not in (
|
|
"vitisai",
|
|
"winml",
|
|
"cuda",
|
|
"rocm",
|
|
"migraphx",
|
|
"qnn",
|
|
"snpe",
|
|
"xnnpack",
|
|
"cann",
|
|
"dnnl",
|
|
"tensorrt",
|
|
"azure",
|
|
"webgpu",
|
|
):
|
|
file.write(f"#include <core/providers/{c}/{c}_provider_factory.h>\n")
|
|
file.write("void* GetFunctionEntryByName(const char* name){\n")
|
|
for symbol in symbols:
|
|
if symbol != "OrtGetWinMLAdapter":
|
|
file.write(f'if(strcmp(name,"{symbol}") ==0) return (void*)&{symbol};\n')
|
|
file.write("return NULL;\n")
|
|
file.write("}\n")
|