Как понимать такие метрики, как l1tex__data_bank_conflicts_pipe_lsu_mem_global?
Конфликты банков возникают при доступе к общей памяти во время загрузки/сохранения. Когда я использую код, показанный ниже:
__global__ void
bank_conf(const int* dev_a, int size) {
extern __shared__ int cache;
int tidx = blockIdx.x * blockDim.x + threadIdx.x;
cache[tidx * 2] += dev_a[tidx];
}
Результаты некоторых метрик, протестированных в моей программе, выглядят следующим образом:
Section: Command line profiler metrics
---------------------------------------------------------------------- --------------- ------------------------------
l1tex__data_bank_conflicts_pipe_lsu_mem_global.avg 0
l1tex__data_bank_conflicts_pipe_lsu_mem_global.max 0
l1tex__data_bank_conflicts_pipe_lsu_mem_global.min 0
l1tex__data_bank_conflicts_pipe_lsu_mem_global.sum 0
l1tex__data_bank_conflicts_pipe_lsu_mem_global_op_st.avg 0
l1tex__data_bank_conflicts_pipe_lsu_mem_global_op_st.max 0
l1tex__data_bank_conflicts_pipe_lsu_mem_global_op_st.min 0
l1tex__data_bank_conflicts_pipe_lsu_mem_global_op_st.sum 0
l1tex__data_bank_conflicts_pipe_lsu_mem_shared.avg 0.05
l1tex__data_bank_conflicts_pipe_lsu_mem_shared.max 2
l1tex__data_bank_conflicts_pipe_lsu_mem_shared.min 0
l1tex__data_bank_conflicts_pipe_lsu_mem_shared.sum 2
---------------------------------------------------------------------- --------------- ------------------------------
Может ли кто-нибудь помочь мне объяснить, почему такие показатели, как
l1tex__data_bank_conflicts_pipe_lsu_mem_global
а также
l1tex__data_bank_conflicts_pipe_lsu_mem_global_op_st
, и другие. не работают, и как понимать такие метрики?