nvc0: add more MP counters for nve4

This commit is contained in:
Samuel Pitoiset 2013-07-25 10:35:34 +02:00 committed by Christoph Bumiller
parent 2f9fe2d80a
commit 981b589101
3 changed files with 47 additions and 14 deletions

View File

@ -774,6 +774,16 @@ static const char *nve4_pm_query_names[] =
"active_warps",
"active_cycles",
"inst_issued",
"atom_count",
"gred_count",
"shared_load_replay",
"shared_store_replay",
"local_load_transactions",
"local_store_transactions",
"l1_shared_load_transactions",
"l1_shared_store_transactions",
"global_ld_mem_divergence_replays",
"global_st_mem_divergence_replays",
/* metrics, i.e. functions of the MP counters */
"metric-ipc", /* inst_executed, clock */
"metric-ipac", /* inst_executed, active_cycles */
@ -871,6 +881,16 @@ static const struct nve4_mp_pm_query_cfg nve4_mp_pm_queries[] =
_Q1A(BRANCH_DIVERGENT, 0x0001, B6, BRANCH, 0x00000010, 1, 1),
_Q1B(ACTIVE_WARPS, 0x003f, B6, WARP, 0x31483104, 2, 1),
_Q1B(ACTIVE_CYCLES, 0x0001, B6, WARP, 0x00000000, 1, 1),
_Q1A(ATOM_COUNT, 0x0001, B6, BRANCH, 0x00000000, 1, 1),
_Q1A(GRED_COUNT, 0x0001, B6, BRANCH, 0x00000008, 1, 1),
_Q1B(LD_SHARED_REPLAY, 0x0001, B6, REPLAY, 0x00000008, 1, 1),
_Q1B(ST_SHARED_REPLAY, 0x0001, B6, REPLAY, 0x0000000c, 1, 1),
_Q1B(LD_LOCAL_TRANSACTIONS, 0x0001, B6, TRANSACTION, 0x00000000, 1, 1),
_Q1B(ST_LOCAL_TRANSACTIONS, 0x0001, B6, TRANSACTION, 0x00000004, 1, 1),
_Q1B(L1_LD_SHARED_TRANSACTIONS, 0x0001, B6, TRANSACTION, 0x00000008, 1, 1),
_Q1B(L1_ST_SHARED_TRANSACTIONS, 0x0001, B6, TRANSACTION, 0x0000000c, 1, 1),
_Q1B(GLD_MEM_DIV_REPLAY, 0x0001, B6, REPLAY, 0x00000010, 1, 1),
_Q1B(GST_MEM_DIV_REPLAY, 0x0001, B6, REPLAY, 0x00000014, 1, 1),
_M2AB(IPC, 0x3, B6, EXEC, 0x398, 0xffff, LOGOP, WARP, 0x0, DIV_SUM_M0, 10, 1),
_M2AB(IPAC, 0x3, B6, EXEC, 0x398, 0x1, B6, WARP, 0x0, AVG_DIV_MM, 10, 1),
_M2A(IPEC, 0x3, B6, EXEC, 0x398, 0xe, LOGOP, EXEC, 0x398, AVG_DIV_MM, 10, 1),

View File

