![]() |
alpaka
Abstraction Library for Parallel Kernel Acceleration
|
Description of a specific device that one can schedule kernels on. More...
#include <Device.hpp>
Public Types | |
| using | element_type = typename DeviceHandle::element_type |
Public Member Functions | |
| template<typename T_Device> | |
| Device (Handle< T_Device > &&internalDeviceHandle) | |
| void | _ () |
| auto | get () const |
| constexpr alpaka::concepts::Api auto | getApi () const |
| constexpr auto | getDeviceKind () const |
| DeviceProperties | getDeviceProperties () const |
| Properties of a given device. | |
| size_t | getFreeGlobalMemBytes () const |
| std::string | getName () const |
| auto | getNativeHandle () const |
| auto | makeEvent () |
| auto | makeQueue () |
| auto | makeQueue (alpaka::concepts::QueueKind auto kind) |
| Create a queue for this device. | |
| bool | operator!= (Device const &other) const |
| bool | operator== (Device const &other) const |
| void | wait () |
| Blocks the caller until the given handle executes all work. | |
Private Types | |
| using | DeviceHandle |
| using | PlatformHandle = ALPAKA_TYPEOF(internal::makePlatform(T_Api{}, T_DeviceKind{})) |
Private Attributes | |
| DeviceHandle | m_device |
Friends | |
| struct | alpaka::internal::GetName |
| struct | internal::GetNativeHandle |
Description of a specific device that one can schedule kernels on.
A device is the combination of an alpaka::deviceKind::onHost::DeviceKind and an alpaka::concepts::Api, representing an entity that one can schedule work on.
| T_Api | The Api powering this device. |
| T_DeviceKind | The kind of device it is. |
Definition at line 31 of file Device.hpp.
|
private |
Definition at line 35 of file Device.hpp.
| using alpaka::onHost::Device< T_Api, T_DeviceKind >::element_type = typename DeviceHandle::element_type |
Definition at line 45 of file Device.hpp.
|
private |
Definition at line 34 of file Device.hpp.
|
inline |
Definition at line 53 of file Device.hpp.
|
inline |
Definition at line 58 of file Device.hpp.
|
inline |
Definition at line 47 of file Device.hpp.
|
inlineconstexpr |
Definition at line 146 of file Device.hpp.
|
inlineconstexpr |
Definition at line 141 of file Device.hpp.
|
inline |
Properties of a given device.
Definition at line 131 of file Device.hpp.
|
inline |
Definition at line 136 of file Device.hpp.
|
inline |
Definition at line 63 of file Device.hpp.
|
inlinenodiscard |
Definition at line 68 of file Device.hpp.
|
inline |
Definition at line 113 of file Device.hpp.
|
inline |
Definition at line 108 of file Device.hpp.
|
inline |
Create a queue for this device.
Enqueuing tasks into two different queues does not guarantee that these tasks run in parallel. Running tasks from different tasks sequentially is valid behavior. Enqueuing into two individual queues only signifies that the tasks are independent of each other and their order of execution is independent.
| kind | Blocking behaviour:
|
Definition at line 101 of file Device.hpp.
|
inline |
Definition at line 78 of file Device.hpp.
|
inline |
Definition at line 73 of file Device.hpp.
|
inline |
Blocks the caller until the given handle executes all work.
Definition at line 120 of file Device.hpp.
|
friend |
Definition at line 42 of file Device.hpp.
|
friend |
Definition at line 43 of file Device.hpp.
|
private |
Definition at line 39 of file Device.hpp.