3 #include <cuda_runtime.h> 4 #include <cuda_runtime_api.h> 6 #include <muda/muda_def.h> 7 #include <muda/tools/debug_log.h> 8 #include <muda/muda_config.h> 9 #include <muda/assert.h> 10 #include <muda/tools/launch_info_cache.h> 11 #include <muda/tools/fuzzy.h> 12 #include <muda/type_traits/type_modifier.h> 18 class ViewerBaseAccessor;
20 template <
bool IsConst_ = false>
24 constexpr
static bool IsConst = IsConst_;
25 constexpr
static bool IsNonConst = !IsConst_;
29 using auto_const_t = std::conditional_t<IsConst, const T, T>;
31 using non_const_enable_t = std::enable_if_t<IsNonConst, T>;
47 m_kernel_name = details::LaunchInfoCache::current_kernel_name();
52 MUDA_GENERIC
const char* name()
const MUDA_NOEXCEPT
55 auto n = m_viewer_name.auto_select();
62 MUDA_GENERIC
const char* kernel_name()
const MUDA_NOEXCEPT
65 auto n = m_kernel_name.auto_select();
79 MUDA_INLINE MUDA_HOST
void name(
const char* n) MUDA_NOEXCEPT
82 m_viewer_name = details::LaunchInfoCache::view_name(n);
89 m_viewer_name = pointer;
93 MUDA_INLINE MUDA_GENERIC
void copy_name(
const ViewerBase& other) MUDA_NOEXCEPT
96 m_kernel_name = other.m_kernel_name;
97 m_viewer_name = other.m_viewer_name;
102 #define MUDA_VIEWER_COMMON_NAME(viewer_name) \ 104 using this_type = viewer_name; \ 106 MUDA_INLINE MUDA_HOST this_type& name(const char* n) noexcept \ 108 ::muda::ViewerBase<viewer_name::IsConst>::name(n); \ 112 MUDA_INLINE MUDA_GENERIC const char* name() const noexcept \ 114 return ::muda::ViewerBase<viewer_name::IsConst>::name(); \
Definition: viewer_base.h:21
Definition: string_pointer.h:6