Skip to content
This repository was archived by the owner on Jan 3, 2023. It is now read-only.

Commit 0995b71

Browse files
authored
Cyphers/master to r20 (#2978)
* nbench special handle op name for "NNP_XXX" (#2883) * remove throw from dtor (#2854) * add special handle for the 'NNP_xx' op name * style * add special handle for the 'NNP_xx' op name * style * use description as suggest by bob * Remove parent from PlaidML tensor initializer (#2923) * Remove parent from PlaidML tensor initializer * Remove plaidml tensor parent plumbing * style * Add support for move semantics to AlignedBuffer (#2956) * Add move operations to AlignedBuffer * unit test * Create mkldnn primitives at first iteration for codegen - part2 (#2859) * Create mkldnn primitives at first iteration for CODEGEN. OPs: add, lstm, and rnn. * OPs: batchnorm. * OPs: concat and lrn. Remove dead code. * Skip in place concat, relu, reshape, and slice when building node_primitive_string_deps_index map. * Change NGRAPH_ASSERT to NGRAPH_CHECK. * Address PR Feedback. * Create mkldnn primitives at first iteration for CODEGEN. OPs: convertlayout, relu, leakyrelu, boundedrelu, sigmoid, softmax, slice. * Fix bugs. * OPs: quantizedconcat. Check if there are descriptors before emitting code to read desc_file. * OPs: convolution backward. Use macro to write mkldnn memory dims to generated file. * OPs: MaxPoolWithIndices and MaxPoolWithIndicesBackprop. Add unit tests for MaxPoolWithIndices, MaxPoolWithIndicesBackprop, and MaxPoolBackprop. * Fix style error. * OPs: AvgPoolBackprop and MaxPoolBackprop. Add unit test for AvgPoolBackprop. * OPs: DeconvolutionBias. * OPs: Quantize and Dequantize. * OPs: QuantizedDot and QuantizedDotBias. * Use reference kernel for QuantizedConvolution for CODEGEN when mkldnn does not support the parameter types. Get scales for quantization ops in cpu_emitter. * Fix Windows build error: add CPU_BACKEND_API. * Use template for quantization ops. * OPs: QuantizedMatmul. Emit referece kernel for QuantizedDot in CODEGEN. * Remove QuantizedDot from get_scale_index. * Address PR feedback. * [FusedOps] Split (#2951) * Split op skeleton * Two ways to construct a fused Split to be able to use it in onnx importer * refactor: move the util::split() helper functions to the core * Split's decompose_op() implementation using a helper function * Use fused Split in the onnx_importer * Code formatting * PR feedback * Split helpers moved to ngraph/builder * Basic UT - split a 1D tensor to 3 equal parts * UT: Split 2D tensor into variable length parts * Code formatting * Catch the proper type of exception in the onnx_importer split() * Initialize members in the correct order * Type prop tests for Split * Code formatting * PR feedback * Add more infrastructure for specialization of cloned graphs (#2949) * Virtualize some things that crash when layout descriptor is missing * More shape specialization * (very bare) skeleton for dyn elimination * Miscellaneous * Lift i32->int64-only restriction on constant folding for Convert * Add constant folding for ShapeOf, and some tests for new constant folders * Tests for DynElimination * Rename specialize_shapes to specialize_function, and add a unit test for value substitution * Roll back overeager API change in dyn slice bprop (it has to handle right-indexed axes; bummer) * Add a test for dynamic usage of transpose op * Fix warning/error about variable shadowing * Strengthen checks in apply_permutation * Propagate Constant shapes through Transpose * Add CHANGE_DYNAMIC_STATE where appropriate * PR feedback, and fix unit test failure * Fix PR reference in comment * PR comments * Comments for helper funcs * Remove unique_ptr indirection for the AlignedBuffers * Fix incorrect indexing of AlignedBuffer vector (whoops\!) * Remove unnecessary CHANGE_DYAMIC_STATEs * De-update pass property unit test for const folding * Replace mystery runes with all_pass_property_off * Change FusionType to enum class and use EnumMask (#2957) * constexpr ctor for EnumMask * added pass properties to core passes. * change fusion type to have better type safety. * refactor to use enum mask. * remove extra code. * added constants for FusionType backward compatibility. * spelling. * grammar fix. * update visualize tree file extenstions and output formats (#2954) * update visualize tree file extenstions and output formats * fix runtime error * Update version, clean up ToC, add more detail to section on inspectin… (#2947) * Update version, clean up ToC, add more detail to section on inspecting graphs... * Minor adjustments to version module * Move distributed training page to extras since there's not much there * Fix links that break when doing that * Consistent casing on section titles * Orphan governance page so we don't have blank/empty links * Update release notes with new version module structure * PR feedback * Allow NGRAPH_VISUALIZE_TREE_OUTPUT_SHAPES to output partial shapes (#2959) * Remove functions from cpu which were moved to core (#2962) * Remove functions from cpu which were moved to core * Fix a typo * Remove unused function * Move zero padded conv fusions from CPUFusion to CoreFusion. (#2969) * Move zero padded conv fusions from CPUFusion to CoreFusion. * Address PR feedback: move unit tests to core_fusion. * Fix Convert for boolean output type in CODEGEN. (#2958) * Create tensor for the primary backend (#2970) * create tensor for the primary backend * move private objects to protected * [Fused] LeakyRelu op (#2919) * [Fused] LeakyRelu op * Add LeakyRelu to serializer * Add unit tests * Fix merge branch 'master' into mkarzyns/fused_leaky_relu * Change broadcasting rules to NumPy style * Remove std:: and ngraph:: prefixes * Rename CPU Runtime LeakyRelu to CPULeakyRelu * Style apply * Fix cpu_fusion.fuse_leaky_relu test * Use eigen's tanh in the fused sigmoid multiply kernel (#2946) * Merge branch 'master' into mkarzyns/fused_leaky_relu * Add LeakyRelu to Intel GPU backend op list * Add LeakyRelu to Intel GPU backend op list * Make private members protected in hybrid classes (#2975) * make private members protected in hybrid classes * allow overriding the passes * [ONNX] Unit tests for QLinearMatMul (#2706) * [ONNX] Unit test models for QLinearMatMul * [ONNX] Extended types support for NgraphTestCase * [ONNX] Move the value comparators to the NgraphTestCase class * Add test cases * Add shape checking * disable GPU tests * IntelGPU backend: Switch to clDNN which is compatible with gcc4.8 (#2961) * Added accessor methods for layer op attributes (#2964) * Added accessor methods for layer op attributes * style fixes and addressed PR feedback * Add save/load API to runtime (#2955) * API defined * add unit test for save/load with INTERPRETER * Update per review comments * fix compiler error * Backport fix from #2973 (#2976) * CTCGreedyDecoder layer op (#2965) * Added CTCGreedyDecoder layer op * Added comment on seq_len validation checks * Switch some get_inputs uses to use the newer inputs (#2968) * Switch some get_inputs uses to use the newer inputs * Review comments * update a few files to build on windows (#2974) * update a few files to build on windows * more fixes
1 parent 4751846 commit 0995b71

File tree

138 files changed

+5495
-3188
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

138 files changed

+5495
-3188
lines changed

changes.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
## Passes
44
* `LikeReplacement` pass must be run by all transformers.
5+
* `ngraph::pass::FusionType` is now an enum class. Constant values defined by `FusionType` are created for backward compatibility and will be removed in future releases.
56

67
## Nodes, Parameters
78

doc/sphinx/conf.py

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,11 @@
7373
# built documents.
7474
#
7575
# The short X.Y version.
76-
version = '0.19'
76+
version = '0.20'
7777

7878
# The Documentation full version, including alpha/beta/rc tags. Some features
7979
# available in the latest code will not necessarily be documented first
80-
release = 'rc4'
80+
release = '0.20.0'
8181

8282
# The language for content autogenerated by Sphinx. Refer to documentation
8383
# for a list of supported languages.
@@ -121,23 +121,20 @@
121121

122122
# borrow this from the zephyr docs theme
123123
html_context = {
124-
# 'show_license': html_show_license, we have a custom footer to attribute WTD and Sphinx contributors
125-
# so we do not enable this
124+
# 'show_license': html_show_license, we have a custom footer to attribute
125+
# RTD, WTD, and Sphinx contributors; so we do not enable this
126126
'docs_title': docs_title,
127127
'is_release': is_release,
128128
'theme_logo_only': False,
129129
'current_version': version,
130-
'versions': ( ("latest", "/"),
131-
("0.19.0", "/0.19.0/"),
130+
'versions': ( ("latest", "../"),
131+
("0.19.0", "/0.19.0/"), #not yet sure how we'll do this
132132
("0.18.0", "/0.18.0/"),
133133
("0.17.0", "/0.17.0/"),
134134
("0.16.0", "/0.16.0/"),
135-
("0.15.0", "/0.15.0/"),
136135
)
137136
}
138137

139-
140-
141138
html_logo = '../ngraph_theme/static/favicon.ico'
142139

143140
# The name of an image file (within the static path) to use as favicon of the
@@ -165,6 +162,25 @@
165162
}
166163

167164

165+
# Custom added feature to allow redirecting old URLs
166+
#
167+
# list of tuples (old_url, new_url) for pages to redirect
168+
# (URLs should be relative to document root, only)
169+
html_redirect_pages = [
170+
('backends', 'backend-support/index'),
171+
('core/core', 'core/overview.rst'),
172+
('core/fusion', 'core/fusion/index'),
173+
('frameworks/mxnet', 'frameworks/mxnet_intg.rst'),
174+
('frameworks/onnx', 'frameworks/onnx_intg.rst'),
175+
('frameworks/tensorflow', 'frameworks/tensorflow_connect.rst'),
176+
('frameworks/paddle', 'frameworks/paddle_integ.rst'),
177+
('inspection/inspection', 'inspection/index'),
178+
('releases/release-notes', 'releases/index'),
179+
# ('getting_started/getting_starting', 'getting_started/index'),
180+
('project/project', 'project/index'),
181+
('python_api/', 'python_api/index'),
182+
]
183+
168184
# -- Options for HTMLHelp output ------------------------------------------
169185

170186
# Output file base name for HTML help builder.
@@ -227,7 +243,6 @@
227243
.. |codename| replace:: Intel nGraph
228244
.. |project| replace:: Intel nGraph Library
229245
.. |InG| replace:: Intel® nGraph
230-
.. |nGl| replace:: nGraph library
231246
.. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN
232247
:ltrim:
233248
.. |deg| unicode:: U+000B0 .. DEGREE SIGN
@@ -239,7 +254,7 @@
239254
.. |trade| unicode:: U+02122 .. TRADEMARK SIGN
240255
:ltrim:
241256
.. |reg| unicode:: U+000AE .. REGISTERED TRADEMARK SIGN
242-
:ltrim:
257+
:ltrim:
243258
244259
"""
245260

doc/sphinx/ngraph_theme/ngversions.html

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
22
<span class="rst-current-version" data-toggle="rst-current-version">
33
<span class="docvs">nGraph Compiler stack</span>
4-
v: {{ version }} <dd><a href="../docs/latest">{{release}}</a></dd>
5-
<span class="fa fa-caret-down"></span>
4+
v: {{ version }}
5+
<span class=""></span>
66
</span>
77
<div class="rst-other-versions">
88
<dl>
99
<dt>{{ _('Previous Verified Versions') }}</dt>
1010
<dd><!-- Until our https://docs.ngraph.ai/ publishing is set up, we link to GitHub -->
1111
<ul>
12-
<li><a href="https://github.com/NervanaSystems/ngraph/releases/tag/v0.18.1">0.18</a></li>
12+
<li><a href="https://github.com/NervanaSystems/ngraph/releases/tag/v0.19.0-rc.2">0.19.0-rc.2</a></li>
13+
<li><a href="https://github.com/NervanaSystems/ngraph/releases/tag/v0.18.1">0.18.1</a></li>
1314
<li><a href="https://github.com/NervanaSystems/ngraph/releases/tag/v0.17.0-rc.1">0.17.0-rc.1</a></li>
1415
<li><a href="https://github.com/NervanaSystems/ngraph/releases/tag/v0.16.0-rc.3">0.16.0-rc.3</a></li>
1516
<li><a href="https://github.com/NervanaSystems/ngraph/releases/tag/v0.16.0-rc.2">0.16.0-rc.2</a></li>

doc/sphinx/source/buildlb.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ packages and prerequisites:
2323
:widths: 25, 15, 25, 20, 25
2424
:escape: ~
2525

26-
CentOS 7.4 64-bit, GCC 4.8, CMake 3.5.0, supported, ``wget zlib-devel ncurses-libs ncurses-devel patch diffutils gcc-c++ make git perl-Data-Dumper``
26+
CentOS 7.4 64-bit, GCC 4.8, CMake 3.9.0, supported, ``wget zlib-devel ncurses-libs ncurses-devel patch diffutils gcc-c++ make git perl-Data-Dumper``
2727
Ubuntu 16.04 or 18.04 (LTS) 64-bit, Clang 3.9, CMake 3.5.1 + GNU Make, supported, ``build-essential cmake clang-3.9 clang-format-3.9 git curl zlib1g zlib1g-dev libtinfo-dev unzip autoconf automake libtool``
2828
Clear Linux\* OS for Intel® Architecture version 28880, Clang 8.0, CMake 3.14.2, experimental, bundles ``machine-learning-basic c-basic python-basic python-basic-dev dev-utils``
2929

@@ -58,7 +58,7 @@ the ``CMakeLists.txt`` file for other experimental options' details:
5858
-- NGRAPH_NOP_ENABLE: ON
5959
-- NGRAPH_GPUH_ENABLE: OFF
6060
-- NGRAPH_GENERIC_CPU_ENABLE: OFF
61-
-- NGRAPH_DEBUG_ENABLE: OFF
61+
-- NGRAPH_DEBUG_ENABLE: OFF # Set to "ON" to enable logging
6262
-- NGRAPH_ONNX_IMPORT_ENABLE: OFF
6363
-- NGRAPH_DEX_ONLY: OFF
6464
-- NGRAPH_CODE_COVERAGE_ENABLE: OFF

doc/sphinx/source/conf.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,11 @@
7373
# built documents.
7474
#
7575
# The short X.Y version.
76-
version = '0.19'
76+
version = '0.20'
7777

7878
# The Documentation full version, including alpha/beta/rc tags. Some features
7979
# available in the latest code will not necessarily be documented first
80-
release = '0.19.0'
80+
release = '0.20.0'
8181

8282
# The language for content autogenerated by Sphinx. Refer to documentation
8383
# for a list of supported languages.

doc/sphinx/source/core/constructing-graphs/import.rst

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,7 @@ usually named ``<some_model>.onnx`` or ``<some_model>.onnx.pb``. These
2626
an ``.onnx.pb`` formatted file, you should be able to run the inference without
2727
needing to dig into anything from the "Frameworks" sections. You will, however,
2828
need to have completed the steps outlined in our :doc:`../../buildlb` guide.
29-
If you intend to build nGraph for distributed-training, you will need
30-
to follow instructions on the documentation for :doc:`../../distr/index`.
29+
3130

3231
To demonstrate functionality, we'll use an already-serialized CIFAR10 model
3332
trained via ResNet20. Remember that this model has already been trained and

doc/sphinx/source/distr/index.rst

Lines changed: 0 additions & 55 deletions
This file was deleted.

doc/sphinx/source/index.rst

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -72,34 +72,20 @@ boost compared to native implementations. For a high-level overview, see the
7272
backend-support/cpp-api.rst
7373

7474

75-
.. toctree::
76-
:maxdepth: 1
77-
:caption: Distributed Training
78-
79-
distr/index.rst
80-
81-
8275
.. toctree::
8376
:maxdepth: 1
8477
:caption: Inspecting Graphs
8578

8679
inspection/index.rst
8780

88-
.. toctree::
89-
:maxdepth: 1
90-
:caption: Tutorials
91-
92-
tutorials/index.rst
93-
9481

9582
.. toctree::
9683
:maxdepth: 1
9784
:caption: Project Metadata
9885

99-
project/introduction.rst
10086
project/release-notes.rst
87+
project/introduction.rst
10188
project/contribution-guide.rst
102-
project/governance.rst
10389
project/doc-contributor-README.rst
10490
project/index.rst
10591
project/extras.rst

doc/sphinx/source/inspection/index.rst

Lines changed: 27 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,30 @@
33
Visualization Tools
44
###################
55

6-
nGraph provides serialization and deserialization facilities along with the
7-
ability to create image formats. When visualization is enabled, a ``dot`` file
8-
is generated, along with a ``png``. The default can be adjusted by setting the
6+
nGraph provides serialization and deserialization facilities, along with the
7+
ability to create image formats or a PDF.
8+
9+
When visualization is enabled, a ``dot`` file gets generated, along with a
10+
``png``. The default can be adjusted by setting the
911
``NGRAPH_VISUALIZE_TREE_OUTPUT_FORMAT`` flag to another format, like PDF.
1012

11-
Note: Large graphs are usually not legible with formats like PDF.
13+
.. note:: Large graphs are usually not legible with formats like PDF.
14+
15+
Large graphs may require additional work to get into a human-readable format.
16+
On the back end, very long edges will need to be cut to make (for example) a
17+
hard-to-render training graph tractable. This can be a tedious process, so
18+
incorporating the help of a rendering engine or third-party tool like those
19+
listed below may be useful.
20+
1221

13-
Large graphs may require additional work to get into a human-readable format. We
14-
have provided a script to convert the `most common default output`_, nGraph JSON,
15-
to an output that is better able to handle detailed graphs; however, we do not
16-
offer user support for this script. After running the script, you should have a
17-
``.graphml`` that can be imported and inspected with third-party tools like:
22+
.. Additional scripts
23+
.. ==================
24+
25+
.. We have provided a script to convert the `most common default output`_, nGraph
26+
.. ``JSON``, to an output that is better able to handle detailed graphs; however,
27+
.. we do not offer user support for this script. The script will produce a
28+
.. ``.graphml`` file that can be imported and inspected with third-party tools
29+
.. like:
1830
1931
#. `Gephi`_
2032

@@ -23,9 +35,9 @@ offer user support for this script. After running the script, you should have a
2335
.. #. `Netron`_ support tentatively planned to come soon
2436
2537
26-
.. _CMakeLists.txt: https://github.com/NervanaSystems/ngraph/blob/master/CMakeLists.txt
27-
.. _most common default output: https://github.com/NervanaSystems/ngraph/contrib/tools/graphml/ngraph_json_to_graphml.py
28-
.. _Netron: https://github.com/lutzroeder/netron/blob/master/README.md
29-
.. _Gephi: https://gephi.org
30-
.. _Cytoscape: https://cytoscape.org
31-
38+
.. _CMakeLists.txt: https:github.com/NervanaSystems/ngraph/blob/master/CMakeLists.txt
39+
.. _most common default output: https:github.com/NervanaSystems/ngraph/contrib/tools/graphml/ngraph_json_to_graphml.py
40+
.. _visualize_tree.cpp: https://github.com/NervanaSystems/ngraph/blob/master/src/ngraph/pass/visualize_tree.cpp
41+
.. _Netron: https:github.com/lutzroeder/netron/blob/master/README.md
42+
.. _Gephi: https:gephi.org
43+
.. _Cytoscape: https:cytoscape.org

doc/sphinx/source/project/contribution-guide.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
.. contribution-guide:
22
33
##################
4-
Contribution Guide
4+
Contribution guide
55
##################
66

77
License

0 commit comments

Comments
 (0)