Understanding Profiling Metrics

I profiled my application using the command

nvprof --metrics all ./app &> prof.txt

. The thing I don’t understand is that why the number of device memory read transactions is greater than that of L2 read transaction.

1                    dram_read_transactions                       Device Memory Read Transactions   488766156   488766156   488766156
1                      l2_read_transactions                                  L2 Read Transactions   268076721   268076721   268076721

My understanding is that device memory read transactions only happen when there are L2 misses. From this standing point of view, the number of L2 read transactions should be greater than the number of device memory read transactions. Could someone explain to me why profiling contradicts to my understanding?