make_buffer#

Overloads#

make_buffer(__stream, __mr, __source, __env={})#

template<class _Tp, class _Resource, class _FirstSourceProperty, class ..._RestSourceProperties, class _Env = ::cuda::std::execution::env<>>
inline auto cuda::make_buffer(
stream_ref __stream,
_Resource &&__mr,
const buffer<_Tp, _FirstSourceProperty, _RestSourceProperties...> &__source,
const _Env &__env = {}
)

Creates a buffer by copying from __source, using the default properties of __mr.

Parameters:
  • __stream – The stream used for allocation and copy.

  • __mr – The memory resource used for allocation.

  • __source – The source buffer to copy from.

  • __env – The environment providing additional configuration.

make_buffer(__stream, __mr, __env={})#

template<class _Tp, class _Resource, class _Env = ::cuda::std::execution::env<>>
inline auto cuda::make_buffer(
stream_ref __stream,
_Resource &&__mr,
const _Env &__env = {}
)

Creates an empty buffer using the default properties of __mr.

Parameters:
  • __stream – The stream used for allocation.

  • __mr – The memory resource used for allocation.

  • __env – The environment providing additional configuration.

make_buffer(__stream, __mr, __size, __value, __env={})#

template<class _Tp, class _Resource, class _Env = ::cuda::std::execution::env<>>
inline auto cuda::make_buffer(
stream_ref __stream,
_Resource &&__mr,
size_t __size,
const _Tp &__value,
const _Env &__env = {}
)

Creates a buffer of __size elements initialized to __value, using the default properties of __mr.

Parameters:
  • __stream – The stream used for allocation and initialization.

  • __mr – The memory resource used for allocation.

  • __size – The number of elements.

  • __value – The value to initialize elements with.

  • __env – The environment providing additional configuration.

make_buffer(__stream, __mr, __size, ::cuda::no_init_t, __env={})#

template<class _Tp, class _Resource, class _Env = ::cuda::std::execution::env<>>
inline auto cuda::make_buffer(
stream_ref __stream,
_Resource &&__mr,
size_t __size,
::cuda::no_init_t,
const _Env &__env = {}
)

Creates a buffer of __size uninitialized elements, using the default properties of __mr.

Parameters:
  • __stream – The stream used for allocation.

  • __mr – The memory resource used for allocation.

  • __size – The number of elements.

  • __env – The environment providing additional configuration.

make_buffer(__stream, __mr, __first, __last, __env={})#

template<class _Tp, class _Resource, class _Iter, class _Env = ::cuda::std::execution::env<>>
inline auto cuda::make_buffer(
stream_ref __stream,
_Resource &&__mr,
_Iter __first,
_Iter __last,
const _Env &__env = {}
)

Creates a buffer from the iterator range [__first, __last), using the default properties of __mr.

Parameters:
  • __stream – The stream used for allocation and copy.

  • __mr – The memory resource used for allocation.

  • __first – The start of the input sequence.

  • __last – The end of the input sequence.

  • __env – The environment providing additional configuration.

make_buffer(__stream, __mr, __ilist, __env={})#

template<class _Tp, class _Resource, class _Env = ::cuda::std::execution::env<>>
inline auto cuda::make_buffer(
stream_ref __stream,
_Resource &&__mr,
::cuda::std::initializer_list<_Tp> __ilist,
const _Env &__env = {}
)

Creates a buffer from __ilist, using the default properties of __mr.

Parameters:
  • __stream – The stream used for allocation and copy.

  • __mr – The memory resource used for allocation.

  • __ilist – The initializer_list being copied into the buffer.

  • __env – The environment providing additional configuration.

make_buffer(__stream, __mr, __range, __env={})#

template<class _Tp, class _Resource, class _Range, class _Env = ::cuda::std::execution::env<>>
inline auto cuda::make_buffer(
stream_ref __stream,
_Resource &&__mr,
_Range &&__range,
const _Env &__env = {}
)

Creates a buffer from __range, using the default properties of __mr.

Parameters:
  • __stream – The stream used for allocation and copy.

  • __mr – The memory resource used for allocation.

  • __range – The input range to be copied into the buffer.

  • __env – The environment providing additional configuration.