Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
b50878d
Disable Attention fusion tests when DISABLE_CONTRIB_OPS is defined (#…
tianleiwu Dec 3, 2019
178d059
Setup java ci (#2528)
shahasad Dec 3, 2019
5c2e474
Add provision in ORT for session options to be parsed when available …
hariharans29 Dec 4, 2019
d748f89
Revert "Disable thread pool creation when enabled OpenMP (#2485)" (#2…
fs-eire Dec 4, 2019
293b154
Add dynamic shape support in TensorRT execution provider (#2450)
stevenlix Dec 4, 2019
3e7aaf8
User/xianz/telemetry (#2458)
zhangxiang1993 Dec 4, 2019
be56d77
Fix integer overflow in cuda NonMaxSuppression implementation (#2540)
fs-eire Dec 4, 2019
d34fb62
Introduce container type runtime checks and other improvements (#2522)
yuslepukhin Dec 5, 2019
281933f
Fix C API tests for centos and mac (#2544)
askhade Dec 5, 2019
bec4abf
Add back executable bit to build.py
snnn Dec 4, 2019
53a6bc2
Fix a bug handling negative begin pad values in Pad op (#2550)
hariharans29 Dec 5, 2019
4c996a8
DNNL CMAKE update (#2548)
sreekanth-yalachigere Dec 5, 2019
ace132f
Fix android build (#2558)
snnn Dec 5, 2019
854362c
Update win-x86-ci.yml (#2557)
RyanUnderhill Dec 6, 2019
7eddac1
Re-enable Windows C# tests (#2564)
snnn Dec 6, 2019
73c682b
disable onnx_test_runner -x invocations for dnnl (#2568)
jywu-msft Dec 6, 2019
038ee91
Allow sequence length to be symbolic (#2559)
tianleiwu Dec 6, 2019
eeb28a8
setup java ci mac (#2570)
shahasad Dec 6, 2019
34beafc
make layernorm fusion to support opset 11 (#2545)
yufenglee Dec 6, 2019
262ee9d
Fix a warning found in the latest VS release
snnn Dec 6, 2019
5575766
Add more check on SkipLayerNorm and BiasGelu fusion (#2574)
yufenglee Dec 6, 2019
79847f3
Fix file not found error during docker build. (#2569)
Exlsunshine Dec 7, 2019
c06dbd8
Add ConvTranspose1D (#2578)
askhade Dec 7, 2019
cbc398b
Ryanunderhill/packagename test (#2582)
RyanUnderhill Dec 7, 2019
0f12346
[Nuphar EP] fixes for some object detection models (#2581)
Dec 7, 2019
200f4b4
EmbedLayerNormalization Fusion Improvement (#2553)
liuziyue Dec 8, 2019
36eb177
Update version (#2584)
RyanUnderhill Dec 9, 2019
0ab5452
Temporarily exclude vgg19 test from Python backend test
HectorSVC Dec 9, 2019
62de8fa
Update docs for Android NNAPI EP (#2586)
daquexian Dec 9, 2019
6e08efa
Fix lto bug for protobuf and ubuntu
snnn Dec 5, 2019
41fc820
add path to build dir before test run (#2590)
shahasad Dec 10, 2019
7809970
Add missig env variables for mac pipeline test (#2595)
askhade Dec 10, 2019
b0128a4
Fixed an issue in updating realized dims (#2597)
yangchen-MS Dec 10, 2019
35ceb1a
Java API for onnxruntime (#2215)
Craigacp Dec 10, 2019
6858f0a
Add support for opset 11 in reshape fusion (#2592)
tianleiwu Dec 10, 2019
796948c
Rename automl python tools folder to featurizer_ops. (#2593)
yuslepukhin Dec 10, 2019
bc89ecc
Support opset 11 subgraph of Squad model in Embed Layer Normalization…
tianleiwu Dec 10, 2019
45babd6
symbolic shape inference: fix warnings in GPT-2 model (#2608)
Dec 11, 2019
2ca9733
Dump subgraph ID and fused graph ID (#2607)
yangchen-MS Dec 11, 2019
1ee250d
EmbedLayerNormalization Fusion For Dynamic Squad Model Opset 10 (#2613)
liuziyue Dec 11, 2019
8729784
Allow providers to be set for InferenceSession at construction (#2606)
EricCousineau-TRI Dec 11, 2019
b2d65b4
Remove unnecessary parameter in some places in GatherElements impleme…
hariharans29 Dec 11, 2019
6859d92
Make sure fenced tensor could not reuse other tensor. (#2561)
zhanghuanrong Dec 11, 2019
c04647b
Improve Embed Layer Norm Fusion for SQuAD with static input shape (#…
tianleiwu Dec 11, 2019
d6f33dc
fix float16 comparison in initializer (#2629)
yufenglee Dec 12, 2019
c7cd336
epsilon attribute for layernormalization fusion (#2639)
liuziyue Dec 12, 2019
4dbf944
removed unnecessary batch file and fix path (#2640)
shahasad Dec 12, 2019
ac08b58
Add shape inference to ConvTransposeWithDynamicPads schema (#2632)
jeffbloo Dec 12, 2019
8631b70
Improve cuda expand() opeator's performance. (#2624)
zhanghuanrong Dec 13, 2019
e31be23
Cuda pad optimize when no padding is needed. (#2625)
zhanghuanrong Dec 13, 2019
fff1ed9
Optimize cuda scatter() on 2D compatible. (#2628)
zhanghuanrong Dec 13, 2019
6e68007
fix build error for ARM (#2648)
HectorSVC Dec 13, 2019
1996129
Improve performance of resize() in Nearest mode (#2626)
zhanghuanrong Dec 13, 2019
18bdde3
Fix memory exception in Layer Norm Fusion (#2644)
tianleiwu Dec 13, 2019
a46a28b
Windows CI changes(#2650)
snnn Dec 13, 2019
df22563
Revert "User/orilevari/windowsai master merge (#2674)"
Dec 19, 2019
198697e
Merge commit 'a46a28b7d81634ecc4811177a28cdc83b90b48cc' into windowsa…
Dec 19, 2019
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
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,6 @@ onnxprofile_profile_test_*.json
/csharp/packages
/csharp/src/Microsoft.ML.OnnxRuntime/Microsoft.ML.OnnxRuntime.targets
/csharp/src/Microsoft.ML.OnnxRuntime/Microsoft.ML.OnnxRuntime.props
cmake/external/FeaturizersLibrary/
# Java specific ignores
java/src/main/native/ai_onnxruntime_*.h
java/.gradle

9 changes: 0 additions & 9 deletions cgmanifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -447,15 +447,6 @@
"type": "git"
}
}
{
"component": {
"git": {
"commitHash": "006df6bff45dac59d378609fe85f6736a901ee93",
"repositoryUrl": "https://github.com/microsoft/FeaturizersLibrary.git"
},
"type": "git"
}
}
],
"Version": 1
}
5 changes: 3 additions & 2 deletions cmake/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ option(onnxruntime_DEBUG_NODE_INPUTS_OUTPUTS "Dump node input shapes and output
option(onnxruntime_USE_DML "Build with DirectML support" OFF)
option(onnxruntime_USE_WINML "Build with WinML support" OFF)
option(onnxruntime_USE_ACL "Build with ACL support" OFF)
option(onnxruntime_USE_TELEMETRY "Build with Telemetry" OFF)
option(onnxruntime_ENABLE_INSTRUMENT "Enable Instrument with Event Tracing for Windows (ETW)" OFF)
option(onnxruntime_USE_TELEMETRY "Build with Telemetry" OFF)

Expand Down Expand Up @@ -716,8 +717,8 @@ include(onnxruntime_mlas.cmake)

if(onnxruntime_USE_AUTOML)
add_definitions(-DMICROSOFT_AUTOML)
# Fetch and build featurizers
include(external/featurizers.cmake)
# Build shared featurizer library
include(onnxruntime_automl_featurizers.cmake)
endif()

if(WIN32)
Expand Down
85 changes: 0 additions & 85 deletions cmake/external/featurizers.cmake

This file was deleted.

46 changes: 46 additions & 0 deletions cmake/onnxruntime_automl_featurizers.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.
# This source code should not depend on the onnxruntime and may be built independently

file(GLOB automl_featurizers_srcs CONFIGURE_DEPENDS
"${ONNXRUNTIME_ROOT}/core/automl/featurizers/src/FeaturizerPrep/*.h"
"${ONNXRUNTIME_ROOT}/core/automl/featurizers/src/FeaturizerPrep/Featurizers/*.h"
"${ONNXRUNTIME_ROOT}/core/automl/featurizers/src/FeaturizerPrep/Featurizers/*.cpp"
)

source_group(TREE ${ONNXRUNTIME_ROOT}/core/automl/ FILES ${onnxruntime_automl_featurizers_srcs})

add_library(automl_featurizers ${automl_featurizers_srcs})

target_include_directories(automl_featurizers PRIVATE ${ONNXRUNTIME_ROOT} PUBLIC ${CMAKE_CURRENT_BINARY_DIR})

set_target_properties(automl_featurizers PROPERTIES FOLDER "AutoMLFeaturizers")

# Individual featurizers unit tests added at bulk
file(GLOB automl_featurizers_tests_srcs
"${ONNXRUNTIME_ROOT}/core/automl/featurizers/src/FeaturizerPrep/Featurizers/UnitTests/*.cpp"
)

list(APPEND automl_featurizers_tests_srcs
"${ONNXRUNTIME_ROOT}/core/automl/featurizers/src/FeaturizerPrep/UnitTests/Traits_UnitTests.cpp"
"${ONNXRUNTIME_ROOT}/core/automl/featurizers/src/FeaturizerPrep/UnitTests/Featurizer_UnitTest.cpp"
"${ONNXRUNTIME_ROOT}/core/automl/featurizers/src/FeaturizerPrep/UnitTests/test_main.cpp"
)

add_executable(automl_featurizers_unittests ${automl_featurizers_tests_srcs})
add_dependencies(automl_featurizers_unittests automl_featurizers)
target_link_libraries(automl_featurizers_unittests PRIVATE gtest automl_featurizers)
# Need make_unique
target_include_directories(automl_featurizers_unittests PRIVATE ${ONNXRUNTIME_ROOT})
source_group(TREE ${ONNXRUNTIME_ROOT}/core/automl/ FILES ${automl_featurizers_tests_srcs})
set_target_properties(automl_featurizers_unittests PROPERTIES FOLDER "AutoMLFeaturizers")
add_test(NAME automl_featurizers_unittests
COMMAND automl_featurizers_unittests
WORKING_DIRECTORY $<TARGET_FILE_DIR:automl_featurizers_unittests>
)


if (WIN32)
# Add Code Analysis properties to enable C++ Core checks. Have to do it via a props file include.
set_target_properties(automl_featurizers PROPERTIES VS_USER_PROPS ${PROJECT_SOURCE_DIR}/ConfigureVisualStudioCodeAnalysis.props)
endif()
5 changes: 1 addition & 4 deletions cmake/onnxruntime_graph.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,10 @@ if (onnxruntime_DISABLE_CONTRIB_OPS)
endif()

if(NOT onnxruntime_USE_AUTOML)
file(GLOB_RECURSE automl_to_remove_graph_src
list(REMOVE_ITEM onnxruntime_graph_src
"${ONNXRUNTIME_ROOT}/core/graph/automl_ops/*.h"
"${ONNXRUNTIME_ROOT}/core/graph/automl_ops/*.cc"
)
foreach(I in ${automl_to_remove_graph_src})
list(REMOVE_ITEM onnxruntime_graph_src ${I})
endforeach()
endif()

if(NOT onnxruntime_USE_DML)
Expand Down
9 changes: 4 additions & 5 deletions cmake/onnxruntime_mlas.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ set(mlas_common_srcs
${ONNXRUNTIME_ROOT}/core/mlas/lib/logistic.cpp
${ONNXRUNTIME_ROOT}/core/mlas/lib/tanh.cpp
${ONNXRUNTIME_ROOT}/core/mlas/lib/erf.cpp
${ONNXRUNTIME_ROOT}/core/mlas/lib/quantize.cpp
)

if(MSVC)
Expand Down Expand Up @@ -213,7 +212,7 @@ else()
if(HAS_AVX512F)
set_source_files_properties(${mlas_platform_srcs_avx512f} PROPERTIES COMPILE_FLAGS "-mavx512f")
endif()

# AVX512BW support is only available if AVX512F support is present.
check_cxx_compiler_flag("-mavx512bw" HAS_AVX512BW)
if(HAS_AVX512BW)
Expand All @@ -226,7 +225,7 @@ else()
}"
AVX512BW_COMPILES
)

if(AVX512BW_COMPILES)
set(mlas_platform_srcs_avx512bw
${ONNXRUNTIME_ROOT}/core/mlas/lib/x86_64/QgemmU8S8KernelAvx512BW.S
Expand All @@ -236,12 +235,12 @@ else()
${ONNXRUNTIME_ROOT}/core/mlas/lib/x86_64/QgemmU8U8KernelAvx512BW.S
${ONNXRUNTIME_ROOT}/core/mlas/lib/x86_64/QgemmU8U8KernelAvx512Vnni.S
)

if(HAS_AVX512BW)
set_source_files_properties(${mlas_platform_srcs_avx512bw} PROPERTIES COMPILE_FLAGS "-mavx512bw")
endif()
else() # AVX512BW_COMPILES
#
#
set_source_files_properties(${mlas_common_srcs} PROPERTIES COMPILE_FLAGS "-DMLAS_AVX512BW_UNSUPPORTED")
endif() # AVX512BW_COMPILES
else() # AVX512F_COMPILES
Expand Down
2 changes: 1 addition & 1 deletion cmake/onnxruntime_python.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,7 @@ endif()

if (onnxruntime_USE_NUPHAR)
file(GLOB onnxruntime_python_nuphar_python_srcs CONFIGURE_DEPENDS
"${ONNXRUNTIME_ROOT}/core/providers/nuphar/scripts/*"
"${ONNXRUNTIME_ROOT}/core/providers/nuphar/scripts/*.*"
)
add_custom_command(
TARGET onnxruntime_pybind11_state POST_BUILD
Expand Down
2 changes: 1 addition & 1 deletion docs/Privacy.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,5 @@ Currently telemetry is only implemented for Windows builds, but may be expanded
#### Technical Details
The Windows provider uses the [TraceLogging](https://docs.microsoft.com/en-us/windows/win32/tracelogging/trace-logging-about) API for its implementation.

Windows ML and onnxruntime C APIs allow telemetry collection to be turned on/off (see API pages for details). It is turned off by default in all official builds.
Windows ML and onnxruntime C APIs allow telemetry collection to be turned on/off (see API pages for details). In all Official builds, the Windows ML API enables telemetry collection.
* [C API](./C_API.md#telemetry)
8 changes: 8 additions & 0 deletions onnxruntime/automl_ops/automl_featurizers.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

// Cumulative header with automl featurizers includes exposed to
// ORT
#pragma once

#include "core/automl/featurizers/src/FeaturizerPrep/Featurizers/DateTimeFeaturizer.h"
81 changes: 81 additions & 0 deletions onnxruntime/automl_ops/automl_types.cc
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

#include "core/common/common.h"
#include "core/framework/data_types.h"
#include "core/framework/op_kernel.h"
#include "core/session/automl_data_containers.h"

#include "automl_ops/automl_types.h"
#include "automl_ops/automl_featurizers.h"

namespace dtf = Microsoft::Featurizer::DateTimeFeaturizer;

namespace onnxruntime {

// This temporary to register custom types so ORT is aware of it
// although it still can not serialize such a type.
// These character arrays must be extern so the resulting instantiated template
// is globally unique

extern const char kMsAutoMLDomain[] = "com.microsoft.automl";
extern const char kTimepointName[] = "DateTimeFeaturizer_TimePoint";

// Specialize for our type so we can convert to external struct
//
template <>
struct NonTensorTypeConverter<dtf::TimePoint> {
static void FromContainer(MLDataType dtype, const void* data, size_t data_size, OrtValue& output) {
ORT_ENFORCE(sizeof(DateTimeFeaturizerTimePointData) == data_size, "Expecting an instance of ExternalTimePoint");
const DateTimeFeaturizerTimePointData* dc = reinterpret_cast<const DateTimeFeaturizerTimePointData*>(data);
std::unique_ptr<dtf::TimePoint> tp(new dtf::TimePoint);
tp->year = dc->year;
tp->month = dc->month;
tp->day = dc->day;
tp->hour = dc->hour;
tp->minute = dc->minute;
tp->second = dc->second;
tp->dayOfWeek = dc->dayOfWeek;
tp->dayOfYear = dc->dayOfYear;
tp->quarterOfYear = dc->quarterOfYear;
tp->weekOfMonth = dc->weekOfMonth;
output.Init(tp.get(),
dtype,
dtype->GetDeleteFunc());
tp.release();
}
static void ToContainer(const OrtValue& input, size_t data_size, void* data) {
ORT_ENFORCE(sizeof(DateTimeFeaturizerTimePointData) == data_size, "Expecting an instance of ExternalTimePoint");
DateTimeFeaturizerTimePointData* dc = reinterpret_cast<DateTimeFeaturizerTimePointData*>(data);
const dtf::TimePoint& tp = input.Get<dtf::TimePoint>();
dc->year = tp.year;
dc->month = tp.month;
dc->day = tp.day;
dc->hour = tp.hour;
dc->minute = tp.minute;
dc->second = tp.second;
dc->dayOfWeek = tp.dayOfWeek;
dc->dayOfYear = tp.dayOfYear;
dc->quarterOfYear = tp.quarterOfYear;
dc->weekOfMonth = tp.weekOfMonth;
}
};


// This has to be under onnxruntime to properly specialize a function template
ORT_REGISTER_OPAQUE_TYPE(dtf::TimePoint, kMsAutoMLDomain, kTimepointName);

namespace automl {

#define REGISTER_CUSTOM_PROTO(TYPE, reg_fn) \
{ \
MLDataType mltype = DataTypeImpl::GetType<TYPE>(); \
reg_fn(mltype); \
}

void RegisterAutoMLTypes(const std::function<void(MLDataType)>& reg_fn) {
REGISTER_CUSTOM_PROTO(dtf::TimePoint, reg_fn);
}
#undef REGISTER_CUSTOM_PROTO
} // namespace automl
} // namespace onnxruntime
13 changes: 13 additions & 0 deletions onnxruntime/automl_ops/automl_types.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

#pragma once

#include "core/framework/data_types.h"
#include <functional>

namespace onnxruntime {
namespace automl {
void RegisterAutoMLTypes(const std::function<void(MLDataType)>& reg_fn);
} // namespace automl
} // namespace onnxruntime
Loading