Commit Graph

20 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
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
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
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
Roman Kazantsev abfbdd1b96
[Core] Support String Tensors (#21244)
* [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>
2023-12-01 11:17:53 +04:00
andreyanufr b73b2502b1
Introduce NF4 data type (#19900)
* NF4 reference initial commit

* Compilable version.

* Executable NF4.

* Fixed nf4 unpacking.

* 1) Fixed warnings with nf4.
2) Removed unused functions.

* Added one test for nf4.

* Fixed code-style errors.

* Fixed code-style errors.

* Fixed NamingConventionCheck errors.

* Fixed test with nf4.

* Fixed windows compilation.

* Fixed casting warning.

* Fixed incorrect changes.

* Changed order of elements in nf4 pack/unpack.

* 1) Made Convert only on direction nf4->other type.
2) Applied reviewers suggestions.

* Fixed code style.

* Fised code style.

* 1) Added array header.
2) Added Bitsandbytes to third-party-programs.txt.

* 1) Removed unused code.
2) Fixed style typos.
3) Revert submodule version.

* Added test for nf4 compression.

* NF4 test refactoring.

* Added cpp tests for NF4.

* Removed model compilation from NF4 tests.

* Reverted submodule version.
2023-09-28 20:56:57 +04:00
Ilya Lavrenov f080a0d9cf
Added NCC style for frontends sources (#16200)
* Ability to provide several source dirs for ncc-style checks

* Fixed include headers; added NCC to TF common

* Fixed NCC for frontends

* Fixed NCC for frontends

* Extra fixes

* Fixest push --f

* Clang-format

* Apply comments

* Add an option to specify required clang-format version

* Update src/frontends/tensorflow/src/decoder_proto.cpp

* Update src/frontends/tensorflow/src/decoder_proto.cpp
2023-03-13 14:54:00 +00:00
Ilya Churaev 113aefa3ff
Move internal api to ov (#15964)
* Move cpu streams executor to new API

* Remove legacy headers from new dev API

* Fixed build issues

* Fixed build

* Fixed typo

* Fixed typo

* Fixed build

* Fixed code style

* Add exception for template constructor of SoPtr
2023-03-01 14:00:55 +04:00
Zlobin Vladimir c09af40b4c
No-break space->space, asssuming->assuming (#14276)
* No-break space->space, asssuming->assuming

* benchmark_app: don't print warning each iteration

* Russian с->English c

* Warn no batch only once

* Allow anonymus namespaces

* Keep only one report of model bach size, warn_if_no_batch for static model as well
2022-11-30 11:25:16 +00:00
Maxim Gordeev 3144c5fab8
Added processing of layout for speech sample (#10254)
* Added processing of layout for speech sample

* fixed notes

* some improvements

* Code style format

* changed NCC value for NullStatement

* improved batch processing

* added loading batch for imported model

* fixed notes

* fixed notes

* added layout parameter to azure tests
2022-02-17 16:11:57 +03:00
Anton Pankratov 8993c4c18a
Deprecated ov::Any implicit cast to any types (#9409)
* Depricated Any implicit cast

* Fixed test

* fixed gna build

* Fixed warnings in benchmark_app

* Fixed test build

* ncc exception for PrintTo

* Error mesage in test

* Error mesage in test

* fixed build
2022-02-03 19:10:52 +03:00
Ilya Lavrenov 9fe5165ffa
Support of clang-11 (#9620) 2022-01-13 14:31:25 +03:00
Anton Pankratov bd3e4fbe78
Added openvino any (#8288) 2021-11-26 12:23:25 +03:00
Ilya Churaev 4122ef50d6
Introduce OV Extension base api (#7562)
* Moved so loader to utils

* Fixed extension tests

* Fixed tests and style

* Fixed style and tests

* Fixed ARM build

* Fix windows

* Fix ieFuncTests

* Wrap runtime exception

* Fixed tests

* Added separate new extension

* Fixed unicode extension loading

* Try to fix windows

* Fixed windows

* Fixed macro

* Fixed doc

* Fixed build

* Fixed comments

* Try to fix build

* Fixed build

* Fixed build

* Fixed shared_from_this

* Temp commit

* Changed extension

* Fixed merge conflicts

* Removed ngraph namespace from new extensions

* Fixed code style

* Added core add_extension methods and tests

* Added new tests

* Implement tile operation

* Enabled new extensions support

* Fixed build

* Fixed code style

* Try to fix windows

* Changed base extension class

* Removed redundant Ptr

* Fixed comments

* Fixed friend decl

* Fixed Windows export

* Fixed centos

* Added template add_extension method

* Move destructor to public

* Removed BaseExtension class

* Added variadic add_extension methods

* Fixed doc and typo

* Added BaseOpDestructor

* Allow to create new extension only for new operations

* Revert tests

* Fixed comments

* Fixed comments

* Fixed comment

* Added SO Extension wrapper
2021-11-01 10:36:30 +03:00
Anton Pankratv 5b176f28cc
Added remote objects type check (#7606) 2021-10-14 11:32:19 +03:00
Anton Pankratv 6750b8c336
Created Remote context c++ API (#7114) 2021-08-25 18:16:41 +03:00
Ilya Churaev af8dc644a8
Enabled NCC for enums (#7038)
* Enabled NCC for enums

* Fixed enum values

* Marked lower case enum as deprecated

* Fixed deprecated enums

* Disable deprecation for Windows and GCC < 6

* Try to fix build
2021-08-13 09:16:47 +03:00
Ilya Churaev 565627a416
Add ov::runtime::Core (#6946) 2021-08-10 07:49:37 +03:00
Ilya Lavrenov 6a63cb9122
Enabled naming style check for FEM, ONNX FE (#6970)
* Enabled naming style check for FEM, ONNX FE

* Used custom version of ncc

* Added self-check

* Removed submdoule

* Moved to public ncc
2021-08-09 15:38:08 +03:00
Ilya Lavrenov 5d781afe73
Naming convention tool integration (#6967)
* Fixed cycle dependency

* Added NCC infra

* Add submodule

* Added substitution for clang lib

* target depends on target_ncc_check

* Try find_package(Clang QUIET)

* Added github actions

* Try U18 + clang9

* Fixed nnc

* Updated style

* Works for clang-9

* Works for clang-7

* Fixes
2021-08-07 09:55:45 +03:00