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

Holds the parameters necessary to "launch" a CUDA kernel (i.e. More...

#include <types.hpp>

Collaboration diagram for cuda::launch_configuration_t:
Collaboration graph
[legend]

Public Member Functions

 launch_configuration_t ()=delete
 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...
 
constexpr launch_configuration_t (const launch_configuration_t &)=default
 
constexpr launch_configuration_t (launch_configuration_t &&)=default
 
constexpr launch_configuration_t (grid::complete_dimensions_t grid_and_block_dimensions, memory::shared::size_t dynamic_shared_mem=0u, bool thread_block_cooperation=false)
 
constexpr launch_configuration_t (grid::dimensions_t grid_dims, grid::dimensions_t block_dims, memory::shared::size_t dynamic_shared_mem=0u, bool thread_block_cooperation=false)
 
constexpr launch_configuration_t (int grid_dims, int block_dims, memory::shared::size_t dynamic_shared_mem=0u, bool thread_block_cooperation=false)
 
constexpr grid::dimensions_t combined_grid_dimensions () const
 The overall dimensions, in thread, of the launch grid.
 

Public Attributes

grid::complete_dimensions_t dimensions { 0 , 0 }
 
memory::shared::size_t dynamic_shared_memory_size { 0u }
 
bool block_cooperation { false }
 The number of bytes each grid block may use, in addition to the statically-allocated shared memory data inherent in the compiled kernel. More...
 

Detailed Description

Holds the parameters necessary to "launch" a CUDA kernel (i.e.

schedule it for execution on some stream of some device).

Constructor & Destructor Documentation

◆ launch_configuration_t()

cuda::launch_configuration_t::launch_configuration_t ( )
delete

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).

Member Data Documentation

◆ block_cooperation

bool cuda::launch_configuration_t::block_cooperation { false }

The number of bytes each grid block may use, in addition to the statically-allocated shared memory data inherent in the compiled kernel.


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