diff --git a/src/plugins/intel_gpu/src/graph/graph_optimizer/mark_shape_of_subgraphs.cpp b/src/plugins/intel_gpu/src/graph/graph_optimizer/mark_shape_of_subgraphs.cpp index 376401e50e7873..82e0a01bd2f442 100644 --- a/src/plugins/intel_gpu/src/graph/graph_optimizer/mark_shape_of_subgraphs.cpp +++ b/src/plugins/intel_gpu/src/graph/graph_optimizer/mark_shape_of_subgraphs.cpp @@ -15,6 +15,7 @@ #include "pass_manager.h" #include "fully_connected_inst.h" #include "gemm_inst.h" +#include "random_uniform_inst.h" #include "intel_gpu/graph/program.hpp" @@ -87,6 +88,11 @@ bool mark_shape_of_subgraphs::can_mark_node(const program_node& node) { return false; } + // RandomUniform output changes on every inference, while shape_of subgraphs are skipped when input shapes do not change + if (node.is_type()) { + return false; + } + // CPU implementation does not support float data types for mask and mixed types for data inputs, so check them // before including it into shape_of sub-graph if (node.is_type