cuda-api-wrappers
Thin C++-flavored wrappers for the CUDA Runtime API
Public Member Functions | Public Attributes | List of all members
cuda::launch_configuration_t Struct Reference
Collaboration diagram for cuda::launch_configuration_t:
Collaboration graph
[legend]

Public Member Functions

bool has_nondefault_attributes () const
 Determine whether the configuration includes launch attributes different than the default values. More...
 
constexpr launch_configuration_t (const launch_configuration_t &)=default
 
constexpr launch_configuration_t (launch_configuration_t &&)=default
 
constexpr launch_configuration_t (grid::composite_dimensions_t grid_and_block_dimensions, memory::shared::size_t dynamic_shared_mem=0u)
 
constexpr launch_configuration_t (grid::dimensions_t grid_dims, grid::dimensions_t block_dims, memory::shared::size_t dynamic_shared_mem=0u)
 
constexpr launch_configuration_t (int grid_dims, int block_dims, memory::shared::size_t dynamic_shared_mem=0u)
 
launch_configuration_toperator= (const launch_configuration_t &other)=default
 
launch_configuration_toperator= (launch_configuration_t &&)=default
 

Public Attributes

grid::composite_dimensions_t dimensions { grid::dimensions_t{ 0u, 0u, 0u }, grid::block_dimensions_t{ 0u, 0u, 0u } }
 
memory::shared::size_t dynamic_shared_memory_size { 0u }
 The number of bytes each grid block may use, in addition to the statically-allocated shared memory data inherent in the compiled kernel.
 
bool block_cooperation { false }
 When true, CUDA's "cooperative launch" mechanism will be used, enabling more flexible device-wide synchronization capabilities; see CUDA Programming Guide section C.7, Grid Synchronization. More...
 

Member Function Documentation

◆ has_nondefault_attributes()

bool cuda::launch_configuration_t::has_nondefault_attributes ( ) const
inline

Determine whether the configuration includes launch attributes different than the default values.

Note
The grid dimensions, block dimensions, and dynamic shared memory size are not considered launch attributes, and their settings does not affect the result of this method.

Member Data Documentation

◆ block_cooperation

bool cuda::launch_configuration_t::block_cooperation { false }

When true, CUDA's "cooperative launch" mechanism will be used, enabling more flexible device-wide synchronization capabilities; see CUDA Programming Guide section C.7, Grid Synchronization.

(The section talks about "cooperative groups", but you should ignore those, as they are simply C++ library constructs and do not in the compiled code).


The documentation for this struct was generated from the following file: