40 template<
typename TPlatform,
typename TSfinae>
60 DevCpu() : m_spDevCpuImpl(
std::make_shared<cpu::detail::DevCpuImpl>())
72 return !((*this) == rhs);
77 return m_spDevCpuImpl->getAllExistingQueues();
84 m_spDevCpuImpl->registerQueue(spQueue);
105 std::shared_ptr<cpu::detail::DevCpuImpl> m_spDevCpuImpl;
113 struct GetName<DevCpu>
117 return dev.m_spDevCpuImpl->deviceProperties(dev)->name;
123 struct GetMemBytes<DevCpu>
127 return dev.m_spDevCpuImpl->deviceProperties(dev)->totalGlobalMem;
133 struct GetFreeMemBytes<DevCpu>
143 struct GetWarpSizes<DevCpu>
153 struct GetPreferredWarpSize<DevCpu>
178 return dev.getNativeHandle();
183 template<
typename TElem,
typename TDim,
typename TIdx>
189 template<
typename TElem,
typename TDim,
typename TIdx>
#define ALPAKA_DEBUG_FULL_LOG_SCOPE
auto operator!=(DevCpu const &rhs) const -> bool
static void setDeviceProperties(alpaka::DevCpu const &, alpaka::DeviceProperties &devProperties)
auto getNativeHandle() const noexcept
auto operator==(DevCpu const &) const -> bool
ALPAKA_FN_HOST auto getAllQueues() const -> std::vector< std::shared_ptr< cpu::ICpuQueue > >
ALPAKA_FN_HOST auto registerQueue(std::shared_ptr< cpu::ICpuQueue > spQueue) const -> void
Registers the given queue on this device. NOTE: Every queue has to be registered for correct function...
auto getTotalGlobalMemSizeBytes() -> std::size_t
auto getFreeGlobalMemSizeBytes() -> std::size_t
auto getCpuName() -> std::string
The alpaka accelerator library.
ALPAKA_FN_HOST constexpr auto getPreferredWarpSize(TDev const &dev) -> std::size_t
ALPAKA_FN_HOST auto getName(TDev const &dev) -> std::string
ALPAKA_FN_HOST auto getWarpSizes(TDev const &dev) -> std::vector< std::size_t >
ALPAKA_FN_HOST auto reset(TDev const &dev) -> void
Resets the device. What this method does is dependent on the accelerator.
QueueGenericThreadsBlocking< DevCpu > QueueCpuBlocking
ALPAKA_FN_HOST auto getFreeMemBytes(TDev const &dev) -> std::size_t
ALPAKA_FN_HOST auto getMemBytes(TDev const &dev) -> std::size_t
decltype(getNativeHandle(std::declval< TImpl >())) NativeHandle
Alias to the type of the native handle.
QueueGenericThreadsNonBlocking< DevCpu > QueueCpuNonBlocking
std::size_t totalGlobalMem
The CPU/GPU device queue registry implementation.
Tag used in class inheritance hierarchies that describes that a specific interface (TInterface) is im...
The memory buffer type trait.
The device free memory size get trait.
The device memory size get trait.
The device name get trait.
The device preferred warp size get trait.
The device warp size get trait.
static auto getNativeHandle(TImpl const &)
Queue for an accelerator.