@ -87,7 +87,7 @@ nvc0_screen(struct pipe_screen *screen)
/* Performance counter queries:
*/
#define NVE4_PM_QUERY_COUNT 39
#define NVE4_PM_QUERY_COUNT 49
#define NVE4_PM_QUERY(i) (PIPE_QUERY_DRIVER_SPECIFIC + (i))
#define NVE4_PM_QUERY_LAST NVE4_PM_QUERY(NVE4_PM_QUERY_COUNT - 1)
#define NVE4_PM_QUERY_PROF_TRIGGER_0 0
@ -123,12 +123,23 @@ nvc0_screen(struct pipe_screen *screen)
#define NVE4_PM_QUERY_ACTIVE_WARPS 30
#define NVE4_PM_QUERY_ACTIVE_CYCLES 31
#define NVE4_PM_QUERY_INST_ISSUED 32
#define NVE4_PM_QUERY_METRIC_IPC 33
#define NVE4_PM_QUERY_METRIC_IPAC 34
#define NVE4_PM_QUERY_METRIC_IPEC 35
#define NVE4_PM_QUERY_METRIC_MP_OCCUPANCY 36
#define NVE4_PM_QUERY_METRIC_MP_EFFICIENCY 37
#define NVE4_PM_QUERY_METRIC_INST_REPLAY_OHEAD 38
#define NVE4_PM_QUERY_ATOM_COUNT 33
#define NVE4_PM_QUERY_GRED_COUNT 34
#define NVE4_PM_QUERY_LD_SHARED_REPLAY 35
#define NVE4_PM_QUERY_ST_SHARED_REPLAY 36
#define NVE4_PM_QUERY_LD_LOCAL_TRANSACTIONS 37
#define NVE4_PM_QUERY_ST_LOCAL_TRANSACTIONS 38
#define NVE4_PM_QUERY_L1_LD_SHARED_TRANSACTIONS 39
#define NVE4_PM_QUERY_L1_ST_SHARED_TRANSACTIONS 40
#define NVE4_PM_QUERY_GLD_MEM_DIV_REPLAY 41
#define NVE4_PM_QUERY_GST_MEM_DIV_REPLAY 42
#define NVE4_PM_QUERY_METRIC_IPC 43
#define NVE4_PM_QUERY_METRIC_IPAC 44
#define NVE4_PM_QUERY_METRIC_IPEC 45
#define NVE4_PM_QUERY_METRIC_MP_OCCUPANCY 46
#define NVE4_PM_QUERY_METRIC_MP_EFFICIENCY 47
#define NVE4_PM_QUERY_METRIC_INST_REPLAY_OHEAD 48
/*
#define NVE4_PM_QUERY_GR_IDLE 50
#define NVE4_PM_QUERY_BSP_IDLE 51

View File

@ -8,13 +8,13 @@ http://0x04.net/cgit/index.cgi/rules-ng-ng
git clone git://0x04.net/rules-ng-ng
The rules-ng-ng source files this header was generated from are:
- nve4_compute.xml ( 10168 bytes, from 2013-03-31 20:05:20)
- copyright.xml ( 6452 bytes, from 2011-08-11 18:25:12)
- nvchipsets.xml ( 3954 bytes, from 2013-03-26 01:26:43)
- nv_object.xml ( 14395 bytes, from 2013-03-31 20:05:20)
- nv_defs.xml ( 4437 bytes, from 2011-08-11 18:25:12)
- nv50_defs.xml ( 9613 bytes, from 2013-03-28 11:02:04)
- nve4_p2mf.xml ( 2373 bytes, from 2013-03-31 20:05:20)
- nve4_compute.xml ( 10168 bytes, from 2013-06-04 13:57:02)
- copyright.xml ( 6452 bytes, from 2012-04-16 22:51:01)
- nvchipsets.xml ( 3954 bytes, from 2013-06-04 13:57:02)
- nv_object.xml ( 14395 bytes, from 2013-06-04 13:57:02)
- nv_defs.xml ( 4437 bytes, from 2012-04-16 22:51:01)
- nv50_defs.xml ( 16877 bytes, from 2013-07-17 09:10:01)
- nve4_p2mf.xml ( 2373 bytes, from 2013-06-04 13:57:02)
Copyright (C) 2006-2013 by the following authors:
- Artur Huillet <arthur.huillet@free.fr> (ahuillet)
@ -303,6 +303,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVE4_COMPUTE_MP_PM_B_SIGSEL__LEN 0x00000004
#define NVE4_COMPUTE_MP_PM_B_SIGSEL_NONE 0x00000000
#define NVE4_COMPUTE_MP_PM_B_SIGSEL_WARP 0x00000002
#define NVE4_COMPUTE_MP_PM_B_SIGSEL_REPLAY 0x00000008
#define NVE4_COMPUTE_MP_PM_B_SIGSEL_TRANSACTION 0x0000000e
#define NVE4_COMPUTE_MP_PM_B_SIGSEL_L1 0x00000010
#define NVE4_COMPUTE_MP_PM_B_SIGSEL_MEM 0x00000011