-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Snippets] Introduced BufferExpression #26413
[Snippets] Introduced BufferExpression #26413
Conversation
1c46e4d
to
4d607ea
Compare
const char* get_type_name() const { | ||
return get_type_info().name; | ||
} | ||
|
||
protected: | ||
Expression(const Expression& other); | ||
// Note: The constructor initialization is private since an expression can be created only by Linear IR. | ||
// The method must be used only by Linear IR builder of expressions! | ||
Expression(const std::shared_ptr<Node>& n, const std::shared_ptr<IShapeInferSnippetsFactory>& factory, bool need_shape_infer = true); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Open question for discussion: can we move this ctor to public section to avoid writing friend class ExpressionFactory;
in each SpecialExpression
🤔
3a82f13
to
b6daa85
Compare
src/common/snippets/include/snippets/lowered/expressions/buffer_expression.hpp
Outdated
Show resolved
Hide resolved
a658924
to
aa70468
Compare
aa70468
to
e34be5a
Compare
d8d532a
to
48525c4
Compare
48525c4
to
0432d44
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good job 👍
// IntermediateMemoryImpl represents intermediate memory. | ||
// The buffers with this implementation must have source (parents) | ||
class IntermediateMemoryImpl : public BaseImpl { | ||
class ShapeInfer; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor: this class is used only in implementations, forward declaration is not required.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correct, Looks like it's remainder after the previous implementations. Removed
src/plugins/intel_cpu/src/emitters/snippets/aarch64/jit_kernel_emitter.cpp
Outdated
Show resolved
Hide resolved
...ins/intel_cpu/src/transformations/snippets/x64/pass/lowered/insert_brgemm_copy_b_buffers.hpp
Outdated
Show resolved
Hide resolved
c6bc187
to
719256d
Compare
@IvanNovoselov your comments have been applied. May I ask you please to take a look one more time? |
719256d
to
37a62e4
Compare
[Snippets][CPU] Implemented BrgemmCopyB specific buffers [Snippets] Fixed build
37a62e4
to
16568a6
Compare
### Details: - *Implemented BrgemmCopyBExecutor* - *Added tests with dynamic input shapes for MatMul INT8/BF16* ### Tickets: - *151922* ### Prerequisites: - [x] #26413
Details:
BufferExpression
- now we don't have to cast the source node toop::Buffer
to get attributes - all of them are stored inBufferExpression
nowNewMemoryBuffer
andIntermediateMemoryBuffer
ops into oneBuffer
since now they are distinguished only by argument countBrgemmCopyB
-specificBufferExpression
after this opTickets: