Kernel Tuning Toolkit 2.3
 
Loading...
Searching...
No Matches
DeviceInfo.h
Go to the documentation of this file.
1
4#pragma once
5
6#include <cstdint>
7#include <string>
8
10#include <KttPlatform.h>
11#include <KttTypes.h>
12
13namespace ktt
14{
15
19class KTT_API DeviceInfo
20{
21public:
27 explicit DeviceInfo(const DeviceIndex index, const std::string& name);
28
34
39 const std::string& GetName() const;
40
45 const std::string& GetVendor() const;
46
51 const std::string& GetExtensions() const;
52
58
63 std::string GetDeviceTypeString() const;
64
69 uint64_t GetGlobalMemorySize() const;
70
75 uint64_t GetLocalMemorySize() const;
76
81 uint64_t GetMaxConstantBufferSize() const;
82
87 uint64_t GetMaxWorkGroupSize() const;
88
93 uint32_t GetMaxComputeUnits() const;
94
100
106
111 std::string GetString() const;
112
117 void SetVendor(const std::string& vendor);
118
123 void SetExtensions(const std::string& extensions);
124
129 void SetDeviceType(const DeviceType deviceType);
130
135 void SetGlobalMemorySize(const uint64_t globalMemorySize);
136
141 void SetLocalMemorySize(const uint64_t localMemorySize);
142
147 void SetMaxConstantBufferSize(const uint64_t maxConstantBufferSize);
148
153 void SetMaxWorkGroupSize(const uint64_t maxWorkGroupSize);
154
159 void SetMaxComputeUnits(const uint32_t maxComputeUnits);
160
165 void SetCudaComputeCapabilityMajor(const uint32_t capabilityMajor);
166
171 void SetCudaComputeCapabilityMinor(const uint32_t capabilityMinor);
172
173private:
174 DeviceIndex m_Index;
175 std::string m_Name;
176 std::string m_Vendor;
177 std::string m_Extensions;
178 DeviceType m_DeviceType;
179 uint64_t m_GlobalMemorySize;
180 uint64_t m_LocalMemorySize;
181 uint64_t m_MaxConstantBufferSize;
182 uint64_t m_MaxWorkGroupSize;
183 uint32_t m_MaxComputeUnits;
184 uint32_t m_CudaComputeCapabilityMajor;
185 uint32_t m_CudaComputeCapabilityMinor;
186};
187
188} // namespace ktt
Definition DeviceInfo.h:20
void SetVendor(const std::string &vendor)
void SetCudaComputeCapabilityMajor(const uint32_t capabilityMajor)
DeviceInfo(const DeviceIndex index, const std::string &name)
const std::string & GetExtensions() const
uint64_t GetGlobalMemorySize() const
void SetDeviceType(const DeviceType deviceType)
const std::string & GetVendor() const
void SetMaxWorkGroupSize(const uint64_t maxWorkGroupSize)
uint32_t GetMaxComputeUnits() const
uint32_t GetCudaComputeCapabilityMajor() const
void SetMaxConstantBufferSize(const uint64_t maxConstantBufferSize)
const std::string & GetName() const
void SetExtensions(const std::string &extensions)
uint32_t GetCudaComputeCapabilityMinor() const
std::string GetDeviceTypeString() const
void SetGlobalMemorySize(const uint64_t globalMemorySize)
void SetCudaComputeCapabilityMinor(const uint32_t capabilityMinor)
DeviceIndex GetIndex() const
uint64_t GetMaxWorkGroupSize() const
DeviceType GetDeviceType() const
uint64_t GetMaxConstantBufferSize() const
std::string GetString() const
void SetLocalMemorySize(const uint64_t localMemorySize)
void SetMaxComputeUnits(const uint32_t maxComputeUnits)
uint64_t GetLocalMemorySize() const
Definition KttPlatform.h:41
uint32_t DeviceIndex
Definition KttTypes.h:30
DeviceType
Definition DeviceType.h:13