openvino/src/core/src
Ivan Tikhonov 55c11c6324
Port SDPA to PagedAttention transformation (#24336)
### Details:
Ported SDPA to PagedAttention transformation from python to C++ code.

the related PRs:
https://github.com/openvinotoolkit/openvino/pull/24127
https://github.com/openvinotoolkit/openvino/pull/24177

Tested model scope:
- [x]          "hf-internal-testing/tiny-random-BloomForCausalLM",
- [x]          "hf-internal-testing/tiny-random-FalconForCausalLM",
- [x]          "hf-internal-testing/tiny-random-Starcoder2ForCausalLM",
- [x]          "hf-internal-testing/tiny-random-GPTJForCausalLM",
- [x]          "hf-internal-testing/tiny-random-StableLmForCausalLM",
- [x]          "hf-internal-testing/tiny-random-LlamaForCausalLM",
- [x]          "hf-internal-testing/tiny-random-MistralForCausalLM",
- [x]          "hf-internal-testing/tiny-random-OPTForCausalLM",
- [x]          "hf-internal-testing/tiny-random-PhiForCausalLM",
- [x]          "hf-internal-testing/tiny-random-StableLmForCausalLM",
- [x]          "facebook/opt-125m",
- [x]          "llama2",
- [x]          "bigcode/starcoder2-7b"
- [ ] "mosaicml/mpt-7b-chat" (FAILED both py/c++) - acceptable for this
PR
Issue: RuntimeError: Check '(axis_range_min <= axis) && (axis <=
axis_range_max)' failed at src/core/src/validation_util.cpp:386:
Concat Parameter axis 2 out of the tensor rank range [0, 0].
- [x] _means, that the response to the dedicated prompt is the same for
the py and c++ transformations._




### Tickets:
 - *CVS-138664*

---------

Co-authored-by: Sergey Lyalin <sergey.lyalin@intel.com>
Co-authored-by: Andrii Staikov <andrii.staikov@intel.com>
2024-05-02 16:02:04 +04:00
..
descriptor [Core] Remove mutex from descriptor::Tensor (#24133) 2024-04-26 05:52:15 +00:00
op Port SDPA to PagedAttention transformation (#24336) 2024-05-02 16:02:04 +04:00
opsets Migration to clang-format-15 (#24226) 2024-04-25 08:28:05 +00:00
pass Port SDPA to PagedAttention transformation (#24336) 2024-05-02 16:02:04 +04:00
pattern Fix coverity issues: `AUTO_CAUSES_COPY` and `UNINIT_CTOR` (#24196) 2024-04-24 14:05:54 +00:00
preprocess Add 'pad' operator support for ov::preprocess::PrePostProcessor (#23093) 2024-03-18 09:40:16 +00:00
runtime [core] Add support of types u2 u3 u6 in Constant (#24006) 2024-04-17 09:58:05 +00:00
type [core] Add support of types u2 u3 u6 in Constant (#24006) 2024-04-17 09:58:05 +00:00
any.cpp copyright year update (#23370) 2024-03-14 09:37:02 +00:00
atomic_guard.hpp copyright year update (#23370) 2024-03-14 09:37:02 +00:00
attribute_visitor.cpp copyright year update (#23370) 2024-03-14 09:37:02 +00:00
axis_set.cpp copyright year update (#23370) 2024-03-14 09:37:02 +00:00
axis_vector.cpp copyright year update (#23370) 2024-03-14 09:37:02 +00:00
bound_evaluate.cpp Symbol Tracking API updated and made public (#23136) 2024-03-25 14:21:18 +00:00
bound_evaluate.hpp Symbol Tracking API updated and made public (#23136) 2024-03-25 14:21:18 +00:00
constant_fold_utils.cpp Make RandomUniform to not require precision conversion (#23394) 2024-03-13 14:50:36 +00:00
coordinate.cpp copyright year update (#23370) 2024-03-14 09:37:02 +00:00
coordinate_diff.cpp copyright year update (#23370) 2024-03-14 09:37:02 +00:00
dimension.cpp Symbol Tracking API updated and made public (#23136) 2024-03-25 14:21:18 +00:00
evaluator.hpp copyright year update (#23370) 2024-03-14 09:37:02 +00:00
except.cpp copyright year update (#23370) 2024-03-14 09:37:02 +00:00
extension.cpp copyright year update (#23370) 2024-03-14 09:37:02 +00:00
graph_util.cpp Disable compression to fp16 for optimized models (#23609) 2024-03-27 06:02:11 +00:00
interval.cpp copyright year update (#23370) 2024-03-14 09:37:02 +00:00
itt.hpp Migration to clang-format-15 (#24226) 2024-04-25 08:28:05 +00:00
layout.cpp copyright year update (#23370) 2024-03-14 09:37:02 +00:00
layout_utils.hpp copyright year update (#23370) 2024-03-14 09:37:02 +00:00
model.cpp Delete check that ReadValue/Assign operations have to be in pair in ov::Model (#23051) 2024-03-05 15:46:34 +00:00
node.cpp Symbol Tracking API updated and made public (#23136) 2024-03-25 14:21:18 +00:00
node_input.cpp copyright year update (#23370) 2024-03-14 09:37:02 +00:00
node_output.cpp copyright year update (#23370) 2024-03-14 09:37:02 +00:00
node_vector.cpp copyright year update (#23370) 2024-03-14 09:37:02 +00:00
partial_shape.cpp Symbol Tracking API updated and made public (#23136) 2024-03-25 14:21:18 +00:00
precomp.hpp copyright year update (#23370) 2024-03-14 09:37:02 +00:00
rt_info.cpp copyright year update (#23370) 2024-03-14 09:37:02 +00:00
runtime_attribute.cpp copyright year update (#23370) 2024-03-14 09:37:02 +00:00
shape.cpp copyright year update (#23370) 2024-03-14 09:37:02 +00:00
shape_util.cpp copyright year update (#23370) 2024-03-14 09:37:02 +00:00
shared_node_info.hpp copyright year update (#23370) 2024-03-14 09:37:02 +00:00
so_extension.cpp copyright year update (#23370) 2024-03-14 09:37:02 +00:00
strides.cpp copyright year update (#23370) 2024-03-14 09:37:02 +00:00
symbol.cpp [ov::Symbol] get rid of self pointing for root symbol (#24137) 2024-04-25 07:47:23 +00:00
tensor_name_util.hpp copyright year update (#23370) 2024-03-14 09:37:02 +00:00
type.cpp copyright year update (#23370) 2024-03-14 09:37:02 +00:00
validation_util.cpp [CPU] Fixed Convert [FP->BOOL] (#23671) 2024-03-28 14:51:26 +00:00
version.cpp copyright year update (#23370) 2024-03-14 09:37:02 +00:00