docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
gpu_arch.h
Go to the documentation of this file.
1#pragma once
2
3#include <ostream>
4#include <stdint.h>
5#include <string>
6
10#include "sdfg/types/type.h"
11
12namespace sdfg::gpu {
13
14class GpuArch {
15public:
16 static constexpr const char* ARCH_PROPERTY = "ARCH";
17
19 }
20 virtual ~GpuArch() = default;
21
22 virtual std::string unique_id() const = 0;
23 virtual std::string name() const = 0;
24 virtual int per_cu_threads() const = 0;
25
26 virtual const GpuMmaSupport* mma_support() const = 0;
27
29
31
32 static const GpuArch* parse_from_name(const std::string& raw_name);
33};
34
35namespace util {
36
39std::optional<std::string> run_and_capture(const std::string& command);
40
42std::string trim(const std::string& raw);
43
44} // namespace util
45
46} // namespace sdfg::gpu
virtual std::string name() const =0
virtual structured_control_flow::ScheduleType create_schedule_type() const =0
virtual std::string unique_id() const =0
virtual int per_cu_threads() const =0
static const GpuArch * get_from_schedule_type(const structured_control_flow::ScheduleType &schedule)
virtual ~GpuArch()=default
virtual const GpuMmaSupport * mma_support() const =0
static constexpr const char * ARCH_PROPERTY
Definition gpu_arch.h:16
GpuArch()
Definition gpu_arch.h:18
static const GpuArch * parse_from_name(const std::string &raw_name)
Represents a schedule type for Map nodes.
Definition structured_loop.h:31
Definition gpu_arch.h:35
std::string trim(const std::string &raw)
Trims surrounding whitespace from a string.
std::optional< std::string > run_and_capture(const std::string &command)
Runs a command and captures its standard output.
Definition cuda_arch.h:11
Definition gpu_mma_fragment.h:97
Symbolic system for integer-based symbol analysis.
Core type system definitions for sdfglib.