hpx/async_cuda/cuda_executor.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
struct cuda_executor : public hpx::cuda::experimental::cuda_executor_base

Public Functions

cuda_executor(std::size_t device, bool event_mode = true)
~cuda_executor()
template<typename F, typename ...Ts>
decltype(auto) post(F &&f, Ts&&... ts)
template<typename F, typename ...Ts>
decltype(auto) async_execute(F &&f, Ts&&... ts)

Protected Functions

template<typename R, typename ...Params, typename ...Args>
void apply(R (*cuda_function)(Params...), Args&&... args, )
template<typename R, typename ...Params, typename ...Args>
hpx::future<void> async(R (*cuda_kernel)(Params...), Args&&... args, )
struct cuda_executor_base

Subclassed by hpx::cuda::experimental::cuda_executor

Public Types

using future_type = hpx::future<void>

Public Functions

cuda_executor_base(std::size_t device, bool event_mode)
future_type get_future()

Protected Attributes

int device_
bool event_mode_
cudaStream_t stream_
std::shared_ptr<hpx::cuda::experimental::target> target_