mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-14 20:48:00 +00:00
* model building * fix build * winml adapter model building api * model building * make build * make build again * add model building with audio op * inplace and inorder fft * add ifft * works! * cleanup * add comments * switch to iterative rather than recursive and use parallelization * batched parallelization * fft->dft * cleanup * window functions * add melweightmatrix op * updates to make spectrogram test work * push latest * add onesided * cleanup * Clean up building apis and fix mel * cleanup * cleanup * naive stft * fix test output * middle c complete * 3 tones * cleanup * signal def new line * Add save functionality * Perf improvements, 10x improvement * cleanup * use bitreverse lookup table for performance * implement constant initializers for tensors * small changes * add matmul tests * merge issues * support add attribute * add tests for double data type windowfunctions and minor cleanup * stft onesided/and not tests * cleanup * cleanup * clean up * cleanup * remove threading attribute * forward declare orttypeinfo * warnings * fwd declare * fix warnings * 1 more warning * remove saving to e drive... * cleanup and fix stft test * add opset picker * small additions * add onnxruntime tests * add signed/unsigned * fix warning * fix warning * finish onnxruntime tests * make windows namespace build succeed * add experimental flag * add experimental api into nuget package * add experimental api build flag and add to windows ai nuget package * turn experimental for tests * add minimum opset version to new experimental domain * api cleanup * disable ms experimental ops test when --ms_experimental is not enabled * add macro behind flag * remove unused x * pr feedback Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
121 lines
4.4 KiB
CMake
121 lines
4.4 KiB
CMake
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
# Licensed under the MIT License.
|
|
|
|
file(GLOB_RECURSE onnxruntime_graph_src CONFIGURE_DEPENDS
|
|
"${ONNXRUNTIME_INCLUDE_DIR}/core/graph/*.h"
|
|
"${ONNXRUNTIME_ROOT}/core/graph/*.h"
|
|
"${ONNXRUNTIME_ROOT}/core/graph/*.cc"
|
|
)
|
|
|
|
# create empty list for any excludes
|
|
set(onnxruntime_graph_src_exclude_patterns)
|
|
|
|
if (onnxruntime_MINIMAL_BUILD)
|
|
# remove schema registration support
|
|
list(APPEND onnxruntime_graph_src_exclude_patterns
|
|
"${ONNXRUNTIME_INCLUDE_DIR}/core/graph/schema_registry.h"
|
|
"${ONNXRUNTIME_ROOT}/core/graph/schema_registry.cc"
|
|
"${ONNXRUNTIME_ROOT}/core/graph/contrib_ops/*defs.h"
|
|
"${ONNXRUNTIME_ROOT}/core/graph/contrib_ops/*defs.cc"
|
|
|
|
)
|
|
|
|
# no Function support initially
|
|
list(APPEND onnxruntime_graph_src_exclude_patterns
|
|
"${ONNXRUNTIME_ROOT}/core/graph/function*"
|
|
)
|
|
|
|
# no optimizer support initially
|
|
list(APPEND onnxruntime_graph_src_exclude_patterns
|
|
"${ONNXRUNTIME_ROOT}/core/graph/graph_utils.*"
|
|
)
|
|
endif()
|
|
|
|
if (onnxruntime_DISABLE_CONTRIB_OPS)
|
|
list(APPEND onnxruntime_graph_src_exclude_patterns
|
|
"${ONNXRUNTIME_ROOT}/core/graph/contrib_ops/*.h"
|
|
"${ONNXRUNTIME_ROOT}/core/graph/contrib_ops/*.cc"
|
|
)
|
|
endif()
|
|
|
|
if(NOT onnxruntime_USE_FEATURIZERS)
|
|
list(APPEND onnxruntime_graph_src_exclude_patterns
|
|
"${ONNXRUNTIME_ROOT}/core/graph/featurizers_ops/*.h"
|
|
"${ONNXRUNTIME_ROOT}/core/graph/featurizers_ops/*.cc"
|
|
)
|
|
endif()
|
|
|
|
if(NOT onnxruntime_USE_DML)
|
|
list(APPEND onnxruntime_graph_src_exclude_patterns
|
|
"${ONNXRUNTIME_ROOT}/core/graph/dml_ops/*.h"
|
|
"${ONNXRUNTIME_ROOT}/core/graph/dml_ops/*.cc"
|
|
)
|
|
endif()
|
|
|
|
file(GLOB onnxruntime_graph_src_exclude ${onnxruntime_graph_src_exclude_patterns})
|
|
list(REMOVE_ITEM onnxruntime_graph_src ${onnxruntime_graph_src_exclude})
|
|
|
|
file(GLOB_RECURSE onnxruntime_ir_defs_src CONFIGURE_DEPENDS
|
|
"${ONNXRUNTIME_ROOT}/core/defs/*.cc"
|
|
)
|
|
|
|
if (onnxruntime_ENABLE_TRAINING)
|
|
file(GLOB_RECURSE orttraining_graph_src CONFIGURE_DEPENDS
|
|
"${ORTTRAINING_SOURCE_DIR}/core/graph/*.h"
|
|
"${ORTTRAINING_SOURCE_DIR}/core/graph/*.cc"
|
|
)
|
|
endif()
|
|
|
|
set(onnxruntime_graph_lib_src ${onnxruntime_graph_src} ${onnxruntime_ir_defs_src})
|
|
if (onnxruntime_ENABLE_TRAINING)
|
|
list(APPEND onnxruntime_graph_lib_src ${orttraining_graph_src})
|
|
endif()
|
|
|
|
add_library(onnxruntime_graph ${onnxruntime_graph_lib_src})
|
|
add_dependencies(onnxruntime_graph onnx_proto flatbuffers)
|
|
onnxruntime_add_include_to_target(onnxruntime_graph onnxruntime_common onnx onnx_proto protobuf::libprotobuf flatbuffers)
|
|
|
|
if (onnxruntime_ENABLE_TRAINING)
|
|
#TODO: the graph library should focus on ONNX IR, it shouldn't depend on math libraries like MKLML/OpenBlas
|
|
target_include_directories(onnxruntime_graph PRIVATE ${MKLML_INCLUDE_DIR})
|
|
endif()
|
|
|
|
target_include_directories(onnxruntime_graph PRIVATE ${ONNXRUNTIME_ROOT})
|
|
|
|
if (onnxruntime_ENABLE_TRAINING)
|
|
target_include_directories(onnxruntime_graph PRIVATE ${ORTTRAINING_ROOT})
|
|
|
|
if (onnxruntime_USE_NCCL)
|
|
target_include_directories(onnxruntime_graph PRIVATE ${NCCL_INCLUDE_DIRS})
|
|
endif()
|
|
endif()
|
|
|
|
set_target_properties(onnxruntime_graph PROPERTIES FOLDER "ONNXRuntime")
|
|
set_target_properties(onnxruntime_graph PROPERTIES LINKER_LANGUAGE CXX)
|
|
install(DIRECTORY ${PROJECT_SOURCE_DIR}/../include/onnxruntime/core/graph DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/onnxruntime/core)
|
|
source_group(TREE ${REPO_ROOT} FILES ${onnxruntime_graph_src} ${onnxruntime_ir_defs_src})
|
|
if (onnxruntime_ENABLE_TRAINING)
|
|
source_group(TREE ${ORTTRAINING_ROOT} FILES ${orttraining_graph_src})
|
|
endif()
|
|
|
|
if (onnxruntime_BUILD_MS_EXPERIMENTAL_OPS)
|
|
target_compile_definitions(onnxruntime_graph PRIVATE BUILD_MS_EXPERIMENTAL_OPS=1)
|
|
endif()
|
|
|
|
if (WIN32)
|
|
set(onnxruntime_graph_static_library_flags
|
|
-IGNORE:4221 # LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library
|
|
)
|
|
|
|
set_target_properties(onnxruntime_graph PROPERTIES
|
|
STATIC_LIBRARY_FLAGS "${onnxruntime_graph_static_library_flags}")
|
|
|
|
if (NOT onnxruntime_DISABLE_EXCEPTIONS)
|
|
target_compile_options(onnxruntime_graph PRIVATE
|
|
/EHsc # exception handling - C++ may throw, extern "C" will not
|
|
)
|
|
endif()
|
|
|
|
# Add Code Analysis properties to enable C++ Core checks. Have to do it via a props file include.
|
|
set_target_properties(onnxruntime_graph PROPERTIES VS_USER_PROPS ${PROJECT_SOURCE_DIR}/EnableVisualStudioCodeAnalysis.props)
|
|
endif()
|