mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-06-10 00:38:54 +00:00
### Description <!-- Describe your changes. --> First round cherry pick, total `19` PRs, as below. Please check here for [Here](https://github.com/microsoft/onnxruntime/issues?q=label%3Arelease%3A1.14+sort%3Aupdated-asc) for the total list. <head> <meta name=ProgId content=Excel.Sheet> <meta name=Generator content="Microsoft Excel 15"> <link id=Main-File rel=Main-File href="file:///C:/Users/ruiren/AppData/Local/Temp/msohtmlclip1/01/clip.htm"> <link rel=File-List href="file:///C:/Users/ruiren/AppData/Local/Temp/msohtmlclip1/01/clip_filelist.xml"> <style> <!--table {mso-displayed-decimal-separator:"\."; mso-displayed-thousand-separator:"\,";} @page {margin:.75in .7in .75in .7in; mso-header-margin:.3in; mso-footer-margin:.3in;} tr {mso-height-source:auto;} col {mso-width-source:auto;} br {mso-data-placement:same-cell;} td {padding-top:1px; padding-right:1px; padding-left:1px; mso-ignore:padding; color:black; font-size:11.0pt; font-weight:400; font-style:normal; text-decoration:none; font-family:Calibri, sans-serif; mso-font-charset:0; mso-number-format:General; text-align:general; vertical-align:bottom; border:none; mso-background-source:auto; mso-pattern:auto; mso-protection:locked visible; white-space:nowrap; mso-rotate:0;} .xl65 {text-align:center;} .xl66 {color:windowtext; text-align:center; border:.5pt solid windowtext; background:#E2EFDA; mso-pattern:black none;} .xl67 {color:windowtext; text-align:center; border:.5pt solid windowtext;} .xl68 {color:windowtext; text-align:center; border:.5pt solid windowtext; background:white; mso-pattern:black none;} --> </style> </head> <body link="#0563C1" vlink="#954F72"> Date | PR | # | Commit # | Short # -- | -- | -- | -- | -- 0 | fix headers for training apis | 14350 |ea7bbd667d|ea7bbd61 | Fix post merge jobs pipeline build issues | 14346 |ae0e090c7b|ae0e0902 | support ScatterND(18) and ScatterElement(18) | 14224 |5d6a049141|5d6a0493 | Exclude a multi-stream case from reduced ops build | 14351 |36ba3d8d21|36ba3d84 | Support muP in Attention | 14348 |668586e8f8|668586e5 | Add memory efficient attention from CUTLASS | 14343 |414b012f42|414b0126 | Add PyTorch 2.0 to ORT transformer benchmarking | 14300 |72821a6113|72821a67 | Misc transformer fixes - 3 | 14320 |2d8ee5251c|2d8ee528 | Update quantization_defs.cc | 14380 |de7a868d5f|de7a8689 | Revert "Allow PostAnalysis@2 task to continue on error for Windows_Pa… | 14375 |cf3661ff6d|cf3661f10 | Fix fuzz test | 14385 |f03c507cf0|f03c50711 | support Pad(18) | 14219 |05915d8393|05915d812 | Ort openvino 4.3 cli | 14341 |77b455b969|77b455b13 | cpu to support bitwise ops | 14197 |7b6d880b28|7b6d88014 | Update ORT format v5 change docs to cover limited backwards compatibility in 1.14. | 14413 |3bc092b1ea|3bc092b15 | Upgrade CUTLASS to v2.11 and add sequence length threshold for cutlass FMHA | 14401 |94b1791974|94b179116 | Add Col2Im CPU op | 12311 |32c05fcdd1|32c05fc17 | [DML EP] Upgrade DML to 1.10.1 | 14433 |edb377f2cb|edb377f18 | cpu support of LpPool(18) | 14205 |2b1a59f01a|2b1a59f</body> </html> ### Motivation and Context <!-- - Why is this change required? What problem does it solve? - If it fixes an open issue, please link to the issue here. --> First round cherry-pick for ORT 1.14.0 release. --------- Signed-off-by: Liqun Fu <liqfu@microsoft.com> Co-authored-by: Ashwini Khade <askhade@microsoft.com> Co-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com> Co-authored-by: liqun Fu <liqfu@microsoft.com> Co-authored-by: RandySheriffH <48490400+RandySheriffH@users.noreply.github.com> Co-authored-by: Randy Shuai <rashuai@microsoft.com> Co-authored-by: Ye Wang <52801275+wangyems@users.noreply.github.com> Co-authored-by: Ubuntu <wy@v100-2.0cdb2e52twzevn1i4fi45bylyg.jx.internal.cloudapp.net> Co-authored-by: Tianlei Wu <tlwu@microsoft.com> Co-authored-by: kunal-vaishnavi <115581922+kunal-vaishnavi@users.noreply.github.com> Co-authored-by: Hariharan Seshadri <shariharan91@gmail.com> Co-authored-by: Yi Zhang <zhanyi@microsoft.com> Co-authored-by: Hector Li <hecli@microsoft.com> Co-authored-by: sfatimar <sahar.fatima@intel.com> Co-authored-by: Preetha <preetha.veeramalai@intel.com> Co-authored-by: Thiago Crepaldi <thiago.crepaldi@microsoft.com> Co-authored-by: Sumit Agarwal <sumitagarwal330@gmail.com>
99 lines
4.3 KiB
CMake
99 lines
4.3 KiB
CMake
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
# Licensed under the MIT License.
|
|
|
|
# There are effectively three ways to consume DirectML in this repo:
|
|
#
|
|
# 1) Public = the build points at a pre-built copy of DirectML distributed as a NuGet package.
|
|
# 2) Custom = the build points at a local copy of DirectML (bin/, include/, lib/). The dml_INCLUDE_DIR and
|
|
# dml_LIB_DIR variables are also expected to be set to the custom build location.
|
|
# 3) Internal = the build points at the DirectML source repo and builds it as part of the main project.
|
|
#
|
|
# Build Type | onnxruntime_USE_CUSTOM_DIRECTML | dml_EXTERNAL_PROJECT
|
|
# -----------|---------------------------------|---------------------
|
|
# Public | OFF | OFF
|
|
# Custom | ON | OFF
|
|
# Internal | ON | ON
|
|
#
|
|
# The "Public" build type is the default, and any mainline branches (e.g. master, rel-*) subject to CI
|
|
# should use the public build configuration. Topic branches can use the internal build type for testing,
|
|
# but they must be buildable with a public NuGet package before merging with a mainline branch.
|
|
|
|
set(onnxruntime_USE_CUSTOM_DIRECTML OFF CACHE BOOL "Depend on a custom/internal build of DirectML.")
|
|
set(dml_EXTERNAL_PROJECT OFF CACHE BOOL "Build DirectML as a source dependency.")
|
|
|
|
if (NOT onnxruntime_USE_CUSTOM_DIRECTML)
|
|
if (NOT(MSVC) OR NOT(WIN32))
|
|
message(FATAL_ERROR "NuGet packages are only supported for MSVC on Windows.")
|
|
endif()
|
|
|
|
# Retrieve the latest version of nuget
|
|
include(ExternalProject)
|
|
ExternalProject_Add(nuget
|
|
PREFIX nuget
|
|
URL "https://dist.nuget.org/win-x86-commandline/v5.3.0/nuget.exe"
|
|
DOWNLOAD_NO_EXTRACT 1
|
|
CONFIGURE_COMMAND ""
|
|
BUILD_COMMAND ""
|
|
UPDATE_COMMAND ""
|
|
INSTALL_COMMAND "")
|
|
|
|
set(NUGET_CONFIG ${PROJECT_SOURCE_DIR}/../NuGet.config)
|
|
set(PACKAGES_CONFIG ${PROJECT_SOURCE_DIR}/../packages.config)
|
|
get_filename_component(PACKAGES_DIR ${CMAKE_CURRENT_BINARY_DIR}/../packages ABSOLUTE)
|
|
set(DML_PACKAGE_DIR ${PACKAGES_DIR}/Microsoft.AI.DirectML.1.10.1)
|
|
set(DML_SHARED_LIB DirectML.dll)
|
|
|
|
# Restore nuget packages, which will pull down the DirectML redist package.
|
|
add_custom_command(
|
|
OUTPUT
|
|
${DML_PACKAGE_DIR}/bin/x64-win/DirectML.lib
|
|
${DML_PACKAGE_DIR}/bin/x86-win/DirectML.lib
|
|
${DML_PACKAGE_DIR}/bin/arm-win/DirectML.lib
|
|
${DML_PACKAGE_DIR}/bin/arm64-win/DirectML.lib
|
|
DEPENDS
|
|
${PACKAGES_CONFIG}
|
|
${NUGET_CONFIG}
|
|
COMMAND ${CMAKE_CURRENT_BINARY_DIR}/nuget/src/nuget restore ${PACKAGES_CONFIG} -PackagesDirectory ${PACKAGES_DIR} -ConfigFile ${NUGET_CONFIG}
|
|
VERBATIM
|
|
)
|
|
|
|
include_directories(BEFORE "${DML_PACKAGE_DIR}/include")
|
|
add_custom_target(
|
|
RESTORE_PACKAGES ALL
|
|
DEPENDS
|
|
${DML_PACKAGE_DIR}/bin/x64-win/DirectML.lib
|
|
${DML_PACKAGE_DIR}/bin/x86-win/DirectML.lib
|
|
${DML_PACKAGE_DIR}/bin/arm-win/DirectML.lib
|
|
${DML_PACKAGE_DIR}/bin/arm64-win/DirectML.lib
|
|
)
|
|
|
|
add_dependencies(RESTORE_PACKAGES nuget)
|
|
else()
|
|
if (dml_EXTERNAL_PROJECT)
|
|
set(dml_preset_config $<IF:$<CONFIG:Debug>,debug,release>)
|
|
set(dml_preset_name ${onnxruntime_target_platform}-win-redist-${dml_preset_config})
|
|
|
|
include(ExternalProject)
|
|
ExternalProject_Add(
|
|
directml_repo
|
|
GIT_REPOSITORY https://dev.azure.com/microsoft/WindowsAI/_git/DirectML
|
|
GIT_TAG 2290bd6495fdf8c35822816213516d13f3742cc9
|
|
GIT_SHALLOW OFF # not allowed when GIT_TAG is a commit SHA, which is preferred (it's stable, unlike branches)
|
|
GIT_PROGRESS ON
|
|
BUILD_IN_SOURCE ON
|
|
CONFIGURE_COMMAND ${CMAKE_COMMAND} --preset ${dml_preset_name} -DDML_BUILD_TESTS=OFF
|
|
BUILD_COMMAND ${CMAKE_COMMAND} --build --preset ${dml_preset_name}
|
|
INSTALL_COMMAND ${CMAKE_COMMAND} --install build/${dml_preset_name}
|
|
STEP_TARGETS install
|
|
)
|
|
|
|
# Target that consumers can use to link with the internal build of DirectML.
|
|
set(directml_install_path ${CMAKE_BINARY_DIR}/directml_repo-prefix/src/directml_repo/build/${dml_preset_name}/install)
|
|
add_library(DirectML INTERFACE)
|
|
target_link_libraries(DirectML INTERFACE ${directml_install_path}/lib/DirectML.lib)
|
|
add_dependencies(DirectML directml_repo-install)
|
|
include_directories(BEFORE ${directml_install_path}/include)
|
|
else()
|
|
include_directories(${dml_INCLUDE_DIR})
|
|
endif()
|
|
endif()
|