alpaka
Abstraction Library for Parallel Kernel Acceleration
Loading...
Searching...
No Matches
Device.hpp File Reference
#include "Handle.hpp"
#include "alpaka/interface.hpp"
#include "alpaka/onHost/Event.hpp"
#include "alpaka/onHost/Queue.hpp"
#include "alpaka/onHost/concepts.hpp"
#include "alpaka/onHost/internal/interface.hpp"
#include "alpaka/tag.hpp"
#include "alpaka/utility.hpp"
#include <bit>
#include <climits>

Go to the source code of this file.

Classes

struct  alpaka::onHost::Device< T_Api, T_DeviceKind >
 Description of a specific device that one can schedule kernels on. More...

Namespaces

namespace  alpaka
 main alpaka namespace.
namespace  alpaka::onHost
 Functionality which is usable on the host CPU controller thread.
namespace  alpaka::onHost::concepts

Concepts

concept  alpaka::onHost::concepts::Device
 Concept to check if something is a device.

Functions

template<typename T_Device>
 alpaka::onHost::Device (Handle< T_Device > &&) -> Device< ALPAKA_TYPEOF(alpaka::internal::getApi(std::declval< T_Device >())), ALPAKA_TYPEOF(alpaka::internal::getDeviceKind(std::declval< T_Device >()))>
template<typename T_DataType, typename T_Api, alpaka::concepts::DeviceKind T_DeviceKind>
constexpr auto alpaka::onHost::getFrameSpec (Device< T_Api, T_DeviceKind > const &device, alpaka::concepts::Executor auto executor, alpaka::concepts::VectorOrScalar auto const &extents)
 Provides a frame specification to operate on a given index range.
bool alpaka::onHost::isDataAccessible (concepts::Device auto const &device, alpaka::concepts::IView auto const &view)
 Check if the given view is accessible on the given device.
template<typename T_Device, alpaka::concepts::QueueKind T_QueueKind>
bool alpaka::onHost::isDataAccessible (Queue< T_Device, T_QueueKind > const &queue, alpaka::concepts::IView auto const &view)
 Check if the given view is accessible on the device of the given queue.
Device allocations
template<typename T_Type>
auto alpaka::onHost::alloc (concepts::Device auto const &device, alpaka::concepts::VectorOrScalar auto const &extents)
 Allocate memory on the given device.
auto alpaka::onHost::allocLike (concepts::Device auto const &device, auto const &view)
 Allocate memory on the given device based on a view.
template<typename T_Type>
auto alpaka::onHost::allocMapped (concepts::Device auto const &device, alpaka::concepts::VectorOrScalar auto const &extents)
 Allocate pinned memory on the host which is mapped into the address space of the device.
template<typename T_Type, typename T_Device, alpaka::concepts::QueueKind T_QueueKind>
auto alpaka::onHost::allocMapped (Queue< T_Device, T_QueueKind > const &queue, alpaka::concepts::VectorOrScalar auto const &extents)
 Allocate pinned memory on the host which is mapped into the address space of the device.
template<typename T_Type>
auto alpaka::onHost::allocUnified (concepts::Device auto const &device, alpaka::concepts::VectorOrScalar auto const &extents)
 Allocate memory on the given device with unified virtual memory.
template<typename T_Type, typename T_Device, alpaka::concepts::QueueKind T_QueueKind>
auto alpaka::onHost::allocUnified (Queue< T_Device, T_QueueKind > const &queue, alpaka::concepts::VectorOrScalar auto const &extents)
 Allocates unified memory on the device associated with the given queue.