### Details:
- Add new element into OpenVINO `f4e2m1`
- Add new type `float4_e2m1`
### Tickets:
- [CVS-141565](https://jira.devtools.intel.com/browse/CVS-141565)
---------
Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
### Details:
- *Merge first token and second token inference into one parallel loop*
- *~~Additional optimization: pre-transpose k-cache, pre-pack v-cache if
needed~~*
- *Additional optimization for first token: save q * k' upper triangle
matrix computation and (q * k') * v lower triangle matrix computation*
- *C++ pipeline can enable it:
https://github.com/ilya-lavrenov/openvino.genai/pull/9*
- *TODO(in another PR):*
- alibi support
- performance tuning
- testcase
### Tickets:
- *[138673](https://jira.devtools.intel.com/browse/CVS-138673)*
Compilation in Conan fails if compiler=clang and libstd=libstdc++
because conan defines _GLIBCXX_USE_CXX11_ABI=0 but openvino autodetects
the value and overwrites it with _GLIBCXX_USE_CXX11_ABI=1.
These changes make it honor the compile definitions generated by Conan.
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@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:
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>