alpaka
Abstraction Library for Parallel Kernel Acceleration
Loading...
Searching...
No Matches
alpaka::onHost::cpu::Device< T_Platform > Struct Template Reference

#include <Device.hpp>

Inheritance diagram for alpaka::onHost::cpu::Device< T_Platform >:

Public Member Functions

 Device (Device &&)=delete
 Device (Device const &)=delete
 Device (internal::concepts::PlatformHandle auto platform, uint32_t const idx, uint32_t cpuGroupIdx)
 ~Device ()
bool operator!= (Device const &other) const
Deviceoperator= (Device &&)=delete
Deviceoperator= (Device const &)=delete
bool operator== (Device const &other) const
void wait ()

Private Member Functions

void _ ()
auto getDeviceKind () const
auto getFreeGlobalMemBytes () const
std::string getName () const
uint32_t getNativeHandle () const noexcept
std::shared_ptr< DevicegetSharedPtr ()
bool isNumaAware () const
Handle< cpu::Event< Device > > makeEvent ()
Handle< cpu::Queue< Device > > makeQueue (alpaka::concepts::QueueKind auto kind)
template<typename T>
void pinPointer (T *const ptr, size_t bytes)
void setThreadAffinity () const

Private Attributes

std::vector< std::weak_ptr< cpu::Event< Device > > > events
uint32_t m_cpuGroupIdx = internal::hwloc::allDomains
uint32_t m_idx = 0u
Handle< T_Platform > m_platform
DeviceProperties m_properties
std::vector< std::weak_ptr< cpu::Queue< Device > > > queues
std::mutex queuesGuard

Friends

struct alpaka::internal::GetApi
struct alpaka::internal::GetDeviceType
struct alpaka::internal::GetName
struct internal::AdjustThreadSpec
struct internal::Alloc
struct internal::AllocDeferred
struct internal::AllocMapped
struct internal::AllocUnified
struct internal::GetDeviceProperties
struct internal::GetFreeGlobalMemBytes
struct internal::GetNativeHandle
struct internal::MakeEvent
struct internal::MakeQueue
template<typename T_Device>
struct Queue

Detailed Description

template<typename T_Platform>
struct alpaka::onHost::cpu::Device< T_Platform >

Definition at line 32 of file Device.hpp.

Constructor & Destructor Documentation

◆ Device() [1/3]

template<typename T_Platform>
alpaka::onHost::cpu::Device< T_Platform >::Device ( internal::concepts::PlatformHandle auto platform,
uint32_t const idx,
uint32_t cpuGroupIdx )
inline

Definition at line 35 of file Device.hpp.

◆ ~Device()

template<typename T_Platform>
alpaka::onHost::cpu::Device< T_Platform >::~Device ( )
inline

Definition at line 44 of file Device.hpp.

◆ Device() [2/3]

template<typename T_Platform>
alpaka::onHost::cpu::Device< T_Platform >::Device ( Device< T_Platform > const & )
delete

◆ Device() [3/3]

template<typename T_Platform>
alpaka::onHost::cpu::Device< T_Platform >::Device ( Device< T_Platform > && )
delete

Member Function Documentation

◆ _()

template<typename T_Platform>
void alpaka::onHost::cpu::Device< T_Platform >::_ ( )
inlineprivate

Definition at line 85 of file Device.hpp.

◆ getDeviceKind()

template<typename T_Platform>
auto alpaka::onHost::cpu::Device< T_Platform >::getDeviceKind ( ) const
inlineprivate

Definition at line 173 of file Device.hpp.

◆ getFreeGlobalMemBytes()

template<typename T_Platform>
auto alpaka::onHost::cpu::Device< T_Platform >::getFreeGlobalMemBytes ( ) const
inlineprivate

Definition at line 178 of file Device.hpp.

◆ getName()

template<typename T_Platform>
std::string alpaka::onHost::cpu::Device< T_Platform >::getName ( ) const
inlineprivate

Definition at line 124 of file Device.hpp.

◆ getNativeHandle()

template<typename T_Platform>
uint32_t alpaka::onHost::cpu::Device< T_Platform >::getNativeHandle ( ) const
inlinenodiscardprivatenoexcept

Definition at line 131 of file Device.hpp.

◆ getSharedPtr()

template<typename T_Platform>
std::shared_ptr< Device > alpaka::onHost::cpu::Device< T_Platform >::getSharedPtr ( )
inlineprivate

Definition at line 98 of file Device.hpp.

◆ isNumaAware()

template<typename T_Platform>
bool alpaka::onHost::cpu::Device< T_Platform >::isNumaAware ( ) const
inlineprivate

Definition at line 117 of file Device.hpp.

◆ makeEvent()

template<typename T_Platform>
Handle< cpu::Event< Device > > alpaka::onHost::cpu::Device< T_Platform >::makeEvent ( )
inlineprivate

Definition at line 160 of file Device.hpp.

◆ makeQueue()

template<typename T_Platform>
Handle< cpu::Queue< Device > > alpaka::onHost::cpu::Device< T_Platform >::makeQueue ( alpaka::concepts::QueueKind auto kind)
inlineprivate

Definition at line 138 of file Device.hpp.

