docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
rocm_mma_transform.h
Go to the documentation of this file.
1#include <string>
2
10
11
12namespace sdfg::gpu::rocm {
13
14// Transformation wrapper around the ROCm/CUDA MMA library-node expander.
15// Given a MatMul library node and a target arch, it expands the node into the
16// arch-specific MMA implementation, mirroring the C++ ``expand_single_node``.
19 const sdfg::gpu::GpuArch* arch_;
20 bool expanded_ = false;
21
22public:
24
25 std::string name() const override;
26
28
30
31 bool expanded() const;
32
33 void to_json(nlohmann::json& j) const override;
34
36};
37
38} // namespace sdfg::gpu::rocm
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
Definition gpu_arch.h:14
GpuMmaTransform(sdfg::math::tensor::MatMulNode &node, const sdfg::gpu::GpuArch *arch)
static GpuMmaTransform from_json(builder::StructuredSDFGBuilder &builder, const nlohmann::json &desc)
bool can_be_applied(sdfg::builder::StructuredSDFGBuilder &, sdfg::analysis::AnalysisManager &) override
Check if this transformation can be safely applied.
std::string name() const override
Get the name of this transformation.
void apply(sdfg::builder::StructuredSDFGBuilder &builder, sdfg::analysis::AnalysisManager &) override
Apply this transformation to the SDFG.
void to_json(nlohmann::json &j) const override
Serialize this transformation to JSON.
Tensor matrix multiplication following ONNX MatMul operator specification.
Definition matmul_node.h:84
Base class for all SDFG transformations.
Definition transformation.h:25
Tensor matrix multiplication node compatible with ONNX MatMul operator.
Definition function_builder.h:10
Definition rocm_arch.h:11