### 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:
GNU compiler doesn't support
`-fsanitize-blacklist=${OpenVINO_SOURCE_DIR}/tests/asan/ignore.txt` and
doesn't require `-shared-libasan` flags. In this PR configurations for
the ASAN build for Clang and GCC are split.
### Details:
- Introduce new low precision types `u2`, `u3`, `u6`.
- Introduce `ov::element::Iterator` for low precision types like `u1,
u2, u3, u4, i4, u6`:
- Gives pointer like access to low precision values in Tensor,
containers etc.
- Can be used by STL algorithms to access data in unified algorithms for
data manipulation.
- Can be used in Constant, Convert operators to replace duplicate
implementations for accessing low precision data (bin-size reduction).
- Can be used for operator reference implementation or plugin if there
is no hardware specific solution.
### Tickets:
- [CVS-126998](https://jira.devtools.intel.com/browse/CVS-126998)
- Part of
[CVS-128024](https://jira.devtools.intel.com/browse/CVS-128024)
### Details:
- Enabled LTO for Linux ARM64, because now we use more fresh compiler
version from Ubuntu 20.04, while older ones have issues with LTO on
arm64
New PR due to merge
conflicts(https://github.com/openvinotoolkit/openvino/pull/22917)
Updated the copyright year from 2018-2023 to 2018-2024 in all openvino
files
Ref. to script: CVS-101144
Command used:
```bash
git grep -lz '2018-2023 Intel Corporation' | xargs -0 sed -i '' -e 's/2018-2023 Intel Corporation/2018-2024 Intel Corporation/g'
```
### Details:
Make ov_add_version_defines macro respect the original library type
(instead of implicit assumption based on BUILD_SHARED_LIBS).
Note adding objects into a library with $<TARGET_OBJECTS:> does not work
when mixing STATIC and OBJECT targets.
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
* [CPU]BF16 MultiQuery Init Support
* [CPU]SKIP test if there is no amx
* [CPU]Fix bug with avx512_bf16
* [CPU]fix throw macro
* [CPU]Fix name typos
* [CPU]Fix unit test compilation
* [CPU]Skip bf16 sdpa test when platform doesn't support bf16
* [CPU]Derive attn_mask precision from template T
* [CPU]brgemm's multi-query only supports BF16
* [CPU]apply review comments
* [CPU]fix brgemm unit test.
* [CPU]Move brgemm kernel under x64
* [CPU]SDPA enables bf16 only when platform supports
* FP8 element types init
* Remove redundant union
* Replace using ov
* Update fundamental types
* Update class name check
* Update tests
* Remove redundant sign
* Expose f8 types in Python
* Add to py to dtype map
* Style alignment
* Align python style
* Update test values
* Remove constexpr from_bits to fix warning
* Add trivially construcitble asserts and common constrexpr
* Align python tests opset
* Update f8e4m3 <-> float conversion
* f8e5m2 class update
* Add f8e5m2 unit test
* Add to string conversion tests
* Rename class f8e4m3 -> float8_e4m3
* Rename f8e5m2 -> float8_e5m2
* Remove size() and to_string from float8
- size() can be replaced by compile time sizeof
- to_string can be replaced by std::to_string()
* float8 E5M2 remove unused constexpr value
* Fix union initialization and ncc style rules
* Fix test issues
* Use NaN from std::numeric_limits instead macro
- minor refactor of float8_e4m3
* Update nf4 usage in element_type.cpp
* Sync openvino.style with master
* Update f8e5m2 test
---------
Co-authored-by: Raasz, Pawel <pawel.raasz@intel.com>
* add js api to linux
* try inside the ov repo
* use rel path
* use a separate job for js api
* correct command formatting
* add missing var
* use spacing
* mv js building
* add node installing
* add to windows
* check pwsh and cmd running npm
* add smart CI conditions; disable for win
* use node version as env var
* extract js job into a separate workflow, add to other *nix
* fix input name
* Activate js bindings tests for arm64
* upload ov js package
* correct formatting
* add missing syntax
---------
Co-authored-by: Vishniakov Nikolai <nikolai.vishniakov@intel.com>
* [Core] Support String Tensors
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Add String Constant implementation
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Fix build issue in tests
* Add cast_vector for Constant of ov::string type
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Fix build issue
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Fix build issue: ambiguous type in GNA
* Fix ambiguous build issue in GNA tests
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Fix code-style
* Fix code-style
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Fix ambiguous build issue in GNA tests
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Fix ambiguous build issue in TF FE tests
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Update openvino.style for naming convention check
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Fix compilation error in core unit tests - need typename
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Add test for new element_type
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Fix code-style
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Update src/inference/src/dev/make_tensor.cpp
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
* Add support of string Tensors for Constant
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Fix copying string tensor value for Constant
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Complete template methods for Constant
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Improve performance for initialization and destruction of string Tensor for set_shape
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Add check for string value in test
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Remove unused variable
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Update src/inference/src/dev/make_tensor.cpp
* Fix copy_to for ITensor of string type and add tests
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Add tests for Constant of string type and serialization
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Use memset_allocation to switch initialization
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Add additional documentation for host_ptr
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Update src/core/src/op/constant.cpp
* Use OPENVINO_THROW
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Update src/core/include/openvino/op/constant.hpp
* Update src/core/include/openvino/op/constant.hpp
Co-authored-by: Pawel Raasz <pawel.raasz@intel.com>
* Apply code-review feedback: use string_size
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Apply code-review feedback
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Recover evaluate impl for non-string type
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Fix code for creating of string constant for legacy non HostTensor tensor
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Fix build issue
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Apply code-review feedback: simplify copy_to method
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Fix build issue
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Use StringAlignedBuffer to store string Constant values
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Remove not needed methods in StringAlignedBuffer
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
* Refactor set_shape method
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
---------
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
Co-authored-by: Pawel Raasz <pawel.raasz@intel.com>