hpx/async_cuda/target.hpp

See Public API for a list of names and headers that are part of the public HPX API.

namespace hpx
namespace cuda
namespace experimental

Functions

target &get_default_target()
struct target

Public Functions

target()
target(int device)
target(target const &rhs)
target(target &&rhs)
target &operator=(target const &rhs)
target &operator=(target &&rhs)
native_handle_type &native_handle()
native_handle_type const &native_handle() const
void synchronize() const
hpx::future<void> get_future_with_event() const
hpx::future<void> get_future_with_callback() const
template<typename Allocator>
hpx::future<void> get_future_with_event(Allocator const &alloc) const
template<typename Allocator>
hpx::future<void> get_future_with_callback(Allocator const &alloc) const

Public Static Functions

static std::vector<target> get_local_targets()

Private Members

native_handle_type handle_

Friends

bool operator==(target const &lhs, target const &rhs)
struct native_handle_type

Public Types

typedef hpx::spinlock mutex_type

Public Functions

native_handle_type(int device = 0)
~native_handle_type()
native_handle_type(native_handle_type const &rhs)
native_handle_type(native_handle_type &&rhs)
native_handle_type &operator=(native_handle_type const &rhs)
native_handle_type &operator=(native_handle_type &&rhs)
cudaStream_t get_stream() const
int get_device() const
std::size_t processing_units() const
std::size_t processor_family() const
std::string processor_name() const
void reset()

Private Functions

void init_processing_units()

Private Members

mutex_type mtx_
int device_
std::size_t processing_units_
std::size_t processor_family_
std::string processor_name_
cudaStream_t stream_

Friends

friend hpx::cuda::experimental::target