docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
cuda_library_node_rewriter_pass.h
Go to the documentation of this file.
1#pragma once
2
7#include "sdfg/passes/pass.h"
9
10namespace sdfg {
11namespace cuda {
12
14public:
16
17 static std::string name() {
18 return "CudaLibraryNodeRewriterPass";
19 };
21
22private:
23 std::optional<data_flow::ImplementationType>
24 try_library_node_implementation(const data_flow::LibraryNode& lib_node, types::PrimitiveType data_type);
25
26 std::optional<data_flow::ImplementationType>
27 try_cublas_gemm_node_implementation(const math::blas::GEMMNode& gemm_node, types::PrimitiveType data_type);
28
29 std::optional<data_flow::ImplementationType> try_cublas_batched_gemm_node_implementation(
30 const math::blas::BatchedGEMMNode& batched_gemm_node, types::PrimitiveType data_type
31 );
32
33 std::optional<data_flow::ImplementationType> try_memset_implementation(const stdlib::MemsetNode& memset_node);
34
35 std::optional<data_flow::ImplementationType> try_memcpy_implementation(const stdlib::MemcpyNode& memcpy_node);
36};
37
39
40} // namespace cuda
41} // 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
CudaLibraryNodeRewriter(builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager)
bool accept(structured_control_flow::Block &node) override
static std::string name()
Definition cuda_library_node_rewriter_pass.h:17
Base class for all library nodes in the dataflow graph.
Definition library_node.h:106
Definition batched_gemm_node.h:17
Definition gemm_node.h:16
Definition pass.h:55
Definition memcpy.h:14
Definition memset.h:14
A control flow node representing a basic block with dataflow computations.
Definition block.h:42
Very specific implementation, that technically visits the SDFG of an StructuredSDFGBuilder and not ju...
Definition structured_sdfg_visitor.h:16
Definition function_builder.h:10
Definition cuda_library_node_rewriter_pass.h:11
passes::VisitorPass< CudaLibraryNodeRewriter > CudaLibraryNodeRewriterPass
Definition cuda_library_node_rewriter_pass.h:38
PrimitiveType
Enumeration of all primitive data types supported by sdfglib.
Definition type.h:35
Definition analysis.h:7