docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
einsum_lift.h
Go to the documentation of this file.
1#pragma once
2
3#include <nlohmann/json_fwd.hpp>
4#include <string>
5
11
12namespace sdfg {
13namespace einsum {
14
16private:
17 data_flow::Tasklet& tasklet_;
18
19 bool subsets_eq(const data_flow::Subset& subset1, const data_flow::Subset& subset2);
20
21public:
23
24 virtual std::string name() const override;
25
26 virtual bool
28
29 virtual void apply(builder::StructuredSDFGBuilder& builder, analysis::AnalysisManager& analysis_manager) override;
30
31 virtual void to_json(nlohmann::json& j) const override;
32
34};
35
36} // namespace einsum
37} // namespace sdfg
Definition analysis.h:53
Note: Even though the class references unique_ptr, it will never delete an SDFG it has a reference to...
Definition structured_sdfg_builder.h:44
Simple computational operation in the dataflow graph.
Definition tasklet.h:348
virtual void apply(builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager) override
Apply this transformation to the SDFG.
EinsumLift(data_flow::Tasklet &tasklet)
static EinsumLift from_json(builder::StructuredSDFGBuilder &builder, const nlohmann::json &j)
virtual std::string name() const override
Get the name of this transformation.
virtual bool can_be_applied(builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager) override
Check if this transformation can be safely applied.
virtual void to_json(nlohmann::json &j) const override
Serialize this transformation to JSON.
Base class for all SDFG transformations.
Definition transformation.h:25
Edges in the dataflow graph representing data movement.
Definition function_builder.h:10
symbolic::MultiExpression Subset
Type alias for a subset specification (array of symbolic expressions).
Definition memlet.h:103
Definition einsum.h:13
Definition analysis.h:7
Simple computational operations in the dataflow graph.