Commit Graph

676 Commits

Author SHA1 Message Date
Pawel Raasz bb75829a88
[core] Add f4e2m1 element type and float4_e2m1 type (#24863)
### 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>
2024-06-10 07:15:45 +00:00
Ilya Lavrenov e91c8bc099
Removed deprecated cmake vars (#24687)
### Details:
 - *item1*
 - *...*

### Tickets:
 - *ticket-id*
2024-05-25 23:40:34 +04:00
Alina Kladieva 66093834e3
Bump product version to 2024.3 (#24673) 2024-05-24 14:59:20 +02:00
Ilya Lavrenov e2b646f91e
Simplify cmake check for Ninja multi-config (#24651)
### Details:
 - *item1*
 - *...*

### Tickets:
 - *ticket-id*
2024-05-24 00:08:08 +00:00
Ilya Lavrenov 3ca4919219
Set _GLIBCXX_USE_CXX11_ABI globally in OV cmake (#24657)
### Details:
- It can be useful when other targets within user project need to be
linked with _GLIBCXX_USE_CXX11_ABI=0
2024-05-23 20:33:10 +00:00
Ilya Lavrenov fc6af4f4af
Use system TBB by default for Deb, RPM (#24613)
### Details:
 - Otherwise, currently users have error during Debian package build
2024-05-23 12:40:05 +00:00
Fang Xu d28db5a53d
update onetbb2021.2.5 for linux arm64 and mac arm64 (#24484)
https://github.com/oneapi-src/oneTBB/releases/tag/v2021.2.5

### Details:
 - *update onetbb2021.2.5 for linux arm64 and mac arm64*
- *onetbb2021.2.5:
https://github.com/oneapi-src/oneTBB/releases/tag/v2021.2.5*

### Tickets:
 - *140409*

---------

Co-authored-by: Chen Peter <peter.chen@intel.com>
2024-05-17 05:27:15 +00:00
Ilya Lavrenov 92e88b28e7
Use custom TBB even on Linux (#24359)
### Details:
- System TBB provides lower performance than newer versions, so we have
to distribute our own one.
2024-05-17 09:07:41 +04:00
Pawel Raasz 765302e0de
Fuzzer test print ASAN file path used for OV build (#24508)
### Details:
- Add additional information how use fuzzer tests when OV build as
shared library.

### Tickets:
 - [CVS-140764](https://jira.devtools.intel.com/browse/CVS-140764)
2024-05-15 16:55:10 +00:00
Luo Cheng 04a7ecfadf
[CPU] PagedAttention supports dynamic-split fuse (#24107)
### 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)*
2024-05-15 12:46:14 +04:00
Ilya Lavrenov 6f046e5e1b
Dropped old macro usage (#24453)
### Details:
 - *item1*
 - *...*

### Tickets:
 - *ticket-id*
2024-05-10 01:44:55 +04:00
Ilya Lavrenov 9edef1b524
Added support of MUSL Linux (#24428)
### Details:
 - Added support of MUSL Linux

### Tickets:
 - Closes https://github.com/openvinotoolkit/openvino/issues/24368

---------

Co-authored-by: Jyothish Kumar M S <jeevanms15@gmail.com>
2024-05-09 14:39:54 +00:00
Egor Tyuvaev d1f9ab8389
CMake: reading definitions from COMPILE_DEFINITIONS property (#24324)
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>
2024-05-02 17:57:02 +00:00
Andrey Babushkin 3414e361e8
Manually define CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION (#24343)
### 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.
2024-05-02 19:50:48 +04:00
Ilya Lavrenov 818d282c01
Use latest Windows SDK by default (#24326)
### Details:
 - *item1*
 - *...*

### Tickets:
 - *ticket-id*
2024-05-02 01:49:40 +04:00
Ilya Lavrenov 93b0376545
Use -Wabi only for gcc less 13.0 (#24304)
### Details:
 - Ubuntu 24.04 support with gcc 13.0

### Tickets:
 - CVS-138654
2024-04-30 02:31:13 +04:00
Ilya Lavrenov eeee923074
Fixed typo in warning message during clang-format search (#24277)
### Details:
 - *item1*
 - *...*

### Tickets:
 - *ticket-id*
2024-04-28 01:26:19 +04:00
Ilya Lavrenov aa5710cc93
Added check for conflicting DEB / RPM versions (#24276)
### Details:
 - Ported https://github.com/openvinotoolkit/openvino/pull/24275
2024-04-28 01:19:45 +04:00
Ilya Lavrenov c121e896da
Intel compiler support (#24217)
### Details:
 - Initial version of Intel compiler support
 - Only Linux is covered
- Current PR is a prerequisite for
https://github.com/openvinotoolkit/openvino/pull/23534
2024-04-27 14:03:28 +00:00
Ilya Lavrenov 3b0d2013b8
Fixed case when users explicitly pass different gcc ABI via cxx flags (#24274)
### Details:
- Should help with
https://github.com/conan-io/conan-center-index/pull/23754
 - Taken from https://github.com/openvinotoolkit/openvino/pull/23534
2024-04-27 17:00:20 +04:00
Gladilov, Gleb 64b2593d06
Enable TREAT_DEPRECATED_DECLARATIONS_AS_ERRORS (#24195)
_ov_target_no_deprecation_error function extends
INTERFACE_COMPILE_OPTIONS of such targets as openvino::runtime with
-Wno-error=deprecated-declarations. It makes any target that links
against openvino::runtime (directly or through public interface of
target that linked directly to openvino::runtime) to compile with this
option. The fact that interface options are added to the end of the list
makes it impossible to override them for target-user of
openvino::runtime.

-Wno-error=deprecated-declarations doesn't disable the warning in
contrast to -Wno-deprecated-declarations, but merely enforces to treat
it as warning, not error. It means if a target tries to keep build log
clean (without warning messages) and uses things like -Werror for this
and links against openvino::runtime in any way, then it still will have
warning messages emitted.

To allow user-targets that linked against openvino::runtime to enforce
treatment of warnings as errors including deprecated-declarations
INTERFACE_COMPILE_OPTIONS is extended with generator expression instead,
so that user-target can set property
TREAT_DEPRECATED_DECLARATIONS_AS_ERRORS and get
-Wno-error=deprecated-declarations coming from OpenVINO removed from the
list of compile options.

If TREAT_DEPRECATED_DECLARATIONS_AS_ERRORS isn't set, the behavior is
unchanged and -Wno-error=deprecated-declarations is presented in
INTERFACE_COMPILE_OPTIONS.

Signed-off-by: Gladilov, Gleb <gleb.gladilov@intel.com>
2024-04-26 14:47:04 +00:00
Fang Xu ff826fdcda
enable cmake compile warning as error for crosscompile (#23951)
### Details:
 - *enable CMAKE_COMPILER_WARNING_AS_ERROR for cross compile*

### Tickets:
 - *CVS-134950*

---------

Co-authored-by: Pawel Raasz <pawel.raasz@intel.com>
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2024-04-26 05:54:59 +00:00
Maksim Kutakov a102520192
Fix sanitizer cmake config for GNU compiler (#24110)
### 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.
2024-04-25 08:59:02 +00:00
Ilya Lavrenov 7fe82c0c10
Migration to clang-format-15 (#24226)
### Details:
 - Migration to clang-format-15 which is available in Ubuntu 22.04
2024-04-25 08:28:05 +00:00
Vitaliy Urusovskij 604cfcd658
Move `LIBASAN_DIRNAME` under `OV_COMPILER_IS_CLANG` (#24219) 2024-04-25 07:23:03 +00:00
Vitaliy Urusovskij af0f924016
Fix clang ASAN build for `openvino_onnx_frontend` (#24170)
### Details:
- Fix `rpath` computation for ASAN build - previous implementation can't
be deduced during `protoc` build

### Tickets:
 - [CVS-138499](https://jira.devtools.intel.com/browse/CVS-138499)

Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
2024-04-24 09:14:21 +00:00
Ivan Novoselov e56310999c
[Snippets] TPP FP32 MHA support (#22210)
### Details:
 - *Enable FP32 MHA lowering using TPP backend*
- *This PR is a productization of the [TPP integration
POC](https://github.com/openvinotoolkit/openvino/pull/20956)*
### Prerequisites:
- https://github.com/openvinotoolkit/openvino/pull/21303
- https://github.com/openvinotoolkit/openvino/pull/21672

Branch to Branch PR in to review the changes before the Prerequisites
are merged: https://github.com/IvanNovoselov/openvino/pull/18

---------

Co-authored-by: egeorgan <evangelos.georganas@intel.com>
2024-04-22 14:52:42 +00:00
Ilya Lavrenov 007ed84886
Improved cross-compilation with python (#24160)
### Details:
 - Improved cross-compilation with python
 - It's important for RISC-V enablement 
 - Depends on https://github.com/openvinotoolkit/openvino/pull/24140
2024-04-22 18:33:05 +04:00
Ilya Lavrenov 7255669846
Check Debian job against latest released packages (#23885)
### Details:
- Check Debian job against latest released packages. Currently, 2023
debian repo is used
2024-04-21 01:32:15 +04:00
Ilya Lavrenov eb025fad1e
Supported Ubuntu 24.04 (#23905)
### Details:
 - Supported Ubuntu 24.04
2024-04-16 14:26:41 +00:00
Artyom Anokhov 180b4fca8c
[JS API]::CMakeLists: Added ov_cpack_add_component (#23987)
### Details:
 - Added ov_cpack_add_component for JS API
2024-04-12 16:57:22 +00:00
Alina Kladieva 543a289052
Update OV version to 2024.2 on master (#23890) 2024-04-05 17:31:58 +02:00
Xin Wang 8463eee2f6
Upstream Intel NPU Plugin (#23537)
### Details:
 - Add ENABLE_INTEL_NPU option
 - Add ENABLE_NPU_DEBUG_CAPS option
 - Add npu plugin codes to src/plugins/intel_npu/
 - Add src/inference/include/openvino/runtime/intel_npu/properties.hpp
- Add thirdparty level-zero and level-zero-ext to
src/plugins/intel_npu/thirdparty
- Export openvino::openvino_npu_al and
openvino::openvino_npu_logger_utils

### Tickets:
 -  E-115936

---------

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2024-04-03 12:31:11 +04:00
Vishniakov Nikolai 3051d3a893
[OV JS] Disable building nodejs bindings for emscripten (#23708)
### Details:
 - JS is not available for emscripten compilation

### Tickets:
 - Closes https://github.com/openvinotoolkit/openvino/issues/23701

---------

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2024-03-30 23:13:19 +00:00
Ilya Lavrenov fc5da9d935
Fixed Android x86_64 build (#23679)
### Details:
 - JS is not available on Android

### Tickets:
 - Closes https://github.com/openvinotoolkit/openvino/issues/23494
2024-03-27 10:23:51 +00:00
Pawel Raasz fd93e3b33f
[core] Low precision element iterator and `u2, u3, u6` types (#23279)
### 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)
2024-03-18 07:51:59 +00:00
Andrei Kashchikhin 1e9d0cb049
[CI] [GHA] Enable sanitizers (#22628)
### Details:
- This PR introduces [AddressAndLeak
Sanitizers](https://github.com/google/sanitizers/wiki/AddressSanitizer)
for the Build and C++ tests jobs for Linux x64, additionally, it enables
[UndefinedBehaviour
Sanitizer](https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html)
for the Build job.

### Tickets:
 - *121288*

---------

Co-authored-by: vurusovs <vitaliy.urusovskij@intel.com>
2024-03-15 13:46:51 +00:00
Fang Xu 3a4d1ff4dd
enable CMAKE_COMPILE_WARNING_AS_ERROR on windows (#23267)
### Details:
 - *enable CMAKE_COMPILE_WARNING_AS_ERROR on windows*

### Tickets:
 - *CVS-120604*
2024-03-15 05:34:54 +00:00
Ilya Lavrenov 7a1cd37b9d
Deleted InferenceEngineDeveloperPackageConfig.cmake generation (#22926)
### Details:
 - Deleted InferenceEngineDeveloperPackageConfig.cmake generation
2024-03-14 18:45:28 +00:00
Ilya Lavrenov 9256e42171
Enabled LTO for ARM64 (#22842)
### 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
2024-03-14 22:05:59 +04:00
Jacek Pawlak 239466ca5d
copyright year update (#23370)
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'
```
2024-03-14 09:37:02 +00:00
Vitaliy Urusovskij 7635e2226c
Enhance sanitizer build (#23330)
### Details:
- Based on https://github.com/openvinotoolkit/openvino/pull/22628

### Tickets:
 - [CVS-109238](https://jira.devtools.intel.com/browse/CVS-109238)

Co-authored-by: Pavel Durandin <pavel.durandin@intel.com>
2024-03-14 07:50:02 +00:00
Ilya Lavrenov a139ccbba8
Added protogation of OpenVINO's _GLIBCXX_USE_CXX11_ABI (#23438)
### Details:
- Added protogation of OpenVINO's _GLIBCXX_USE_CXX11_ABI to allow build
on Ubuntu against binaries compiled on CentOS 7
2024-03-13 22:35:32 +00:00
Ilya Lavrenov 02fe45a061
Added python3-packaging dependency for debian package (#23372)
### Details:
- Introduced dependency on `packaging` here
https://github.com/openvinotoolkit/openvino/pull/22281
2024-03-14 02:13:36 +04:00
Ilya Lavrenov 46ae0e569c
Updated OpenVINO version to 2024.1 on master (#22857) 2024-02-15 14:27:33 +01:00
Jacek Pawlak 5e7e51dc77
Onetbb license alignment (#22838)
Removed old tbb license and added onetbb license

---------

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2024-02-15 15:18:23 +04:00
Łukasz Mielicki 28ff6cef3b
Respect target type in ov_add_version_defines (#22805)
### 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>
2024-02-14 20:16:33 +00:00
Ilya Lavrenov 6bc7562f28
Added NPU to Debian packages (#22800)
### Details:
 - *item1*
 - *...*

### Tickets:
 - *ticket-id*
2024-02-14 10:56:27 +04:00
Ilya Lavrenov a4946f05fb
Removed ade from vcpkg.json and conanfile.txt (#22823)
### Details:
 - *item1*
 - *...*

### Tickets:
 - *ticket-id*
2024-02-14 10:43:10 +04:00
Vitaliy Urusovskij dfe0699503
Rename IE to OV (#22733) 2024-02-09 13:36:41 +00:00