Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion src/common/snippets/include/snippets/op/brgemm.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
#include "memory_access.hpp"
#include "openvino/op/op.hpp"
#include "snippets/shape_inference/shape_inference.hpp"
#include "snippets/snippets_visibility.hpp"

namespace ov::snippets::op {

Expand All @@ -15,7 +16,7 @@ namespace ov::snippets::op {
* @brief Brgemm is a batch-reduced matrix multiplication with the support of arbitrary strides between matrices rows
* @ingroup snippets
*/
class Brgemm : virtual public modifier::MemoryAccess, public ov::op::Op {
class SNIPPETS_API Brgemm : virtual public modifier::MemoryAccess, public ov::op::Op {
public:
OPENVINO_OP("Brgemm", "SnippetsOpset");
explicit Brgemm(const Output<Node>& A,
Expand Down
5 changes: 3 additions & 2 deletions src/common/snippets/include/snippets/op/broadcastload.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
#include "openvino/core/node_vector.hpp"
#include "openvino/op/op.hpp"
#include "snippets/shape_inference/shape_infer_instances.hpp"
#include "snippets/snippets_visibility.hpp"

namespace ov::snippets::op {

Expand All @@ -25,7 +26,7 @@ namespace ov::snippets::op {
* dimension for blocked
* @ingroup snippets
*/
class BroadcastLoad : public modifier::MemoryAccess, public ov::op::Op {
class SNIPPETS_API BroadcastLoad : public modifier::MemoryAccess, public ov::op::Op {
public:
OPENVINO_OP("BroadcastLoad", "SnippetsOpset");

Expand All @@ -50,7 +51,7 @@ class BroadcastLoad : public modifier::MemoryAccess, public ov::op::Op {
// but have identical shapeInfer semantics. In order to avoid code duplication,
// we created dummy ShapeInfer classes that are essentially instantiations
// of a common ShapeInfer class template;
struct ShapeInfer : public BroadcastShapeInfer<BroadcastLoad> {
struct SNIPPETS_API ShapeInfer : public BroadcastShapeInfer<BroadcastLoad> {
explicit ShapeInfer(const std::shared_ptr<Node>& n) : BroadcastShapeInfer<BroadcastLoad>(n) {}
};

Expand Down
5 changes: 3 additions & 2 deletions src/common/snippets/include/snippets/op/broadcastmove.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
#include "openvino/core/node_vector.hpp"
#include "openvino/op/op.hpp"
#include "snippets/shape_inference/shape_infer_instances.hpp"
#include "snippets/snippets_visibility.hpp"

namespace ov::snippets::op {

Expand All @@ -22,7 +23,7 @@ namespace ov::snippets::op {
* @brief Added to a subgraph if explicit broadcast instruction should be generated
* @ingroup snippets
*/
class BroadcastMove : public ov::op::Op {
class SNIPPETS_API BroadcastMove : public ov::op::Op {
public:
OPENVINO_OP("BroadcastMove", "SnippetsOpset");

Expand All @@ -44,7 +45,7 @@ class BroadcastMove : public ov::op::Op {
// but have identical shapeInfer semantics. In order to avoid code duplication,
// we created dummy ShapeInfer classes that are essentially instantiations
// of a common ShapeInfer class template;
struct ShapeInfer : public BroadcastShapeInfer<BroadcastMove> {
struct SNIPPETS_API ShapeInfer : public BroadcastShapeInfer<BroadcastMove> {
explicit ShapeInfer(const std::shared_ptr<Node>& n) : BroadcastShapeInfer<BroadcastMove>(n) {}
};

Expand Down
15 changes: 8 additions & 7 deletions src/common/snippets/include/snippets/op/buffer.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
#include "openvino/op/op.hpp"
#include "snippets/shape_inference/shape_inference.hpp"
#include "snippets/shape_types.hpp"
#include "snippets/snippets_visibility.hpp"
#include "snippets/utils/utils.hpp"

namespace ov::snippets::op {
Expand All @@ -32,7 +33,7 @@ namespace ov::snippets::op {
* implemented in the field `m_impl`.
* @ingroup snippets
*/
class Buffer : public ov::op::Op {
class SNIPPETS_API Buffer : public ov::op::Op {
public:
OPENVINO_OP("Buffer", "SnippetsOpset");
Buffer() = default;
Expand All @@ -50,7 +51,7 @@ class Buffer : public ov::op::Op {
return m_impl->get_allocation_size();
}

class ShapeInfer : public IShapeInferSnippets {
class SNIPPETS_API ShapeInfer : public IShapeInferSnippets {
std::shared_ptr<IShapeInferSnippets> m_impl_shape_infer{nullptr};

public:
Expand All @@ -60,7 +61,7 @@ class Buffer : public ov::op::Op {

private:
// Base class for implementations of Buffer
class BaseImpl {
class SNIPPETS_API BaseImpl {
public:
BaseImpl() = default;
virtual ~BaseImpl() = default;
Expand All @@ -73,7 +74,7 @@ class Buffer : public ov::op::Op {

// IntermediateMemoryImpl represents intermediate memory.
// The buffers with this implementation must have source (parents)
class IntermediateMemoryImpl : public BaseImpl {
class SNIPPETS_API IntermediateMemoryImpl : public BaseImpl {
public:
IntermediateMemoryImpl() = default;

Expand All @@ -90,15 +91,15 @@ class Buffer : public ov::op::Op {
}

private:
class ShapeInfer : public IShapeInferSnippets {
class SNIPPETS_API ShapeInfer : public IShapeInferSnippets {
public:
Result infer(const std::vector<VectorDimsRef>& input_shapes) override;
};
};

// NewMemoryImpl represents a new empty memory for allocation with specified shape and element type.
// The buffers with this implementation mustn't have source (parents)
class NewMemoryImpl : public BaseImpl {
class SNIPPETS_API NewMemoryImpl : public BaseImpl {
public:
explicit NewMemoryImpl(const ov::Shape& shape, ov::element::Type element_type);

Expand All @@ -111,7 +112,7 @@ class Buffer : public ov::op::Op {
}

private:
class ShapeInfer : public IShapeInferSnippets {
class SNIPPETS_API ShapeInfer : public IShapeInferSnippets {
ov::Shape m_shape;

public:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
#include "openvino/core/node_vector.hpp"
#include "openvino/core/type/element_type.hpp"
#include "openvino/op/op.hpp"
#include "snippets/snippets_visibility.hpp"

namespace ov::snippets::op {

Expand All @@ -25,7 +26,7 @@ namespace ov::snippets::op {
* 129 ---> 127
* @ingroup snippets
*/
class ConvertSaturation : public ov::op::v0::Convert {
class SNIPPETS_API ConvertSaturation : public ov::op::v0::Convert {
public:
OPENVINO_OP("ConvertSaturation", "SnippetsOpset", ov::op::v0::Convert);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
#include "openvino/core/node_vector.hpp"
#include "openvino/core/type/element_type.hpp"
#include "openvino/op/op.hpp"
#include "snippets/snippets_visibility.hpp"

namespace ov::snippets::op {

Expand All @@ -24,7 +25,7 @@ namespace ov::snippets::op {
* 129 ---> -127
* @ingroup snippets
*/
class ConvertTruncation : public ov::op::v0::Convert {
class SNIPPETS_API ConvertTruncation : public ov::op::v0::Convert {
public:
OPENVINO_OP("ConvertTruncation", "SnippetsOpset", ov::op::v0::Convert);

Expand Down
3 changes: 2 additions & 1 deletion src/common/snippets/include/snippets/op/fill.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
#include "openvino/core/node_output.hpp"
#include "openvino/core/node_vector.hpp"
#include "openvino/op/op.hpp"
#include "snippets/snippets_visibility.hpp"

namespace ov::snippets::op {

Expand All @@ -26,7 +27,7 @@ namespace ov::snippets::op {
* - fill_value - hexadecimal filling value
* @ingroup snippets
*/
class Fill : public ov::op::Op {
class SNIPPETS_API Fill : public ov::op::Op {
public:
OPENVINO_OP("Fill", "SnippetsOpset");

Expand Down
3 changes: 2 additions & 1 deletion src/common/snippets/include/snippets/op/horizon_max.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
#include "openvino/core/node_output.hpp"
#include "openvino/core/node_vector.hpp"
#include "openvino/op/op.hpp"
#include "snippets/snippets_visibility.hpp"

namespace ov::snippets::op {

Expand All @@ -19,7 +20,7 @@ namespace ov::snippets::op {
* @brief The operation calculates a horizon maximum of a vector register
* @ingroup snippets
*/
class HorizonMax : public ov::op::Op {
class SNIPPETS_API HorizonMax : public ov::op::Op {
public:
OPENVINO_OP("HorizonMax", "SnippetsOpset");

Expand Down
3 changes: 2 additions & 1 deletion src/common/snippets/include/snippets/op/horizon_sum.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
#include "openvino/core/node_output.hpp"
#include "openvino/core/node_vector.hpp"
#include "openvino/op/op.hpp"
#include "snippets/snippets_visibility.hpp"

namespace ov::snippets::op {

Expand All @@ -19,7 +20,7 @@ namespace ov::snippets::op {
* @brief The operation calculates a horizon sum of a vector register
* @ingroup snippets
*/
class HorizonSum : public ov::op::Op {
class SNIPPETS_API HorizonSum : public ov::op::Op {
public:
OPENVINO_OP("HorizonSum", "SnippetsOpset");

Expand Down
7 changes: 4 additions & 3 deletions src/common/snippets/include/snippets/op/kernel.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
#include "openvino/core/node_vector.hpp"
#include "openvino/op/op.hpp"
#include "snippets/lowered/linear_ir.hpp"
#include "snippets/snippets_visibility.hpp"

namespace ov::snippets::op {

Expand All @@ -19,7 +20,7 @@ namespace ov::snippets::op {
* @brief Generated by Canonicalization and represents compute kernel legal for scheduling
* @ingroup snippets
*/
class Kernel : public ov::op::Op {
class SNIPPETS_API Kernel : public ov::op::Op {
public:
OPENVINO_OP("Kernel", "SnippetsOpset");
Kernel() = default;
Expand All @@ -33,7 +34,7 @@ class Kernel : public ov::op::Op {
const void* compile_params = nullptr;
};

class KernelStatic : public Kernel {
class SNIPPETS_API KernelStatic : public Kernel {
public:
OPENVINO_OP("KernelStatic", "SnippetsOpset", Kernel);
KernelStatic() = default;
Expand All @@ -44,7 +45,7 @@ class KernelStatic : public Kernel {
std::shared_ptr<Node> clone_with_new_inputs(const OutputVector& inputs) const override;
};

class KernelDynamic : public Kernel {
class SNIPPETS_API KernelDynamic : public Kernel {
public:
OPENVINO_OP("KernelDynamic", "SnippetsOpset", Kernel);
KernelDynamic() = default;
Expand Down
7 changes: 4 additions & 3 deletions src/common/snippets/include/snippets/op/load.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
#include "snippets/op/memory_access.hpp"
#include "snippets/shape_inference/shape_inference.hpp"
#include "snippets/shape_types.hpp"
#include "snippets/snippets_visibility.hpp"

namespace ov::snippets::op {

Expand All @@ -27,7 +28,7 @@ namespace ov::snippets::op {
* first element)
* @ingroup snippets
*/
class Load : public modifier::MemoryAccess, public ov::op::Op {
class SNIPPETS_API Load : public modifier::MemoryAccess, public ov::op::Op {
public:
OPENVINO_OP("Load", "SnippetsOpset");

Expand Down Expand Up @@ -63,7 +64,7 @@ class Load : public modifier::MemoryAccess, public ov::op::Op {
* Load and Store. This is a temporary solution until tokenization of Reshape operation is supported.
* @ingroup snippets
*/
class LoadReorder : public Load {
class SNIPPETS_API LoadReorder : public Load {
public:
OPENVINO_OP("LoadReorder", "SnippetsOpset", Load);
explicit LoadReorder(const Output<Node>& x,
Expand All @@ -83,7 +84,7 @@ class LoadReorder : public Load {
std::shared_ptr<Node> clone_with_new_inputs(const OutputVector& new_args) const override;
void validate_and_infer_types() override;

class ShapeInfer : public IShapeInferSnippets {
class SNIPPETS_API ShapeInfer : public IShapeInferSnippets {
std::vector<size_t> m_order;

public:
Expand Down
7 changes: 4 additions & 3 deletions src/common/snippets/include/snippets/op/loop.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,15 @@
#include "openvino/core/node_output.hpp"
#include "openvino/core/node_vector.hpp"
#include "openvino/op/op.hpp"
#include "snippets/snippets_visibility.hpp"

namespace ov::snippets::op {
/**
* @interface LoopBase
* @brief Base class for LoopBegin and LoopEnd
* @ingroup snippets
*/
class LoopBase : public ov::op::Op {
class SNIPPETS_API LoopBase : public ov::op::Op {
public:
OPENVINO_OP("LoopBase", "SnippetsOpset");
explicit LoopBase(const OutputVector& args, bool is_parallel);
Expand All @@ -48,7 +49,7 @@ class LoopEnd;
* @param args - vector of input values, they are passed directly to output.
* @ingroup snippets
*/
class LoopBegin : public LoopBase {
class SNIPPETS_API LoopBegin : public LoopBase {
friend LoopEnd;

public:
Expand Down Expand Up @@ -79,7 +80,7 @@ class LoopBegin : public LoopBase {
* @param id the identifier of Loop in Loop system in LoopManager
* @ingroup snippets
*/
class LoopEnd : public LoopBase {
class SNIPPETS_API LoopEnd : public LoopBase {
public:
OPENVINO_OP("LoopEnd", "SnippetsOpset", LoopBase);
LoopEnd() = default;
Expand Down
5 changes: 3 additions & 2 deletions src/common/snippets/include/snippets/op/memory_access.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

#include "openvino/core/attribute_visitor.hpp"
#include "openvino/core/node.hpp"
#include "snippets/snippets_visibility.hpp"

namespace ov::snippets::modifier {

Expand All @@ -23,7 +24,7 @@ namespace ov::snippets::modifier {
* @ingroup snippets
*/

class MemoryAccess {
class SNIPPETS_API MemoryAccess {
public:
/**
* @interface PortDescriptor
Expand All @@ -33,7 +34,7 @@ class MemoryAccess {
* @param m_index - port index
* @ingroup snippets
*/
struct PortDescriptor {
struct SNIPPETS_API PortDescriptor {
PortDescriptor(size_t count, size_t offset) : count(count), offset(offset) {}
PortDescriptor() = default;
// TODO: should we deprecate count in favor of subtensors, ticket: 130004
Expand Down
3 changes: 2 additions & 1 deletion src/common/snippets/include/snippets/op/nop.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
#include "openvino/core/node.hpp"
#include "openvino/core/node_vector.hpp"
#include "openvino/op/op.hpp"
#include "snippets/snippets_visibility.hpp"

namespace ov::snippets::op {

Expand All @@ -17,7 +18,7 @@ namespace ov::snippets::op {
* @brief Generated by Canonicalization and represents not-an-operation
* @ingroup snippets
*/
class Nop : public ov::op::Op {
class SNIPPETS_API Nop : public ov::op::Op {
public:
OPENVINO_OP("Nop", "SnippetsOpset");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
#include "openvino/core/node.hpp"
#include "openvino/core/node_output.hpp"
#include "openvino/op/op.hpp"
#include "snippets/snippets_visibility.hpp"

namespace ov::snippets::op {

Expand All @@ -15,7 +16,7 @@ namespace ov::snippets::op {
* @brief OnlineSoftmax is a softmax that evaluate with online manner with axis on last dimension.
* @ingroup snippets
*/
class OnlineSoftmax : public ov::op::Op {
class SNIPPETS_API OnlineSoftmax : public ov::op::Op {
public:
OPENVINO_OP("OnlineSoftmax", "SnippetsOpset");

Expand Down
Loading
Loading