Compile snippets as a static library (#9095)
This commit is contained in:
parent
02e7706776
commit
12d322807f
@ -15,9 +15,9 @@ file(GLOB_RECURSE PUBLIC_HEADERS ${PUBLIC_HEADERS_DIR}/snippets/*.hpp)
|
|||||||
source_group("src" FILES ${LIBRARY_SRC})
|
source_group("src" FILES ${LIBRARY_SRC})
|
||||||
source_group("include" FILES ${PUBLIC_HEADERS})
|
source_group("include" FILES ${PUBLIC_HEADERS})
|
||||||
|
|
||||||
# Create library
|
# Create static library
|
||||||
|
|
||||||
add_library(${TARGET_NAME} EXCLUDE_FROM_ALL
|
add_library(${TARGET_NAME} STATIC EXCLUDE_FROM_ALL
|
||||||
${LIBRARY_SRC}
|
${LIBRARY_SRC}
|
||||||
${PUBLIC_HEADERS})
|
${PUBLIC_HEADERS})
|
||||||
|
|
||||||
@ -25,12 +25,7 @@ ie_faster_build(${TARGET_NAME}
|
|||||||
UNITY
|
UNITY
|
||||||
)
|
)
|
||||||
|
|
||||||
ie_add_vs_version_file(NAME ${TARGET_NAME}
|
target_link_libraries(${TARGET_NAME} PUBLIC ngraph
|
||||||
FILEDESCRIPTION "Inference Engine Snippets transformations library")
|
|
||||||
|
|
||||||
target_compile_definitions(${TARGET_NAME} PRIVATE inference_engine_transformations_EXPORTS)
|
|
||||||
|
|
||||||
target_link_libraries(${TARGET_NAME} PUBLIC ngraph inference_engine_transformations
|
|
||||||
PRIVATE ngraph_reference)
|
PRIVATE ngraph_reference)
|
||||||
|
|
||||||
target_include_directories(${TARGET_NAME} PUBLIC ${PUBLIC_HEADERS_DIR}
|
target_include_directories(${TARGET_NAME} PUBLIC ${PUBLIC_HEADERS_DIR}
|
||||||
@ -38,8 +33,6 @@ target_include_directories(${TARGET_NAME} PUBLIC ${PUBLIC_HEADERS_DIR}
|
|||||||
|
|
||||||
add_cpplint_target(${TARGET_NAME}_cpplint FOR_TARGETS ${TARGET_NAME})
|
add_cpplint_target(${TARGET_NAME}_cpplint FOR_TARGETS ${TARGET_NAME})
|
||||||
|
|
||||||
ie_add_api_validator_post_build_step(TARGET ${TARGET_NAME})
|
|
||||||
|
|
||||||
ie_mark_target_as_cc(${TARGET_NAME})
|
ie_mark_target_as_cc(${TARGET_NAME})
|
||||||
|
|
||||||
# LTO
|
# LTO
|
||||||
@ -49,15 +42,4 @@ set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION_REL
|
|||||||
# install
|
# install
|
||||||
|
|
||||||
# TODO: uncomment once snippets are integrated into CPU plugin
|
# TODO: uncomment once snippets are integrated into CPU plugin
|
||||||
# if(BUILD_SHARED_LIBS)
|
|
||||||
# install(TARGETS ${TARGET_NAME}
|
|
||||||
# RUNTIME DESTINATION ${IE_CPACK_RUNTIME_PATH} COMPONENT core
|
|
||||||
# LIBRARY DESTINATION ${IE_CPACK_LIBRARY_PATH} COMPONENT core)
|
|
||||||
# else()
|
|
||||||
# ov_install_static_lib(${TARGET_NAME} core)
|
# ov_install_static_lib(${TARGET_NAME} core)
|
||||||
# endif()
|
|
||||||
|
|
||||||
# TODO: remove once install commands above are commented out
|
|
||||||
install(TARGETS ${TARGET_NAME}
|
|
||||||
RUNTIME DESTINATION ${IE_CPACK_RUNTIME_PATH} COMPONENT tests EXCLUDE_FROM_ALL
|
|
||||||
LIBRARY DESTINATION ${IE_CPACK_LIBRARY_PATH} COMPONENT tests EXCLUDE_FROM_ALL)
|
|
||||||
|
@ -4,8 +4,6 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <transformations_visibility.hpp>
|
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
@ -20,7 +18,7 @@ using RegInfo = std::pair<std::vector<size_t>, std::vector<size_t>>;
|
|||||||
* @brief Base class for all target specific code emitters used by generator.
|
* @brief Base class for all target specific code emitters used by generator.
|
||||||
* @ingroup snippets
|
* @ingroup snippets
|
||||||
*/
|
*/
|
||||||
class TRANSFORMATIONS_API Emitter {
|
class Emitter {
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
* @brief Default constructor
|
* @brief Default constructor
|
||||||
|
@ -8,21 +8,20 @@
|
|||||||
*/
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <transformations_visibility.hpp>
|
|
||||||
#include "snippets_isa.hpp"
|
#include "snippets_isa.hpp"
|
||||||
#include "emitter.hpp"
|
#include "emitter.hpp"
|
||||||
|
|
||||||
namespace ngraph {
|
namespace ngraph {
|
||||||
namespace snippets {
|
namespace snippets {
|
||||||
|
|
||||||
TRANSFORMATIONS_API auto getRegisters(std::shared_ptr<ngraph::Node>& n) -> ngraph::snippets::RegInfo;
|
auto getRegisters(std::shared_ptr<ngraph::Node>& n) -> ngraph::snippets::RegInfo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @interface TargetMachine
|
* @interface TargetMachine
|
||||||
* @brief Base class Target machine representation. Target derives from this class to provide generator information about supported emittors
|
* @brief Base class Target machine representation. Target derives from this class to provide generator information about supported emittors
|
||||||
* @ingroup snippets
|
* @ingroup snippets
|
||||||
*/
|
*/
|
||||||
class TRANSFORMATIONS_API TargetMachine {
|
class TargetMachine {
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
* @brief checks if target is natively supported
|
* @brief checks if target is natively supported
|
||||||
@ -71,7 +70,7 @@ protected:
|
|||||||
* @brief Return scheduling information and pointer to generated kernel code
|
* @brief Return scheduling information and pointer to generated kernel code
|
||||||
* @ingroup snippets
|
* @ingroup snippets
|
||||||
*/
|
*/
|
||||||
class TRANSFORMATIONS_API Schedule {
|
class Schedule {
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
* @brief Default constructor
|
* @brief Default constructor
|
||||||
@ -101,7 +100,7 @@ public:
|
|||||||
* @brief Target independent code generator interface
|
* @brief Target independent code generator interface
|
||||||
* @ingroup snippets
|
* @ingroup snippets
|
||||||
*/
|
*/
|
||||||
class TRANSFORMATIONS_API Generator {
|
class Generator {
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
* @brief Default constructor
|
* @brief Default constructor
|
||||||
|
@ -4,8 +4,6 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <transformations_visibility.hpp>
|
|
||||||
|
|
||||||
#include <ngraph/op/op.hpp>
|
#include <ngraph/op/op.hpp>
|
||||||
#include "load.hpp"
|
#include "load.hpp"
|
||||||
|
|
||||||
@ -18,7 +16,7 @@ namespace op {
|
|||||||
* @brief Generated by Canonicalization step for blocked data (NCHW<X>c) to be loaded
|
* @brief Generated by Canonicalization step for blocked data (NCHW<X>c) to be loaded
|
||||||
* @ingroup snippets
|
* @ingroup snippets
|
||||||
*/
|
*/
|
||||||
class TRANSFORMATIONS_API BlockedLoad : public Load {
|
class BlockedLoad : public Load {
|
||||||
public:
|
public:
|
||||||
OPENVINO_OP("BlockedLoad", "SnippetsOpset", ngraph::snippets::op::Load);
|
OPENVINO_OP("BlockedLoad", "SnippetsOpset", ngraph::snippets::op::Load);
|
||||||
|
|
||||||
|
@ -4,8 +4,6 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <transformations_visibility.hpp>
|
|
||||||
|
|
||||||
#include <ngraph/op/op.hpp>
|
#include <ngraph/op/op.hpp>
|
||||||
#include <ngraph/op/parameter.hpp>
|
#include <ngraph/op/parameter.hpp>
|
||||||
|
|
||||||
@ -18,7 +16,7 @@ namespace op {
|
|||||||
* @brief Represents blocked input (NCHW<X>c) for a subgraph
|
* @brief Represents blocked input (NCHW<X>c) for a subgraph
|
||||||
* @ingroup snippets
|
* @ingroup snippets
|
||||||
*/
|
*/
|
||||||
class TRANSFORMATIONS_API BlockedParameter : public ngraph::op::Parameter {
|
class BlockedParameter : public ngraph::op::Parameter {
|
||||||
public:
|
public:
|
||||||
OPENVINO_OP("BlockedParameter", "SnippetsOpset", ngraph::op::Parameter);
|
OPENVINO_OP("BlockedParameter", "SnippetsOpset", ngraph::op::Parameter);
|
||||||
|
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <transformations_visibility.hpp>
|
|
||||||
#include <snippets/op/broadcastmove.hpp>
|
#include <snippets/op/broadcastmove.hpp>
|
||||||
|
|
||||||
#include "ngraph/op/op.hpp"
|
#include "ngraph/op/op.hpp"
|
||||||
@ -18,7 +17,7 @@ namespace op {
|
|||||||
* @brief Is generated for broadcasting by least varying dimension for non-blocked cases and the second varying dimension for blocked
|
* @brief Is generated for broadcasting by least varying dimension for non-blocked cases and the second varying dimension for blocked
|
||||||
* @ingroup snippets
|
* @ingroup snippets
|
||||||
*/
|
*/
|
||||||
class TRANSFORMATIONS_API BroadcastLoad : public BroadcastMove {
|
class BroadcastLoad : public BroadcastMove {
|
||||||
public:
|
public:
|
||||||
OPENVINO_OP("BroadcastLoad", "SnippetsOpset", ngraph::snippets::op::BroadcastMove);
|
OPENVINO_OP("BroadcastLoad", "SnippetsOpset", ngraph::snippets::op::BroadcastMove);
|
||||||
|
|
||||||
|
@ -4,8 +4,6 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <transformations_visibility.hpp>
|
|
||||||
|
|
||||||
#include "ngraph/op/op.hpp"
|
#include "ngraph/op/op.hpp"
|
||||||
|
|
||||||
namespace ngraph {
|
namespace ngraph {
|
||||||
@ -17,7 +15,7 @@ namespace op {
|
|||||||
* @brief Added to a subgraph if explicit broadcast instruction should be generated
|
* @brief Added to a subgraph if explicit broadcast instruction should be generated
|
||||||
* @ingroup snippets
|
* @ingroup snippets
|
||||||
*/
|
*/
|
||||||
class TRANSFORMATIONS_API BroadcastMove : public ngraph::op::Op {
|
class BroadcastMove : public ngraph::op::Op {
|
||||||
public:
|
public:
|
||||||
OPENVINO_OP("BroadcastMove", "SnippetsOpset");
|
OPENVINO_OP("BroadcastMove", "SnippetsOpset");
|
||||||
|
|
||||||
|
@ -4,8 +4,6 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <transformations_visibility.hpp>
|
|
||||||
|
|
||||||
#include "ngraph/op/op.hpp"
|
#include "ngraph/op/op.hpp"
|
||||||
#include "snippets/emitter.hpp"
|
#include "snippets/emitter.hpp"
|
||||||
|
|
||||||
@ -18,7 +16,7 @@ namespace op {
|
|||||||
* @brief Generated by Canonicalization and represents compute kernel legal for sheduling
|
* @brief Generated by Canonicalization and represents compute kernel legal for sheduling
|
||||||
* @ingroup snippets
|
* @ingroup snippets
|
||||||
*/
|
*/
|
||||||
class TRANSFORMATIONS_API Kernel : public ngraph::op::Op {
|
class Kernel : public ngraph::op::Op {
|
||||||
public:
|
public:
|
||||||
OPENVINO_OP("Kernel", "SnippetsOpset");
|
OPENVINO_OP("Kernel", "SnippetsOpset");
|
||||||
|
|
||||||
|
@ -4,8 +4,6 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <transformations_visibility.hpp>
|
|
||||||
|
|
||||||
#include <ngraph/op/op.hpp>
|
#include <ngraph/op/op.hpp>
|
||||||
|
|
||||||
namespace ngraph {
|
namespace ngraph {
|
||||||
@ -21,7 +19,7 @@ namespace op {
|
|||||||
* BlockedLoad == vector instruction - post increment
|
* BlockedLoad == vector instruction - post increment
|
||||||
* @ingroup snippets
|
* @ingroup snippets
|
||||||
*/
|
*/
|
||||||
class TRANSFORMATIONS_API Load : public ngraph::op::Op {
|
class Load : public ngraph::op::Op {
|
||||||
public:
|
public:
|
||||||
OPENVINO_OP("Load", "SnippetsOpset");
|
OPENVINO_OP("Load", "SnippetsOpset");
|
||||||
|
|
||||||
|
@ -4,8 +4,6 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <transformations_visibility.hpp>
|
|
||||||
|
|
||||||
#include "ngraph/op/op.hpp"
|
#include "ngraph/op/op.hpp"
|
||||||
|
|
||||||
namespace ngraph {
|
namespace ngraph {
|
||||||
@ -17,7 +15,7 @@ namespace op {
|
|||||||
* @brief Generated by Canonicalization and represents not-an-operation
|
* @brief Generated by Canonicalization and represents not-an-operation
|
||||||
* @ingroup snippets
|
* @ingroup snippets
|
||||||
*/
|
*/
|
||||||
class TRANSFORMATIONS_API Nop : public ngraph::op::Op {
|
class Nop : public ngraph::op::Op {
|
||||||
public:
|
public:
|
||||||
OPENVINO_OP("Nop", "SnippetsOpset");
|
OPENVINO_OP("Nop", "SnippetsOpset");
|
||||||
|
|
||||||
|
@ -4,8 +4,6 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <transformations_visibility.hpp>
|
|
||||||
|
|
||||||
#include "ngraph/op/op.hpp"
|
#include "ngraph/op/op.hpp"
|
||||||
#include "ngraph/op/constant.hpp"
|
#include "ngraph/op/constant.hpp"
|
||||||
|
|
||||||
@ -18,7 +16,7 @@ namespace op {
|
|||||||
* @brief Generated by Canonicalization for a scalar constant Shape() == {1}
|
* @brief Generated by Canonicalization for a scalar constant Shape() == {1}
|
||||||
* @ingroup snippets
|
* @ingroup snippets
|
||||||
*/
|
*/
|
||||||
class TRANSFORMATIONS_API Scalar : public ngraph::op::Constant {
|
class Scalar : public ngraph::op::Constant {
|
||||||
public:
|
public:
|
||||||
OPENVINO_OP("Scalar", "SnippetsOpset", ngraph::op::Constant);
|
OPENVINO_OP("Scalar", "SnippetsOpset", ngraph::op::Constant);
|
||||||
|
|
||||||
|
@ -4,8 +4,6 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <transformations_visibility.hpp>
|
|
||||||
|
|
||||||
#include <ngraph/op/op.hpp>
|
#include <ngraph/op/op.hpp>
|
||||||
#include "load.hpp"
|
#include "load.hpp"
|
||||||
|
|
||||||
@ -18,7 +16,7 @@ namespace op {
|
|||||||
* @brief Generated by Canonicalization for a scalar value load to vector register
|
* @brief Generated by Canonicalization for a scalar value load to vector register
|
||||||
* @ingroup snippets
|
* @ingroup snippets
|
||||||
*/
|
*/
|
||||||
class TRANSFORMATIONS_API ScalarLoad : public Load {
|
class ScalarLoad : public Load {
|
||||||
public:
|
public:
|
||||||
OPENVINO_OP("ScalarLoad", "SnippetsOpset", ngraph::snippets::op::Load);
|
OPENVINO_OP("ScalarLoad", "SnippetsOpset", ngraph::snippets::op::Load);
|
||||||
|
|
||||||
|
@ -4,8 +4,6 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <transformations_visibility.hpp>
|
|
||||||
|
|
||||||
#include <ngraph/op/op.hpp>
|
#include <ngraph/op/op.hpp>
|
||||||
#include "store.hpp"
|
#include "store.hpp"
|
||||||
|
|
||||||
@ -18,7 +16,7 @@ namespace op {
|
|||||||
* @brief Generated by Canonicalization for a scalar value store from vector register
|
* @brief Generated by Canonicalization for a scalar value store from vector register
|
||||||
* @ingroup snippets
|
* @ingroup snippets
|
||||||
*/
|
*/
|
||||||
class TRANSFORMATIONS_API ScalarStore : public Store {
|
class ScalarStore : public Store {
|
||||||
public:
|
public:
|
||||||
OPENVINO_OP("ScalarStore", "SnippetsOpset", ngraph::snippets::op::Store);
|
OPENVINO_OP("ScalarStore", "SnippetsOpset", ngraph::snippets::op::Store);
|
||||||
|
|
||||||
|
@ -4,8 +4,6 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <transformations_visibility.hpp>
|
|
||||||
|
|
||||||
#include <ngraph/op/op.hpp>
|
#include <ngraph/op/op.hpp>
|
||||||
#include <ngraph/op/power.hpp>
|
#include <ngraph/op/power.hpp>
|
||||||
#include <snippets/snippets_isa.hpp>
|
#include <snippets/snippets_isa.hpp>
|
||||||
@ -19,7 +17,7 @@ namespace op {
|
|||||||
* @brief Generated by Canonicalization for a spasical case of power innstruction which has constant power value
|
* @brief Generated by Canonicalization for a spasical case of power innstruction which has constant power value
|
||||||
* @ingroup snippets
|
* @ingroup snippets
|
||||||
*/
|
*/
|
||||||
class TRANSFORMATIONS_API PowerStatic : public ngraph::op::v1::Power {
|
class PowerStatic : public ngraph::op::v1::Power {
|
||||||
public:
|
public:
|
||||||
OPENVINO_OP("PowerStatic", "SnippetsOpset", ngraph::op::v1::Power);
|
OPENVINO_OP("PowerStatic", "SnippetsOpset", ngraph::op::v1::Power);
|
||||||
|
|
||||||
|
@ -4,8 +4,6 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <transformations_visibility.hpp>
|
|
||||||
|
|
||||||
#include <ngraph/op/op.hpp>
|
#include <ngraph/op/op.hpp>
|
||||||
|
|
||||||
namespace ngraph {
|
namespace ngraph {
|
||||||
@ -17,7 +15,7 @@ namespace op {
|
|||||||
* @brief Generated by Canonicalization step where explicit store instruction should be emmiteed
|
* @brief Generated by Canonicalization step where explicit store instruction should be emmiteed
|
||||||
* @ingroup snippets
|
* @ingroup snippets
|
||||||
*/
|
*/
|
||||||
class TRANSFORMATIONS_API Store : public ngraph::op::Op {
|
class Store : public ngraph::op::Op {
|
||||||
public:
|
public:
|
||||||
OPENVINO_OP("Store", "SnippetsOpset");
|
OPENVINO_OP("Store", "SnippetsOpset");
|
||||||
|
|
||||||
|
@ -6,7 +6,6 @@
|
|||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
#include <transformations_visibility.hpp>
|
|
||||||
#include <ngraph/function.hpp>
|
#include <ngraph/function.hpp>
|
||||||
#include <ngraph/op/op.hpp>
|
#include <ngraph/op/op.hpp>
|
||||||
#include <ngraph/rt_info.hpp>
|
#include <ngraph/rt_info.hpp>
|
||||||
@ -23,7 +22,7 @@ namespace op {
|
|||||||
* @brief An operation that is implemented by a function
|
* @brief An operation that is implemented by a function
|
||||||
* @ingroup snippets
|
* @ingroup snippets
|
||||||
*/
|
*/
|
||||||
class TRANSFORMATIONS_API Subgraph : public ngraph::op::Op {
|
class Subgraph : public ngraph::op::Op {
|
||||||
public:
|
public:
|
||||||
OPENVINO_OP("Subgraph", "SnippetsOpset");
|
OPENVINO_OP("Subgraph", "SnippetsOpset");
|
||||||
|
|
||||||
|
@ -4,8 +4,6 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <transformations_visibility.hpp>
|
|
||||||
|
|
||||||
#include "ngraph/op/op.hpp"
|
#include "ngraph/op/op.hpp"
|
||||||
#include "snippets/emitter.hpp"
|
#include "snippets/emitter.hpp"
|
||||||
|
|
||||||
@ -18,7 +16,7 @@ namespace op {
|
|||||||
* @brief Generated by Canonicalization and represents Loop in affine notation
|
* @brief Generated by Canonicalization and represents Loop in affine notation
|
||||||
* @ingroup snippets
|
* @ingroup snippets
|
||||||
*/
|
*/
|
||||||
class TRANSFORMATIONS_API Tile : public ngraph::op::Op {
|
class Tile : public ngraph::op::Op {
|
||||||
public:
|
public:
|
||||||
OPENVINO_OP("Tile", "SnippetsOpset");
|
OPENVINO_OP("Tile", "SnippetsOpset");
|
||||||
|
|
||||||
|
@ -4,8 +4,6 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <transformations_visibility.hpp>
|
|
||||||
|
|
||||||
#include <ngraph/op/op.hpp>
|
#include <ngraph/op/op.hpp>
|
||||||
#include "load.hpp"
|
#include "load.hpp"
|
||||||
|
|
||||||
@ -18,7 +16,7 @@ namespace op {
|
|||||||
* @brief Generated by Canonicalization for a vector value load to vector register
|
* @brief Generated by Canonicalization for a vector value load to vector register
|
||||||
* @ingroup snippets
|
* @ingroup snippets
|
||||||
*/
|
*/
|
||||||
class TRANSFORMATIONS_API VectorLoad : public Load {
|
class VectorLoad : public Load {
|
||||||
public:
|
public:
|
||||||
OPENVINO_OP("VectorLoad", "SnippetsOpset", ngraph::snippets::op::Load);
|
OPENVINO_OP("VectorLoad", "SnippetsOpset", ngraph::snippets::op::Load);
|
||||||
|
|
||||||
|
@ -4,8 +4,6 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <transformations_visibility.hpp>
|
|
||||||
|
|
||||||
#include <ngraph/op/op.hpp>
|
#include <ngraph/op/op.hpp>
|
||||||
#include "store.hpp"
|
#include "store.hpp"
|
||||||
|
|
||||||
@ -18,7 +16,7 @@ namespace op {
|
|||||||
* @brief Generated by Canonicalization for a vector value store from vector register
|
* @brief Generated by Canonicalization for a vector value store from vector register
|
||||||
* @ingroup snippets
|
* @ingroup snippets
|
||||||
*/
|
*/
|
||||||
class TRANSFORMATIONS_API VectorStore : public Store {
|
class VectorStore : public Store {
|
||||||
public:
|
public:
|
||||||
OPENVINO_OP("VectorStore", "SnippetsOpset", ngraph::snippets::op::Store);
|
OPENVINO_OP("VectorStore", "SnippetsOpset", ngraph::snippets::op::Store);
|
||||||
|
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <transformations_visibility.hpp>
|
|
||||||
#include <ngraph/pass/pass.hpp>
|
#include <ngraph/pass/pass.hpp>
|
||||||
|
|
||||||
namespace ngraph {
|
namespace ngraph {
|
||||||
@ -17,7 +16,7 @@ namespace pass {
|
|||||||
* Changing order of variables or datafrow lead to invalidation of register assignment.
|
* Changing order of variables or datafrow lead to invalidation of register assignment.
|
||||||
* @ingroup snippets
|
* @ingroup snippets
|
||||||
*/
|
*/
|
||||||
class TRANSFORMATIONS_API AssignRegisters : public ngraph::pass::FunctionPass {
|
class AssignRegisters : public ngraph::pass::FunctionPass {
|
||||||
public:
|
public:
|
||||||
AssignRegisters() : FunctionPass() {
|
AssignRegisters() : FunctionPass() {
|
||||||
set_property(ngraph::pass::PassProperty::REQUIRE_STATIC_SHAPE, true);
|
set_property(ngraph::pass::PassProperty::REQUIRE_STATIC_SHAPE, true);
|
||||||
|
@ -4,8 +4,6 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <transformations_visibility.hpp>
|
|
||||||
|
|
||||||
#include <ngraph/ngraph.hpp>
|
#include <ngraph/ngraph.hpp>
|
||||||
#include <ngraph/pass/graph_rewrite.hpp>
|
#include <ngraph/pass/graph_rewrite.hpp>
|
||||||
#include <ngraph/pattern/matcher.hpp>
|
#include <ngraph/pattern/matcher.hpp>
|
||||||
@ -20,7 +18,7 @@ namespace pass {
|
|||||||
* @brief Matches multiple output loyout-oblivious operations to start a new subgraph
|
* @brief Matches multiple output loyout-oblivious operations to start a new subgraph
|
||||||
* @ingroup snippets
|
* @ingroup snippets
|
||||||
*/
|
*/
|
||||||
class TRANSFORMATIONS_API StartSubgraph: public ngraph::pass::MatcherPass {
|
class StartSubgraph: public ngraph::pass::MatcherPass {
|
||||||
public:
|
public:
|
||||||
NGRAPH_RTTI_DECLARATION;
|
NGRAPH_RTTI_DECLARATION;
|
||||||
explicit StartSubgraph(bool tokenize_by_node = false);
|
explicit StartSubgraph(bool tokenize_by_node = false);
|
||||||
@ -31,7 +29,7 @@ public:
|
|||||||
* @brief Matches loyout-oblivious operations with subgraph operation as an input to attech this node into it
|
* @brief Matches loyout-oblivious operations with subgraph operation as an input to attech this node into it
|
||||||
* @ingroup snippets
|
* @ingroup snippets
|
||||||
*/
|
*/
|
||||||
class TRANSFORMATIONS_API AttachToSubgraph: public ngraph::pass::MatcherPass {
|
class AttachToSubgraph: public ngraph::pass::MatcherPass {
|
||||||
public:
|
public:
|
||||||
NGRAPH_RTTI_DECLARATION;
|
NGRAPH_RTTI_DECLARATION;
|
||||||
explicit AttachToSubgraph(bool tokenize_by_node = false);
|
explicit AttachToSubgraph(bool tokenize_by_node = false);
|
||||||
@ -60,7 +58,7 @@ public:
|
|||||||
* Scalar constants are placed as is into subgraph due to optimization purpose
|
* Scalar constants are placed as is into subgraph due to optimization purpose
|
||||||
* @ingroup snippets
|
* @ingroup snippets
|
||||||
*/
|
*/
|
||||||
class TRANSFORMATIONS_API TokenizeSnippets: public ngraph::pass::GraphRewrite {
|
class TokenizeSnippets: public ngraph::pass::GraphRewrite {
|
||||||
public:
|
public:
|
||||||
NGRAPH_RTTI_DECLARATION;
|
NGRAPH_RTTI_DECLARATION;
|
||||||
TokenizeSnippets(bool tokenize_by_node = false) {
|
TokenizeSnippets(bool tokenize_by_node = false) {
|
||||||
|
@ -4,8 +4,6 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <transformations_visibility.hpp>
|
|
||||||
|
|
||||||
#include <ngraph/pass/graph_rewrite.hpp>
|
#include <ngraph/pass/graph_rewrite.hpp>
|
||||||
#include <ngraph/pattern/matcher.hpp>
|
#include <ngraph/pattern/matcher.hpp>
|
||||||
|
|
||||||
@ -19,7 +17,7 @@ namespace pass {
|
|||||||
* The pass is used to convert function to a canonical form for code generation
|
* The pass is used to convert function to a canonical form for code generation
|
||||||
* @ingroup snippets
|
* @ingroup snippets
|
||||||
*/
|
*/
|
||||||
class TRANSFORMATIONS_API InsertLoad: public ngraph::pass::MatcherPass {
|
class InsertLoad: public ngraph::pass::MatcherPass {
|
||||||
public:
|
public:
|
||||||
InsertLoad();
|
InsertLoad();
|
||||||
};
|
};
|
||||||
@ -30,7 +28,7 @@ public:
|
|||||||
* The pass is used to convert function to a canonical form for code generation
|
* The pass is used to convert function to a canonical form for code generation
|
||||||
* @ingroup snippets
|
* @ingroup snippets
|
||||||
*/
|
*/
|
||||||
class TRANSFORMATIONS_API InsertStore: public ngraph::pass::MatcherPass {
|
class InsertStore: public ngraph::pass::MatcherPass {
|
||||||
public:
|
public:
|
||||||
InsertStore();
|
InsertStore();
|
||||||
};
|
};
|
||||||
|
@ -4,8 +4,6 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <transformations_visibility.hpp>
|
|
||||||
|
|
||||||
#include <ngraph/pass/graph_rewrite.hpp>
|
#include <ngraph/pass/graph_rewrite.hpp>
|
||||||
#include <ngraph/pattern/matcher.hpp>
|
#include <ngraph/pattern/matcher.hpp>
|
||||||
|
|
||||||
@ -19,7 +17,7 @@ namespace pass {
|
|||||||
* The pass is used to convert function to a canonical form for code generation
|
* The pass is used to convert function to a canonical form for code generation
|
||||||
* @ingroup snippets
|
* @ingroup snippets
|
||||||
*/
|
*/
|
||||||
class TRANSFORMATIONS_API InsertMoveBroadcast: public ngraph::pass::MatcherPass {
|
class InsertMoveBroadcast: public ngraph::pass::MatcherPass {
|
||||||
public:
|
public:
|
||||||
InsertMoveBroadcast();
|
InsertMoveBroadcast();
|
||||||
};
|
};
|
||||||
|
@ -4,8 +4,6 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <transformations_visibility.hpp>
|
|
||||||
|
|
||||||
#include <ngraph/pass/graph_rewrite.hpp>
|
#include <ngraph/pass/graph_rewrite.hpp>
|
||||||
#include <ngraph/pattern/matcher.hpp>
|
#include <ngraph/pattern/matcher.hpp>
|
||||||
|
|
||||||
@ -19,7 +17,7 @@ namespace pass {
|
|||||||
* The pass is used to convert function to a canonical form for code generation
|
* The pass is used to convert function to a canonical form for code generation
|
||||||
* @ingroup snippets
|
* @ingroup snippets
|
||||||
*/
|
*/
|
||||||
class TRANSFORMATIONS_API LoadMoveBroadcastToBroadcastLoad: public ngraph::pass::MatcherPass {
|
class LoadMoveBroadcastToBroadcastLoad: public ngraph::pass::MatcherPass {
|
||||||
public:
|
public:
|
||||||
LoadMoveBroadcastToBroadcastLoad();
|
LoadMoveBroadcastToBroadcastLoad();
|
||||||
};
|
};
|
||||||
|
@ -4,8 +4,6 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <transformations_visibility.hpp>
|
|
||||||
|
|
||||||
#include <ngraph/pass/graph_rewrite.hpp>
|
#include <ngraph/pass/graph_rewrite.hpp>
|
||||||
#include <ngraph/pattern/matcher.hpp>
|
#include <ngraph/pattern/matcher.hpp>
|
||||||
|
|
||||||
@ -20,7 +18,7 @@ namespace pass {
|
|||||||
* Used for tail generation
|
* Used for tail generation
|
||||||
* @ingroup snippets
|
* @ingroup snippets
|
||||||
*/
|
*/
|
||||||
class TRANSFORMATIONS_API ReplaceLoadsWithScalarLoads: public ngraph::pass::MatcherPass {
|
class ReplaceLoadsWithScalarLoads: public ngraph::pass::MatcherPass {
|
||||||
public:
|
public:
|
||||||
ReplaceLoadsWithScalarLoads();
|
ReplaceLoadsWithScalarLoads();
|
||||||
};
|
};
|
||||||
@ -32,7 +30,7 @@ public:
|
|||||||
* Used for tail generation
|
* Used for tail generation
|
||||||
* @ingroup snippets
|
* @ingroup snippets
|
||||||
*/
|
*/
|
||||||
class TRANSFORMATIONS_API ReplaceStoresWithScalarStores: public ngraph::pass::MatcherPass {
|
class ReplaceStoresWithScalarStores: public ngraph::pass::MatcherPass {
|
||||||
public:
|
public:
|
||||||
ReplaceStoresWithScalarStores();
|
ReplaceStoresWithScalarStores();
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user