count_bank_conflicts Function

public pure function count_bank_conflicts(tile_size, block_rows, base_storage, padding) result(total_conflicts)

Counts bank conflicts for a given tile size, padding, element size, and block rows.

Arguments

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

Size of the tile

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

Number of rows in the block

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

Number of bytes needed to store single element

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

Padding added to the tile

Return Value integer(kind=int32)

Total number of bank conflicts


Called by

proc~~count_bank_conflicts~~CalledByGraph proc~count_bank_conflicts count_bank_conflicts proc~estimate_bank_conflict_ratio estimate_bank_conflict_ratio proc~estimate_bank_conflict_ratio->proc~count_bank_conflicts proc~estimate_optimal_padding estimate_optimal_padding proc~estimate_optimal_padding->proc~count_bank_conflicts proc~evaluate_analytical_performance evaluate_analytical_performance proc~evaluate_analytical_performance->proc~count_bank_conflicts proc~evaluate_analytical_performance->proc~estimate_bank_conflict_ratio proc~generate_candidates generate_candidates proc~generate_candidates->proc~estimate_optimal_padding proc~get_kernel get_kernel proc~get_kernel->proc~evaluate_analytical_performance proc~get_kernel->proc~generate_candidates proc~create~4 nvrtc_kernel%create proc~create~4->proc~get_kernel proc~create~9 transpose_handle_cuda%create proc~create~9->proc~create~4