◆ operator!=()

template<typename T_Platform>
bool alpaka::onHost::cpu::Device< T_Platform >::operator!= ( Device< T_Platform > const & other) const
inline

Definition at line 60 of file Device.hpp.

◆ operator=() [1/2]

template<typename T_Platform>
Device & alpaka::onHost::cpu::Device< T_Platform >::operator= ( Device< T_Platform > && )
delete

◆ operator=() [2/2]

template<typename T_Platform>
Device & alpaka::onHost::cpu::Device< T_Platform >::operator= ( Device< T_Platform > const & )
delete

◆ operator==()

template<typename T_Platform>
bool alpaka::onHost::cpu::Device< T_Platform >::operator== ( Device< T_Platform > const & other) const
inline

Definition at line 55 of file Device.hpp.

◆ pinPointer()

template<typename T_Platform>
template<typename T>
void alpaka::onHost::cpu::Device< T_Platform >::pinPointer ( T *const ptr,
size_t bytes )
inlineprivate

Definition at line 112 of file Device.hpp.

◆ setThreadAffinity()

template<typename T_Platform>
void alpaka::onHost::cpu::Device< T_Platform >::setThreadAffinity ( ) const
inlineprivate

Definition at line 106 of file Device.hpp.

◆ wait()

template<typename T_Platform>
void alpaka::onHost::cpu::Device< T_Platform >::wait ( )
inline

Definition at line 65 of file Device.hpp.

◆ alpaka::internal::GetApi

template<typename T_Platform>
friend struct alpaka::internal::GetApi
friend

Definition at line 188 of file Device.hpp.

◆ alpaka::internal::GetDeviceType

template<typename T_Platform>
friend struct alpaka::internal::GetDeviceType
friend

Definition at line 171 of file Device.hpp.

◆ alpaka::internal::GetName

template<typename T_Platform>
friend struct alpaka::internal::GetName
friend

Definition at line 122 of file Device.hpp.

◆ internal::AdjustThreadSpec

template<typename T_Platform>
friend struct internal::AdjustThreadSpec
friend

Definition at line 191 of file Device.hpp.

◆ internal::Alloc

template<typename T_Platform>
friend struct internal::Alloc
friend

Definition at line 187 of file Device.hpp.

◆ internal::AllocDeferred

template<typename T_Platform>
friend struct internal::AllocDeferred
friend

Definition at line 192 of file Device.hpp.

◆ internal::AllocMapped

template<typename T_Platform>
friend struct internal::AllocMapped
friend

Definition at line 194 of file Device.hpp.

◆ internal::AllocUnified

template<typename T_Platform>
friend struct internal::AllocUnified
friend

Definition at line 193 of file Device.hpp.

◆ internal::GetDeviceProperties

template<typename T_Platform>
friend struct internal::GetDeviceProperties
friend

Definition at line 189 of file Device.hpp.

◆ internal::GetFreeGlobalMemBytes

template<typename T_Platform>
friend struct internal::GetFreeGlobalMemBytes
friend

Definition at line 190 of file Device.hpp.

◆ internal::GetNativeHandle

template<typename T_Platform>
friend struct internal::GetNativeHandle
friend

Definition at line 129 of file Device.hpp.

◆ internal::MakeEvent

template<typename T_Platform>
friend struct internal::MakeEvent
friend

Definition at line 158 of file Device.hpp.

◆ internal::MakeQueue

template<typename T_Platform>
friend struct internal::MakeQueue
friend

Definition at line 136 of file Device.hpp.

◆ Queue

template<typename T_Platform>
template<typename T_Device>
friend struct Queue
friend

Definition at line 104 of file Device.hpp.

Member Data Documentation

◆ events

template<typename T_Platform>
std::vector<std::weak_ptr<cpu::Event<Device> > > alpaka::onHost::cpu::Device< T_Platform >::events
private

Definition at line 95 of file Device.hpp.

◆ m_cpuGroupIdx

template<typename T_Platform>
uint32_t alpaka::onHost::cpu::Device< T_Platform >::m_cpuGroupIdx = internal::hwloc::allDomains
private

Definition at line 92 of file Device.hpp.

◆ m_idx

template<typename T_Platform>
uint32_t alpaka::onHost::cpu::Device< T_Platform >::m_idx = 0u
private

Definition at line 91 of file Device.hpp.

◆ m_platform

template<typename T_Platform>
Handle<T_Platform> alpaka::onHost::cpu::Device< T_Platform >::m_platform
private

Definition at line 90 of file Device.hpp.

◆ m_properties

template<typename T_Platform>
DeviceProperties alpaka::onHost::cpu::Device< T_Platform >::m_properties
private

Definition at line 93 of file Device.hpp.

◆ queues

template<typename T_Platform>
std::vector<std::weak_ptr<cpu::Queue<Device> > > alpaka::onHost::cpu::Device< T_Platform >::queues
private

Definition at line 94 of file Device.hpp.

◆ queuesGuard

template<typename T_Platform>
std::mutex alpaka::onHost::cpu::Device< T_Platform >::queuesGuard
private

Definition at line 96 of file Device.hpp.


The documentation for this struct was generated from the following file: