cuda::experimental::dynamic_shared_memory#

Overloads#

dynamic_shared_memory(noexcept)#

template<typename Content, std::size_t Extent = 1, bool NonPortableSize = false>
constexpr dynamic_shared_memory_option<Content, Extent, NonPortableSize> cuda::experimental::dynamic_shared_memory(
) noexcept

Creates an instance of dynamic_shared_memory_option with a statically known size.

Type and size need to specified using template arguments.

Template Parameters:
  • Content – Type intended to be stored in dynamic shared memory

  • Extent – Statically specified number of Content objects in dynamic shared memory

  • NonPortableSize – Needs to be enabled to exceed the portable limit of 48kB of shared memory per block

dynamic_shared_memory(noexcept)#

template<typename Content, bool NonPortableSize = false>
constexpr dynamic_shared_memory_option<Content, ::cuda::std::dynamic_extent, NonPortableSize> cuda::experimental::dynamic_shared_memory(
std::size_t count,
) noexcept

Creates an instance of dynamic_shared_memory_option with a dynamic size.

Type stored needs to be specified using template argument, while size is a function argument

Parameters:

count – Number of Content elements in dynamic shared memory

Template Parameters:
  • Content – Type intended to be stored in dynamic shared memory

  • NonPortableSize – Needs to be enabled to exceed the portable limit of 48kB of shared memory per block