Skip to content

Commit 14c1db1

Browse files
add attribute for config support_3d_rope
Signed-off-by: HU Yuan2 <[email protected]>
1 parent c1d5e4d commit 14c1db1

File tree

3 files changed

+18
-1
lines changed

3 files changed

+18
-1
lines changed

src/common/transformations/include/ov_ops/rotary_positional_embeddings.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class TRANSFORMATIONS_API RoPE : public Op {
3232
// each head. change input order to [batch, head_cnt, 4608] to support 2d rope
3333
bool is_qwen = false; // Qwen is special which overrides other setting
3434
bool use_rope_cache = false; // use precomputed RoPE cache for trigonometric values (cosine and sine)
35-
bool support_3d_rope = false;
35+
bool support_3d_rope = false; // use same logic as RoPEFusionGPTNEOX(4), used by gpu plugin
3636
size_t head_cnt = 0;
3737
size_t head_size = 0;
3838
int gather_position_arg_id =

src/common/transformations/src/ov_ops/rotary_positional_embeddings.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ bool RoPE::visit_attributes(ov::AttributeVisitor& visitor) {
9595
visitor.on_attribute("rotary_ndims", m_config.rotary_ndims);
9696
visitor.on_attribute("is_chatglm", m_config.is_chatglm);
9797
visitor.on_attribute("support_2d_rope", m_config.support_2d_rope);
98+
visitor.on_attribute("support_3d_rope", m_config.support_3d_rope);
9899
visitor.on_attribute("is_qwen", m_config.is_qwen);
99100
visitor.on_attribute("use_rope_cache", m_config.use_rope_cache);
100101
visitor.on_attribute("head_cnt", m_config.head_cnt);

src/common/transformations/tests/common_optimizations/fuse_rotary_positional_embeddings.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,7 @@ TEST_F(TransformationTestsF, ConvertToROPE_LLama2_no_gather) {
152152
{"config.is_interleaved", false},
153153
{"config.is_chatglm", false},
154154
{"config.support_2d_rope", false},
155+
{"config.support_3d_rope", false},
155156
{"config.is_qwen", false},
156157
{"config.use_rope_cache", false},
157158
{"config.head_cnt", 0},
@@ -190,6 +191,7 @@ TEST_F(TransformationTestsF, ConvertToROPE_LLama2_with_gather) {
190191
{"config.is_interleaved", false},
191192
{"config.is_chatglm", false},
192193
{"config.support_2d_rope", false},
194+
{"config.support_3d_rope", false},
193195
{"config.is_qwen", false},
194196
{"config.use_rope_cache", false},
195197
{"config.head_cnt", 0},
@@ -385,6 +387,7 @@ TEST_F(TransformationTestsF, ConvertToROPE_GPTNEOX_no_gather) {
385387
{"config.is_interleaved", false},
386388
{"config.is_chatglm", false},
387389
{"config.support_2d_rope", false},
390+
{"config.support_3d_rope", false},
388391
{"config.is_qwen", false},
389392
{"config.use_rope_cache", false},
390393
{"config.head_cnt", 0},
@@ -423,6 +426,7 @@ TEST_F(TransformationTestsF, ConvertToROPE_GPTNEOX_with_gather) {
423426
{"config.is_interleaved", false},
424427
{"config.is_chatglm", false},
425428
{"config.support_2d_rope", false},
429+
{"config.support_3d_rope", false},
426430
{"config.is_qwen", false},
427431
{"config.use_rope_cache", false},
428432
{"config.head_cnt", 0},
@@ -541,6 +545,7 @@ TEST_F(TransformationTestsF, ConvertToROPE_GPTJ) {
541545
{"config.is_interleaved", true},
542546
{"config.is_chatglm", false},
543547
{"config.support_2d_rope", false},
548+
{"config.support_3d_rope", false},
544549
{"config.is_qwen", false},
545550
{"config.use_rope_cache", false},
546551
{"config.head_cnt", 0},
@@ -663,6 +668,7 @@ TEST_P(ConvertToROPETest, ConvertToROPE_chatGLM) {
663668
{"config.rotary_ndims", rotary_ndims},
664669
{"config.is_chatglm", true},
665670
{"config.support_2d_rope", false},
671+
{"config.support_3d_rope", false},
666672
{"config.is_qwen", false},
667673
{"config.use_rope_cache", true},
668674
{"config.head_cnt", num_heads},
@@ -750,6 +756,7 @@ TEST_P(ConvertToROPETest, ConvertToROPE_chatGLM_Slice) {
750756
{"config.rotary_ndims", rotary_ndims},
751757
{"config.is_chatglm", true},
752758
{"config.support_2d_rope", false},
759+
{"config.support_3d_rope", false},
753760
{"config.is_qwen", false},
754761
{"config.use_rope_cache", true},
755762
{"config.head_cnt", num_heads},
@@ -885,6 +892,7 @@ TEST_F(TransformationTestsF, ConvertToROPE_GPTJ_Slice) {
885892
{"config.is_interleaved", true},
886893
{"config.is_chatglm", false},
887894
{"config.support_2d_rope", false},
895+
{"config.support_3d_rope", false},
888896
{"config.is_qwen", false},
889897
{"config.use_rope_cache", false},
890898
{"config.head_cnt", 0},
@@ -1003,6 +1011,7 @@ TEST_F(TransformationTestsF, ConvertToROPE_chatGLM_2d_rope) {
10031011
{"config.rotary_ndims", rotary_ndims},
10041012
{"config.is_chatglm", true},
10051013
{"config.support_2d_rope", true},
1014+
{"config.support_3d_rope", false},
10061015
{"config.is_qwen", false},
10071016
{"config.use_rope_cache", true},
10081017
{"config.head_cnt", num_heads},
@@ -1113,6 +1122,7 @@ TEST_F(TransformationTestsF, ConvertToROPE_chatGLM_nano_2d_rope) {
11131122
{"config.rotary_ndims", rotary_ndims},
11141123
{"config.is_chatglm", true},
11151124
{"config.support_2d_rope", true},
1125+
{"config.support_3d_rope", false},
11161126
{"config.is_qwen", false},
11171127
{"config.use_rope_cache", true},
11181128
{"config.head_cnt", num_heads},
@@ -1205,6 +1215,7 @@ TEST_F(TransformationTestsF, ConvertToROPE_chatGLMHF_2d_rope) {
12051215
{"config.rotary_ndims", rotary_ndims},
12061216
{"config.is_chatglm", true},
12071217
{"config.support_2d_rope", true},
1218+
{"config.support_3d_rope", false},
12081219
{"config.is_qwen", false},
12091220
{"config.use_rope_cache", false},
12101221
{"config.head_cnt", num_heads},
@@ -1448,6 +1459,7 @@ TEST_F(TransformationTestsF, ConvertToROPE_chatGLM3_PagedAttention) {
14481459
{"config.rotary_ndims", rotary_ndims},
14491460
{"config.is_chatglm", true},
14501461
{"config.support_2d_rope", false},
1462+
{"config.support_3d_rope", false},
14511463
{"config.is_qwen", false},
14521464
{"config.use_rope_cache", true},
14531465
{"config.head_cnt", num_heads},
@@ -1527,6 +1539,7 @@ TEST_P(ConvertToROPETest, ConvertToROPE_Qwen_PagedAttention) {
15271539
{"config.rotary_ndims", 128},
15281540
{"config.is_chatglm", false},
15291541
{"config.support_2d_rope", false},
1542+
{"config.support_3d_rope", false},
15301543
{"config.is_qwen", true},
15311544
{"config.use_rope_cache", false},
15321545
{"config.head_cnt", head_cnt},
@@ -1611,6 +1624,7 @@ TEST_F(TransformationTestsF, ConvertToROPE_GPTJ_PagedAttention) {
16111624
{"config.rotary_ndims", rotary_ndims},
16121625
{"config.is_chatglm", false},
16131626
{"config.support_2d_rope", false},
1627+
{"config.support_3d_rope", false},
16141628
{"config.is_qwen", false},
16151629
{"config.use_rope_cache", false},
16161630
{"config.head_cnt", 0},
@@ -1685,6 +1699,7 @@ TEST_F(TransformationTestsF, ConvertToROPE_chatGLM4_PagedAttention) {
16851699
{"config.rotary_ndims", 64},
16861700
{"config.is_chatglm", true},
16871701
{"config.support_2d_rope", true},
1702+
{"config.support_3d_rope", false},
16881703
{"config.is_qwen", false},
16891704
{"config.use_rope_cache", true},
16901705
{"config.head_cnt", 32},
@@ -1771,6 +1786,7 @@ TEST_F(TransformationTestsF, ConvertToROPE_chatGLM4_PagedAttention_GPU) {
17711786
{"config.rotary_ndims", 64},
17721787
{"config.is_chatglm", true},
17731788
{"config.support_2d_rope", true},
1789+
{"config.support_3d_rope", false},
17741790
{"config.is_qwen", false},
17751791
{"config.use_rope_cache", true},
17761792
{"config.head_cnt", 32},

0 commit comments

Comments
 (0)