pystencils.codegen.config.GpuOptions

Contents

pystencils.codegen.config.GpuOptions#

class pystencils.codegen.config.GpuOptions(indexing_scheme=None, manual_launch_grid=None, warp_size=None, default_block_size=None, assume_warp_aligned_block_size=None, use_cub_reductions=None, generate_launch_bounds=None)#

Configuration options specific to GPU targets.

Methods

__init__([indexing_scheme, ...])

copy()

Perform a semi-deep copy of this configuration object.

default_warp_size(target)

get_default_block_size(rank)

Returns the default block size configuration used by the generator.

get_option(name)

Get the value set for the specified option, or the option's default value if none has been set.

is_option_set(name)

override(other)

Attributes

assume_warp_aligned_block_size

Specifies whether block sizes are divisible by the hardware's warp size.

default_block_size

Specifies the default block size used for generating the kernels.

generate_launch_bounds

Specifies if generated kernels are augmented with the __launch_bounds__(...) function qualifier.

indexing_scheme

Thread indexing scheme for dense GPU kernels.

manual_launch_grid

Always require a manually specified launch grid when running this kernel.

use_cub_reductions

Specifies if CUB is used as a reduction back-end (CUDA/HIP).

warp_size

Specifies the size of a warp (CUDA) or wavefront (HIP).

Parameters: