Commit Graph

395 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
Ilya Lavrenov e2b646f91e
Simplify cmake check for Ninja multi-config (#24651)
### Details:
 - *item1*
 - *...*

### Tickets:
 - *ticket-id*
2024-05-24 00:08:08 +00: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
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
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
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 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
Ł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
Vitaliy Urusovskij dfe0699503
Rename IE to OV (#22733) 2024-02-09 13:36:41 +00:00
Ilya Lavrenov 096c1a119d
Remove API 1.0 macros (#22330)
### Details:
 - Old macros

---------

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
Co-authored-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2024-02-09 07:53:36 +00:00
Vishniakov Nikolai cd9c65ef07
Use OV_CPACK_COMP_CORE_DEV_EXCLUDE_ALL to exclude *.lib files (#22659)
### Details:
 - *item1*
 - *...*

### Tickets:
 - *ticket-id*

---------

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2024-02-08 09:45:06 +00:00
Luo Cheng 1ad9611204
[CPU] Pastkv cache of SDPA supports int8 type (#22409)
### Details:
 - *Pastkv cache supports int8 type*
 - *Decompose SDPA if no concat fused*
 - *Reuse memory for the new prompt if possible*

### Tickets:
 - *128354*
 - *129488*

---------

Co-authored-by: Li, Tingqian <tingqian.li@intel.com>
2024-02-07 18:25:17 +00:00
River Li eb9228c33d
Remove legacy ie::Version and replaced by ov::Version (#22582)
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2024-02-01 22:26:41 +00:00
Zhang Yi 11e0fd6004
[CPU]SDPA uses brgemm to support bf16 multi query in 1st token (#22174)
* [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
2024-02-01 07:24:18 +00:00
Ilya Lavrenov ef1632d035
Renamed / removed legacy cmake targets (#22307)
* Removed legacy cmake targets

* Renamed ngraph_obj

* Rename onference_engine targets
2024-01-22 18:18:08 +00:00
Katarzyna Mitrus b3c2c386dc
[FP8] Implementation of FP8 element types (ov::element::f8e4m3 and ov::element::f8e5m2) (#21608)
* 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>
2024-01-16 15:26:43 +01:00
River Li 97439818a1
[Core] remove ie_system_conf.hpp (#22160)
* remove ie_system_conf.hpp

* Fix clang format issue
2024-01-15 15:07:36 +01:00
Xuejun Zhai 3bf6f11dfd
[Core][CPU] Upgrade ie::extension to ov::extension (#21915) 2024-01-15 10:59:45 +04:00
Ilya Lavrenov 015ff79bf5
Fixed API validator search (#22136) 2024-01-13 09:55:06 +04:00
Andrei Kashchikhin f0f1e7a31f
[CI] [GHA] Introduce JS API as a part of the existing workflows (#21898)
* 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>
2024-01-08 16:52:58 +04:00
Georgy Krivoruchko 64e3a4fdc8
[ONNX] Frontend refactoring (#21964)
* Removed an old exported symbols and ngraph namespace

* Updated graph_cache.hpp/cpp

* Update graph_cache.cpp: code style

* Added OPENVINO_OP to naming exceptions
2024-01-05 16:17:41 +04:00
Ilya Lavrenov c59ddbab69
Removed legacy components from installation (#21803)
* Removed legacy components from installation

* Updated OMZ submodule
2023-12-22 10:38:26 +01:00
Ilya Lavrenov 9b52171d29
Updated OpenVINO version to 2024.0 (#21790) 2023-12-21 10:33:07 +01:00
Ilya Lavrenov 8c03c991cd
Removed deployment manager (#21802) 2023-12-21 01:02:51 +04:00
Vishniakov Nikolai 8d704f6400
[JS OV] Node.js API (#19848)
Co-authored-by: almilosz <alicja.miloszewska@intel.com>
Co-authored-by: Andrei Kashchikhin <andrey.kashchikhin@intel.com>
Co-authored-by: yatarkan <yaroslav.tarkan@intel.com>
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-12-20 00:19:34 +00:00
Ilya Lavrenov 94a21d606c
Ability to exclude TBB from install package (#21624) 2023-12-15 09:49:38 +04:00
Ilya Lavrenov 02dec1c2d9
Added more exclude markers for install rules (#21561) 2023-12-11 17:05:09 +04:00
Ilya Lavrenov 402d251483
Removed legacy cmake utils from IE 1.0 (#21559) 2023-12-11 11:26:16 +04:00