estimate_coalescing Function

private function estimate_coalescing(dims, tile_dim, other_dim, kernel_type, config, base_storage, neighbor_data) result(score)

Estimate memory coalescing efficiency for a given kernel configuration and transpose type

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: dims(:)

Local dimensions of the input data

integer(kind=int32), intent(in) :: tile_dim

Tile dimension

integer(kind=int32), intent(in) :: other_dim

Other dimension (not tiled)

type(kernel_type_t), intent(in) :: kernel_type

Type of kernel

type(kernel_config), intent(in) :: config

Kernel configuration

integer(kind=int64), intent(in) :: base_storage

Number of bytes needed to store single element

integer(kind=int32), intent(in), optional :: neighbor_data(:)

Neighboring data dimensions for pipelined kernels

Return Value real(kind=real32)

Coalescing score


Called by

proc~~estimate_coalescing~~CalledByGraph proc~estimate_coalescing estimate_coalescing proc~evaluate_analytical_performance evaluate_analytical_performance proc~evaluate_analytical_performance->proc~estimate_coalescing proc~get_kernel get_kernel proc~get_kernel->proc~evaluate_analytical_performance proc~create~8 kernel_device%create proc~create~8->proc~get_kernel