- home_node specify the tile ID/core_id where you want to read the L2 metric of interest. In your case, (-x_tiles=2 -y_tiles=1) you have a system with two Arianes so you can choose to access the L2 in core ID 0 or 1.
- About the metrics in the L2, you first need to enable them with the L2 control registers explained in the documentation:
5.4.8 Access to the L2 control register
The L2 control register is a 64-bit register in L2 cache. The
lowest bit is used as the enable bit for clumpy shared memory.
The 2nd bit is the enable bit for the error status register. The 3rd bit is the enable bit for l2 access counter and the 4th Bit
is the enable bit for l2 miss counter. 32 to 53 are used as the
base address for the sharer map table (SMT). Other bits are
undefined. The access format of the address is described below.
:
39:32 ⇒ access type: 0xA9
31:30 ⇒ undefined
29:24 ⇒ home node
23:0 ⇒ undefined
A stx or ldx instruction can be used to read or write the data
array. Each diagnostic load or store operates on the entire 64
bits
So when accessing L2 in tile 0:
1 - STORE 0x0C00000000000000 at @0xAB00000000 --> enable the cache metrics
2 - READ 0xAA00000000 or 0xAB00000000 (access/misses)
3 you can reset them by writing zero to the latter @
Let me know if that works. We are working on a basic library to easily perform these performance counters reads.
Regards,
Guillem