Bumps [jsonschema](https://github.com/python-jsonschema/jsonschema) from
4.17.0 to 4.22.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/python-jsonschema/jsonschema/releases">jsonschema's
releases</a>.</em></p>
<blockquote>
<h2>v4.22.0</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Improve <code>best_match</code> (and thereby error messages from
<code>jsonschema.validate</code>) in cases where there are multiple
<em>sibling</em> errors from applying <code>anyOf</code> /
<code>allOf</code> -- i.e. when multiple elements of a JSON array have
errors, we now do prefer showing errors from earlier elements rather
than simply showing an error for the full array (<a
href="https://redirect.github.com/python-jsonschema/jsonschema/issues/1250">#1250</a>).</li>
<li>(Micro-)optimize equality checks when comparing for JSON Schema
equality by first checking for object identity, as <code>==</code>
would.</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/shinnar"><code>@shinnar</code></a> made
their first contribution in <a
href="https://redirect.github.com/python-jsonschema/jsonschema/pull/1224">python-jsonschema/jsonschema#1224</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/python-jsonschema/jsonschema/compare/v4.21.1...v4.22.0">https://github.com/python-jsonschema/jsonschema/compare/v4.21.1...v4.22.0</a></p>
<h2>v4.21.1</h2>
<!-- raw HTML omitted -->
<ul>
<li>Slightly speed up the <code>contains</code> keyword by removing some
unnecessary validator (re-)creation.</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/python-jsonschema/jsonschema/compare/v4.21.0...v4.21.1">https://github.com/python-jsonschema/jsonschema/compare/v4.21.0...v4.21.1</a></p>
<h2>v4.21.0</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Fix the behavior of <code>enum</code> in the presence of
<code>0</code> or <code>1</code> to properly consider <code>True</code>
and <code>False</code> unequal (<a
href="https://redirect.github.com/python-jsonschema/jsonschema/issues/1208">#1208</a>).</li>
<li>Special case the error message for
<code>{min,max}{Items,Length,Properties}</code> when they're checking
for emptiness rather than true length.</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/otto-ifak"><code>@otto-ifak</code></a>
made their first contribution in <a
href="https://redirect.github.com/python-jsonschema/jsonschema/pull/1208">python-jsonschema/jsonschema#1208</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/python-jsonschema/jsonschema/compare/v4.20.0...v4.21.0">https://github.com/python-jsonschema/jsonschema/compare/v4.20.0...v4.21.0</a></p>
<h2>v4.20.0</h2>
<ul>
<li>Properly consider items (and properties) to be evaluated by
<code>unevaluatedItems</code> (resp. <code>unevaluatedProperties</code>)
when behind a <code>$dynamicRef</code> as specified by the 2020 and 2019
specifications.</li>
<li><code>jsonschema.exceptions.ErrorTree.__setitem__</code> is now
deprecated. More broadly, in general users of <code>jsonschema</code>
should never be mutating objects owned by the library.</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/python-jsonschema/jsonschema/compare/v4.19.2...v4.20.0">https://github.com/python-jsonschema/jsonschema/compare/v4.19.2...v4.20.0</a></p>
<h2>v4.19.2</h2>
<!-- raw HTML omitted -->
<ul>
<li>Fix the error message for additional items when used with
heterogeneous arrays.</li>
<li>Don't leak the <code>additionalItems</code> keyword into JSON Schema
draft 2020-12, where it was replaced by <code>items</code>.</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/python-jsonschema/jsonschema/compare/v4.19.1...v4.19.2">https://github.com/python-jsonschema/jsonschema/compare/v4.19.1...v4.19.2</a></p>
<h2>v4.19.1</h2>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst">jsonschema's
changelog</a>.</em></p>
<blockquote>
<h1>v4.22.0</h1>
<ul>
<li>Improve <code>best_match</code> (and thereby error messages from
<code>jsonschema.validate</code>) in cases where there are multiple
<em>sibling</em> errors from applying <code>anyOf</code> /
<code>allOf</code> -- i.e. when multiple elements of a JSON array have
errors, we now do prefer showing errors from earlier elements rather
than simply showing an error for the full array (<a
href="https://redirect.github.com/python-jsonschema/jsonschema/issues/1250">#1250</a>).</li>
<li>(Micro-)optimize equality checks when comparing for JSON Schema
equality by first checking for object identity, as <code>==</code>
would.</li>
</ul>
<h1>v4.21.1</h1>
<ul>
<li>Slightly speed up the <code>contains</code> keyword by removing some
unnecessary validator (re-)creation.</li>
</ul>
<h1>v4.21.0</h1>
<ul>
<li>Fix the behavior of <code>enum</code> in the presence of
<code>0</code> or <code>1</code> to properly consider <code>True</code>
and <code>False</code> unequal (<a
href="https://redirect.github.com/python-jsonschema/jsonschema/issues/1208">#1208</a>).</li>
<li>Special case the error message for
<code>{min,max}{Items,Length,Properties}</code> when they're checking
for emptiness rather than true length.</li>
</ul>
<h1>v4.20.0</h1>
<ul>
<li>Properly consider items (and properties) to be evaluated by
<code>unevaluatedItems</code> (resp. <code>unevaluatedProperties</code>)
when behind a <code>$dynamicRef</code> as specified by the 2020 and 2019
specifications.</li>
<li><code>jsonschema.exceptions.ErrorTree.__setitem__</code> is now
deprecated.
More broadly, in general users of <code>jsonschema</code> should never
be mutating objects owned by the library.</li>
</ul>
<h1>v4.19.2</h1>
<ul>
<li>Fix the error message for additional items when used with
heterogeneous arrays.</li>
<li>Don't leak the <code>additionalItems</code> keyword into JSON Schema
draft 2020-12, where it was replaced by <code>items</code>.</li>
</ul>
<h1>v4.19.1</h1>
<ul>
<li>Single label hostnames are now properly considered valid according
to the <code>hostname</code> format.
This is the behavior specified by the relevant RFC (1123).
IDN hostname behavior was already correct.</li>
</ul>
<h1>v4.19.0</h1>
<ul>
<li>Importing the <code>Validator</code> protocol directly from the
package root is deprecated.
Import it from <code>jsonschema.protocols.Validator</code> instead.</li>
<li>Automatic retrieval of remote references (which is still deprecated)
now properly succeeds even if the retrieved resource does not declare
which version of JSON Schema it uses.
Such resources are assumed to be 2020-12 schemas.
This more closely matches the pre-referencing library behavior.</li>
</ul>
<h1>v4.18.6</h1>
<ul>
<li>Set a <code>jsonschema</code> specific user agent when automatically
retrieving remote references (which is deprecated).</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="9882dbeb1a"><code>9882dbe</code></a>
Add / ignore the new specification test suite property.</li>
<li><a
href="ebc90bb2df"><code>ebc90bb</code></a>
Merge commit '8fcfc3a674a7188a4fcc822b7a91efb3e0422a20'</li>
<li><a
href="8fcfc3a674"><code>8fcfc3a</code></a>
Squashed 'json/' changes from b41167c74..54f3784a8</li>
<li><a
href="30b7537944"><code>30b7537</code></a>
Pin pyenchant to pre from below until <a
href="https://redirect.github.com/pyenchant/pyenchant/issues/302">pyenchant/pyenchant#302</a>
is released.</li>
<li><a
href="c3729db732"><code>c3729db</code></a>
Enable doctests for the rest of the referencing page.</li>
<li><a
href="70a994ceab"><code>70a994c</code></a>
Remove a now-unneeded noqa since apparently this is fixed in new
ruff.</li>
<li><a
href="e6d0ef1cff"><code>e6d0ef1</code></a>
Fix a minor typo in the referencing example docs.</li>
<li><a
href="bceaf41a7d"><code>bceaf41</code></a>
Another placeholder benchmark for future optimization.</li>
<li><a
href="b20234e86c"><code>b20234e</code></a>
Consider errors from earlier indices (in instances) to be better
matches</li>
<li><a
href="41b49c68e5"><code>41b49c6</code></a>
Minor improvement to test failure message when a best match test
fails.</li>
<li>Additional commits viewable in <a
href="https://github.com/python-jsonschema/jsonschema/compare/v4.17.0...v4.22.0">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
**Details:** Fix h5py issue in GHA test jobs: `error: libhdf5.so: cannot
open shared object file: No such file or directory`
**Ticket:** TBD
---------
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
### Details:
`CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION` is supposed to be set by
CMake when Windows SDK is installed in the system, but it works only for
Visual Studio generators. As we use Ninja, we set this variable
manually, trying to mimic the default behavior.
**Details:** It should improve conversion time and make conversion more
robust to source changes.
**Ticket:** TBD
---------
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
### Details:
- By combining move and execute into single function, so
isExecutable() check is performed only once
- It turned out isExecutable() check is not that lightweight. For some
models it adds noticeable (about 5%+) latency overhead. So, the solution
is to group 'execute' and 'toNumaNode' into a single function and
perform the check only once.
- fixes overhead introduced by another fix:
https://github.com/openvinotoolkit/openvino/pull/23849
### Tickets:
- 138220
### Details:
Ported SDPA to PagedAttention transformation from python to C++ code.
the related PRs:
https://github.com/openvinotoolkit/openvino/pull/24127https://github.com/openvinotoolkit/openvino/pull/24177
Tested model scope:
- [x] "hf-internal-testing/tiny-random-BloomForCausalLM",
- [x] "hf-internal-testing/tiny-random-FalconForCausalLM",
- [x] "hf-internal-testing/tiny-random-Starcoder2ForCausalLM",
- [x] "hf-internal-testing/tiny-random-GPTJForCausalLM",
- [x] "hf-internal-testing/tiny-random-StableLmForCausalLM",
- [x] "hf-internal-testing/tiny-random-LlamaForCausalLM",
- [x] "hf-internal-testing/tiny-random-MistralForCausalLM",
- [x] "hf-internal-testing/tiny-random-OPTForCausalLM",
- [x] "hf-internal-testing/tiny-random-PhiForCausalLM",
- [x] "hf-internal-testing/tiny-random-StableLmForCausalLM",
- [x] "facebook/opt-125m",
- [x] "llama2",
- [x] "bigcode/starcoder2-7b"
- [ ] "mosaicml/mpt-7b-chat" (FAILED both py/c++) - acceptable for this
PR
Issue: RuntimeError: Check '(axis_range_min <= axis) && (axis <=
axis_range_max)' failed at src/core/src/validation_util.cpp:386:
Concat Parameter axis 2 out of the tensor rank range [0, 0].
- [x] _means, that the response to the dedicated prompt is the same for
the py and c++ transformations._
### Tickets:
- *CVS-138664*
---------
Co-authored-by: Sergey Lyalin <sergey.lyalin@intel.com>
Co-authored-by: Andrii Staikov <andrii.staikov@intel.com>
### Details:
- *Calls to external binary kernels (e.g. Brgemm) are normally backed-in
on the code emission stage*
- *Here we create a mechanism that allows to substitute external kernels
in runtime after the code emission stage.*
- *This is a prerequisite for dynamic MHA, since it allows to recompile
required Brgemm blocks in runtime*
### Tickets:
- *123273*
### Details:
- adding new struct for PCI information (aligned with GPU)
- adding new property to query PCI information (as a RO metric)
- implement query of pci information from driver in zero_device, with
backwards compatibility
### Tickets:
[ - *ticket-id*](https://jira.devtools.intel.com/browse/CVS-138767)
### Details:
- We found a performance issue when multiple `gemm_tiled_opt` kernels
are built as a single program.
- This PR adds a WA to lower the kernel batch size to four in the case
of dynamic models.
### Details:
- *MVN with rank size 3 always requires Reorder and Reshape. Due to this
pattern, too many Reorder may occur when used with Convolution, which
may performance degradation. It stand out in Stable-Diffusion Unet and
Decoder*
- *Convolution performance itself also has the gain in MTL.*
### Tickets:
- *137360*
---------
Signed-off-by: hyunback <hyunback.kim@intel.com>
### Details:
- The first requirement from the attached ticket: "Move call of
transformations to CompiledModel constructor. Since the CompiledModel
constructor requires input and output ports, such ports should be passed
before transformations are called, otherwise we can have issues when
transformation mistakenly changed names of tensors and we have issues
like https://jira.devtools.intel.com/browse/CVS-122932"
- Moving the compilation step inside the `intel_npu::CompiledModel`
constructor led to the divergence of the function signature required by
the two methods calling the constructor:
[`intel_npu::Plugin::compile_model`](60dec94dc4/src/plugins/intel_npu/src/plugin/src/plugin.cpp (L510-L516))
and
[`intel_npu::Plugin::import_model`](60dec94dc4/src/plugins/intel_npu/src/plugin/src/plugin.cpp (L582-L588)).
Thus, the current PR introduces an additional constructor.
### Tickets:
- *CVS-132132*
### Extra Validation:
- PR-10217, NPU plugin repository
### Details:
- *It adds support for handling batching on the plugin side only for
integrated platforms*
- *Handling batching by plugin means splitting batch size on the NPU
plugin side and using concurrent inferences for each size*
- *With this PR batching on the plugin is supported only when it is
found on the 0-th dimension and stateful models are also not supported
with batching on plugin*
- *BATCH_MODE is an internal property, we can choose which in which mode
we prefer to handle the batching. If AUTO is set it will try to handle
it on the plugin side but will fallback on the compiler if it doesn't
meet all the conditions for plugin batching. In the case of PLUGIN, it
will try to compile the networks(find batch and force it to 1 for the
compiler) for plugin batching. Otherwise, if COMPILER batching is used
it will work as until now. No other changes*
Diagram of the process flow:

### Tickets:
- *[E#103116]*
Updates the requirements on
[flake8-builtins](https://github.com/gforcada/flake8-builtins) to permit
the latest version.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/gforcada/flake8-builtins/blob/main/CHANGES.rst">flake8-builtins's
changelog</a>.</em></p>
<blockquote>
<h2>2.5.0 (2024-04-09)</h2>
<ul>
<li>Support detecting a shadowing folder as module name (as part of
<code>A005</code>).
[asfaltboy]</li>
</ul>
<h2>2.4.0 (2024-04-01)</h2>
<ul>
<li>Add rule for lambda argument shadowing (<code>A006</code>).
[cielavenir]</li>
</ul>
<h2>2.3.0 (2024-03-29)</h2>
<ul>
<li>Add rule for builtin module name shadowing (<code>A005</code>).
[asfaltboy]</li>
</ul>
<h2>2.2.0 (2023-11-03)</h2>
<ul>
<li>Use <code>tox</code> and <code>pre-commit</code> to ease project
maintenance.
[gforcada]</li>
</ul>
<h2>2.2.0a0 (2023-11-01)</h2>
<ul>
<li>
<p>Drop python 3.7 support.
[gforcada]</p>
</li>
<li>
<p>Test pre-release of python 3.12.
[gforcada]</p>
</li>
<li>
<p>Use <code>pyproject.toml</code> rather than <code>setup.py</code>.
[gforcada]</p>
</li>
<li>
<p>Switch from <code>setuptools</code> to <code>hatchling</code>.
[gforcada]</p>
</li>
<li>
<p>Add rule for import shadowing (<code>A004</code>).
[felixvd]</p>
</li>
<li>
<p>Switch to <code>main</code> branch.
[gforcada]</p>
</li>
</ul>
<h2>2.1.0 (2022-12-23)</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ab45f4d565"><code>ab45f4d</code></a>
Preparing release 2.5.0</li>
<li><a
href="3890afbd5e"><code>3890afb</code></a>
Merge pull request <a
href="https://redirect.github.com/gforcada/flake8-builtins/issues/125">#125</a>
from asfaltboy/ps/import-a005-module-dir</li>
<li><a
href="b46b4d7b80"><code>b46b4d7</code></a>
chore: add change note for shadow dir module</li>
<li><a
href="74588e17d8"><code>74588e1</code></a>
feat(A005): support detecting a shadowing folder</li>
<li><a
href="5b6dbffe32"><code>5b6dbff</code></a>
Back to development: 2.4.1</li>
<li><a
href="90cd95b0db"><code>90cd95b</code></a>
Preparing release 2.4.0</li>
<li><a
href="19e04fab10"><code>19e04fa</code></a>
fix: revert release date</li>
<li><a
href="7793730ebf"><code>7793730</code></a>
chore: black</li>
<li><a
href="116ce7b766"><code>116ce7b</code></a>
Merge pull request <a
href="https://redirect.github.com/gforcada/flake8-builtins/issues/123">#123</a>
from cielavenir/raiseA002ForLambda</li>
<li><a
href="8702675502"><code>8702675</code></a>
update changes</li>
<li>Additional commits viewable in <a
href="https://github.com/gforcada/flake8-builtins/compare/0.1...2.5.0">compare
view</a></li>
</ul>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@ilya-lavrenov
Thank you very much for your patience and support.
It took a while to complete the official publication in the science
repository of the openSUSE Tumbleweed distribution.
The result is gratifying, as it was a lot of work to make Intel and
openSUSE technical policies compatible (it took 3 months of work).
Evidence:
Upcoming tasks
- Add 15.4. 15.5 and 15.6 (This will be faster)
- Add to default repository in progress.
https://build.opensuse.org/request/show/1168442https://software.opensuse.org/package/openvinohttps://software.opensuse.org/download/package?package=openvino&project=science
---------
Co-authored-by: Sebastian Golebiewski <sebastianx.golebiewski@intel.com>
The commit eb025fad1e breaks the build
when `CXXFLAGS` or `CFLAGS` have a specific `-Werror` flag.
For example, when `CXXFLAGS` have `-Werror=format-security`, the build
fails with this message:
```
c++: warning: =format-security: linker input file unused because linking not done
c++: error: =format-security: linker input file not found: No such file or directory
```
That's because every occurrence of the `-Werror` string is being
replaced in the original `CXXFLAGS` and `CFLAGS` variables. So, if they
contain `-Werror=<something>`, it will become just `=<something>`, which
will be an unrecognized option.
The current commit fixes this by appending `-Wno-error` to `CXXFLAGS`
and `CFLAGS` to properly disable errors on warnings.