2022-11-11 13:57:18

by Thomas Richter

[permalink] [raw]
Subject: [PATCH v2] perf list: Add PMU pai_ext event description for IBM z16

Add the event description for the IBM z16 pai_ext PMU released with
commit c432fefe8e62 ("s390/pai: Add support for PAI Extension 1 NNPA counters")

The document SA22-7832-13 "z/Architecture Principles of Operation",
published May, 2022, contains the description of the
Processor Activity Instrumentation Facility and the NNPA counter
set., See Pages 5-113 to 5-116.

Signed-off-by: Thomas Richter <[email protected]>
---
.../pmu-events/arch/s390/cf_z16/pai_ext.json | 198 ++++++++++++++++++
tools/perf/pmu-events/jevents.py | 1 +
2 files changed, 199 insertions(+)
create mode 100644 tools/perf/pmu-events/arch/s390/cf_z16/pai_ext.json

diff --git a/tools/perf/pmu-events/arch/s390/cf_z16/pai_ext.json b/tools/perf/pmu-events/arch/s390/cf_z16/pai_ext.json
new file mode 100644
index 000000000000..8bee481f05d5
--- /dev/null
+++ b/tools/perf/pmu-events/arch/s390/cf_z16/pai_ext.json
@@ -0,0 +1,198 @@
+[
+ {
+ "Unit": "PAI-EXT",
+ "EventCode": "6144",
+ "EventName": "NNPA_ALL",
+ "BriefDescription": "NNPA ALL",
+ "PublicDescription": "Sum of all non zero NNPA counters"
+ },
+ {
+ "Unit": "PAI-EXT",
+ "EventCode": "6145",
+ "EventName": "NNPA_ADD",
+ "BriefDescription": "NNPA ADD",
+ "PublicDescription": "NNPA ADD function ending with CC=0"
+ },
+ {
+ "Unit": "PAI-EXT",
+ "EventCode": "6146",
+ "EventName": "NNPA_SUB",
+ "BriefDescription": "NNPA SUB",
+ "PublicDescription": "NNPA SUB function ending with CC=0"
+ },
+ {
+ "Unit": "PAI-EXT",
+ "EventCode": "6147",
+ "EventName": "NNPA_MUL",
+ "BriefDescription": "NNPA MUL",
+ "PublicDescription": "NNPA MUL function ending with CC=0"
+ },
+ {
+ "Unit": "PAI-EXT",
+ "EventCode": "6148",
+ "EventName": "NNPA_DIV",
+ "BriefDescription": "NNPA DIV",
+ "PublicDescription": "NNPA DIV function ending with CC=0"
+ },
+ {
+ "Unit": "PAI-EXT",
+ "EventCode": "6149",
+ "EventName": "NNPA_MIN",
+ "BriefDescription": "NNPA MIN",
+ "PublicDescription": "NNPA MIN function ending with CC=0"
+ },
+ {
+ "Unit": "PAI-EXT",
+ "EventCode": "6150",
+ "EventName": "NNPA_MAX",
+ "BriefDescription": "NNPA MAX",
+ "PublicDescription": "NNPA-MAX function ending with CC=0"
+ },
+ {
+ "Unit": "PAI-EXT",
+ "EventCode": "6151",
+ "EventName": "NNPA_LOG",
+ "BriefDescription": "NNPA LOG",
+ "PublicDescription": "NNPA-LOG function ending with CC=0"
+ },
+ {
+ "Unit": "PAI-EXT",
+ "EventCode": "6152",
+ "EventName": "NNPA_EXP",
+ "BriefDescription": "NNPA EXP",
+ "PublicDescription": "NNPA-EXP function ending with CC=0"
+ },
+ {
+ "Unit": "PAI-EXT",
+ "EventCode": "6153",
+ "EventName": "NNPA_IBM_RESERVED_9",
+ "BriefDescription": "Reserved for IBM use",
+ "PublicDescription": "Reserved for IBM use"
+ },
+ {
+ "Unit": "PAI-EXT",
+ "EventCode": "6154",
+ "EventName": "NNPA_RELU",
+ "BriefDescription": "NNPA RELU",
+ "PublicDescription": "NNPA-RELU function ending with CC=0"
+ },
+ {
+ "Unit": "PAI-EXT",
+ "EventCode": "6155",
+ "EventName": "NNPA_TANH",
+ "BriefDescription": "NNPA TANH",
+ "PublicDescription": "NNPA-TANH function ending with CC=0"
+ },
+ {
+ "Unit": "PAI-EXT",
+ "EventCode": "6156",
+ "EventName": "NNPA_SIGMOID",
+ "BriefDescription": "NNPA SIGMOID",
+ "PublicDescription": "NNPA-SIGMOID function ending with CC=0"
+ },
+ {
+ "Unit": "PAI-EXT",
+ "EventCode": "6157",
+ "EventName": "NNPA_SOFTMAX",
+ "BriefDescription": "NNPA SOFTMAX",
+ "PublicDescription": "NNPA-SOFTMAX function ending with CC=0"
+ },
+ {
+ "Unit": "PAI-EXT",
+ "EventCode": "6158",
+ "EventName": "NNPA_BATCHNORM",
+ "BriefDescription": "NNPA BATCHNORM",
+ "PublicDescription": "NNPA-BATCHNORM function ending with CC=0"
+ },
+ {
+ "Unit": "PAI-EXT",
+ "EventCode": "6159",
+ "EventName": "NNPA_MAXPOOL2D",
+ "BriefDescription": "NNPA MAXPOOL2D",
+ "PublicDescription": "NNPA-MAXPOOL2D function ending with CC=0"
+ },
+ {
+ "Unit": "PAI-EXT",
+ "EventCode": "6160",
+ "EventName": "NNPA_AVGPOOL2D",
+ "BriefDescription": "NNPA AVGPOOL2D",
+ "PublicDescription": "NNPA-AVGPOOL2D function ending with CC=0"
+ },
+ {
+ "Unit": "PAI-EXT",
+ "EventCode": "6161",
+ "EventName": "NNPA_LSTMACT",
+ "BriefDescription": "NNPA LSTMACT",
+ "PublicDescription": "NNPA-LSTMACT function ending with CC=0"
+ },
+ {
+ "Unit": "PAI-EXT",
+ "EventCode": "6162",
+ "EventName": "NNPA_GRUACT",
+ "BriefDescription": "NNPA GRUACT",
+ "PublicDescription": "NNPA-GRUACT function ending with CC=0"
+ },
+ {
+ "Unit": "PAI-EXT",
+ "EventCode": "6163",
+ "EventName": "NNPA_CONVOLUTION",
+ "BriefDescription": "NNPA CONVOLUTION",
+ "PublicDescription": "NNPA-CONVOLUTION function ending with CC=0"
+ },
+ {
+ "Unit": "PAI-EXT",
+ "EventCode": "6164",
+ "EventName": "NNPA_MATMUL_OP",
+ "BriefDescription": "NNPA MATMUL OP",
+ "PublicDescription": "NNPA-MATMUL-OP function ending with CC=0"
+ },
+ {
+ "Unit": "PAI-EXT",
+ "EventCode": "6165",
+ "EventName": "NNPA_MATMUL_OP_BCAST23",
+ "BriefDescription": "NNPA NNPA-MATMUL_OP_BCAST23",
+ "PublicDescription": "NNPA-MATMUL-OP-BCAST23 function ending with CC=0"
+ },
+ {
+ "Unit": "PAI-EXT",
+ "EventCode": "6166",
+ "EventName": "NNPA_SMALLBATCH",
+ "BriefDescription": "NNPA SMALLBATCH",
+ "PublicDescription": "NNPA function with conditions as described in Common Operation"
+ },
+ {
+ "Unit": "PAI-EXT",
+ "EventCode": "6167",
+ "EventName": "NNPA_LARGEDIM",
+ "BriefDescription": "NNPA LARGEDIM",
+ "PublicDescription": "NNPA function with conditions as described in Common Operation"
+ },
+ {
+ "Unit": "PAI-EXT",
+ "EventCode": "6168",
+ "EventName": "NNPA_SMALLTENSOR",
+ "BriefDescription": "NNPA SMALLTENSOR",
+ "PublicDescription": "NNPA function with conditions as described in Common Operation"
+ },
+ {
+ "Unit": "PAI-EXT",
+ "EventCode": "6169",
+ "EventName": "NNPA_1MFRAME",
+ "BriefDescription": "NNPA 1MFRAME",
+ "PublicDescription": "NNPA function with conditions as described in Common Operation"
+ },
+ {
+ "Unit": "PAI-EXT",
+ "EventCode": "6170",
+ "EventName": "NNPA_2GFRAME",
+ "BriefDescription": "NNPA 2GFRAME",
+ "PublicDescription": "NNPA function with conditions as described in Common Operation"
+ },
+ {
+ "Unit": "PAI-EXT",
+ "EventCode": "6171",
+ "EventName": "NNPA_ACCESSEXCEPT",
+ "BriefDescription": "NNPA ACCESSEXCEPT",
+ "PublicDescription": "NNPA function with conditions as described in Common Operation"
+ }
+]
diff --git a/tools/perf/pmu-events/jevents.py b/tools/perf/pmu-events/jevents.py
index 0daa3e007528..da630aab948b 100755
--- a/tools/perf/pmu-events/jevents.py
+++ b/tools/perf/pmu-events/jevents.py
@@ -225,6 +225,7 @@ class JsonEvent:
'CPU-M-CF': 'cpum_cf',
'CPU-M-SF': 'cpum_sf',
'PAI-CRYPTO' : 'pai_crypto',
+ 'PAI-EXT' : 'pai_ext',
'UPI LL': 'uncore_upi',
'hisi_sicl,cpa': 'hisi_sicl,cpa',
'hisi_sccl,ddrc': 'hisi_sccl,ddrc',
--
2.37.3



2022-11-14 16:18:41

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH v2] perf list: Add PMU pai_ext event description for IBM z16

Em Fri, Nov 11, 2022 at 02:54:02PM +0100, Thomas Richter escreveu:
> Add the event description for the IBM z16 pai_ext PMU released with
> commit c432fefe8e62 ("s390/pai: Add support for PAI Extension 1 NNPA counters")
>
> The document SA22-7832-13 "z/Architecture Principles of Operation",
> published May, 2022, contains the description of the
> Processor Activity Instrumentation Facility and the NNPA counter
> set., See Pages 5-113 to 5-116.
>
> Signed-off-by: Thomas Richter <[email protected]>
> ---
> .../pmu-events/arch/s390/cf_z16/pai_ext.json | 198 ++++++++++++++++++
> tools/perf/pmu-events/jevents.py | 1 +
> 2 files changed, 199 insertions(+)
> create mode 100644 tools/perf/pmu-events/arch/s390/cf_z16/pai_ext.json
>
> diff --git a/tools/perf/pmu-events/arch/s390/cf_z16/pai_ext.json b/tools/perf/pmu-events/arch/s390/cf_z16/pai_ext.json
> new file mode 100644
> index 000000000000..8bee481f05d5
> --- /dev/null
> +++ b/tools/perf/pmu-events/arch/s390/cf_z16/pai_ext.json
> @@ -0,0 +1,198 @@
> +[
> + {
> + "Unit": "PAI-EXT",
> + "EventCode": "6144",
> + "EventName": "NNPA_ALL",
> + "BriefDescription": "NNPA ALL",
> + "PublicDescription": "Sum of all non zero NNPA counters"
> + },

Since the Brief description mentions NNPA, shouldn't the Public
Description expand on this "NNPA" acronym?, something like:

Oops, can't expand on that since there isn't a link to that SA22-7832-13
document.

Googling for it...

https://www-40.ibm.com/servers/resourcelink/svc03100.nsf/pages/zResourceLinkUrl?OpenDocument&url=http://www.ibm.com/servers/resourcelink/lib03010.nsf/0/B9DE5F05A9D57819852571C500428F9A/$file/SA22-7832-13.pdf

Ok, requires registration.

I wonder what is the value of these descriptions then :-\

I miss Ingo jumping into these discussions :-)

- Arnaldo

> + {
> + "Unit": "PAI-EXT",
> + "EventCode": "6145",
> + "EventName": "NNPA_ADD",
> + "BriefDescription": "NNPA ADD",
> + "PublicDescription": "NNPA ADD function ending with CC=0"
> + },
> + {
> + "Unit": "PAI-EXT",
> + "EventCode": "6146",
> + "EventName": "NNPA_SUB",
> + "BriefDescription": "NNPA SUB",
> + "PublicDescription": "NNPA SUB function ending with CC=0"
> + },
> + {
> + "Unit": "PAI-EXT",
> + "EventCode": "6147",
> + "EventName": "NNPA_MUL",
> + "BriefDescription": "NNPA MUL",
> + "PublicDescription": "NNPA MUL function ending with CC=0"
> + },
> + {
> + "Unit": "PAI-EXT",
> + "EventCode": "6148",
> + "EventName": "NNPA_DIV",
> + "BriefDescription": "NNPA DIV",
> + "PublicDescription": "NNPA DIV function ending with CC=0"
> + },
> + {
> + "Unit": "PAI-EXT",
> + "EventCode": "6149",
> + "EventName": "NNPA_MIN",
> + "BriefDescription": "NNPA MIN",
> + "PublicDescription": "NNPA MIN function ending with CC=0"
> + },
> + {
> + "Unit": "PAI-EXT",
> + "EventCode": "6150",
> + "EventName": "NNPA_MAX",
> + "BriefDescription": "NNPA MAX",
> + "PublicDescription": "NNPA-MAX function ending with CC=0"
> + },
> + {
> + "Unit": "PAI-EXT",
> + "EventCode": "6151",
> + "EventName": "NNPA_LOG",
> + "BriefDescription": "NNPA LOG",
> + "PublicDescription": "NNPA-LOG function ending with CC=0"
> + },
> + {
> + "Unit": "PAI-EXT",
> + "EventCode": "6152",
> + "EventName": "NNPA_EXP",
> + "BriefDescription": "NNPA EXP",
> + "PublicDescription": "NNPA-EXP function ending with CC=0"
> + },
> + {
> + "Unit": "PAI-EXT",
> + "EventCode": "6153",
> + "EventName": "NNPA_IBM_RESERVED_9",
> + "BriefDescription": "Reserved for IBM use",
> + "PublicDescription": "Reserved for IBM use"
> + },
> + {
> + "Unit": "PAI-EXT",
> + "EventCode": "6154",
> + "EventName": "NNPA_RELU",
> + "BriefDescription": "NNPA RELU",
> + "PublicDescription": "NNPA-RELU function ending with CC=0"
> + },
> + {
> + "Unit": "PAI-EXT",
> + "EventCode": "6155",
> + "EventName": "NNPA_TANH",
> + "BriefDescription": "NNPA TANH",
> + "PublicDescription": "NNPA-TANH function ending with CC=0"
> + },
> + {
> + "Unit": "PAI-EXT",
> + "EventCode": "6156",
> + "EventName": "NNPA_SIGMOID",
> + "BriefDescription": "NNPA SIGMOID",
> + "PublicDescription": "NNPA-SIGMOID function ending with CC=0"
> + },
> + {
> + "Unit": "PAI-EXT",
> + "EventCode": "6157",
> + "EventName": "NNPA_SOFTMAX",
> + "BriefDescription": "NNPA SOFTMAX",
> + "PublicDescription": "NNPA-SOFTMAX function ending with CC=0"
> + },
> + {
> + "Unit": "PAI-EXT",
> + "EventCode": "6158",
> + "EventName": "NNPA_BATCHNORM",
> + "BriefDescription": "NNPA BATCHNORM",
> + "PublicDescription": "NNPA-BATCHNORM function ending with CC=0"
> + },
> + {
> + "Unit": "PAI-EXT",
> + "EventCode": "6159",
> + "EventName": "NNPA_MAXPOOL2D",
> + "BriefDescription": "NNPA MAXPOOL2D",
> + "PublicDescription": "NNPA-MAXPOOL2D function ending with CC=0"
> + },
> + {
> + "Unit": "PAI-EXT",
> + "EventCode": "6160",
> + "EventName": "NNPA_AVGPOOL2D",
> + "BriefDescription": "NNPA AVGPOOL2D",
> + "PublicDescription": "NNPA-AVGPOOL2D function ending with CC=0"
> + },
> + {
> + "Unit": "PAI-EXT",
> + "EventCode": "6161",
> + "EventName": "NNPA_LSTMACT",
> + "BriefDescription": "NNPA LSTMACT",
> + "PublicDescription": "NNPA-LSTMACT function ending with CC=0"
> + },
> + {
> + "Unit": "PAI-EXT",
> + "EventCode": "6162",
> + "EventName": "NNPA_GRUACT",
> + "BriefDescription": "NNPA GRUACT",
> + "PublicDescription": "NNPA-GRUACT function ending with CC=0"
> + },
> + {
> + "Unit": "PAI-EXT",
> + "EventCode": "6163",
> + "EventName": "NNPA_CONVOLUTION",
> + "BriefDescription": "NNPA CONVOLUTION",
> + "PublicDescription": "NNPA-CONVOLUTION function ending with CC=0"
> + },
> + {
> + "Unit": "PAI-EXT",
> + "EventCode": "6164",
> + "EventName": "NNPA_MATMUL_OP",
> + "BriefDescription": "NNPA MATMUL OP",
> + "PublicDescription": "NNPA-MATMUL-OP function ending with CC=0"
> + },
> + {
> + "Unit": "PAI-EXT",
> + "EventCode": "6165",
> + "EventName": "NNPA_MATMUL_OP_BCAST23",
> + "BriefDescription": "NNPA NNPA-MATMUL_OP_BCAST23",
> + "PublicDescription": "NNPA-MATMUL-OP-BCAST23 function ending with CC=0"
> + },
> + {
> + "Unit": "PAI-EXT",
> + "EventCode": "6166",
> + "EventName": "NNPA_SMALLBATCH",
> + "BriefDescription": "NNPA SMALLBATCH",
> + "PublicDescription": "NNPA function with conditions as described in Common Operation"
> + },
> + {
> + "Unit": "PAI-EXT",
> + "EventCode": "6167",
> + "EventName": "NNPA_LARGEDIM",
> + "BriefDescription": "NNPA LARGEDIM",
> + "PublicDescription": "NNPA function with conditions as described in Common Operation"
> + },
> + {
> + "Unit": "PAI-EXT",
> + "EventCode": "6168",
> + "EventName": "NNPA_SMALLTENSOR",
> + "BriefDescription": "NNPA SMALLTENSOR",
> + "PublicDescription": "NNPA function with conditions as described in Common Operation"
> + },
> + {
> + "Unit": "PAI-EXT",
> + "EventCode": "6169",
> + "EventName": "NNPA_1MFRAME",
> + "BriefDescription": "NNPA 1MFRAME",
> + "PublicDescription": "NNPA function with conditions as described in Common Operation"
> + },
> + {
> + "Unit": "PAI-EXT",
> + "EventCode": "6170",
> + "EventName": "NNPA_2GFRAME",
> + "BriefDescription": "NNPA 2GFRAME",
> + "PublicDescription": "NNPA function with conditions as described in Common Operation"
> + },
> + {
> + "Unit": "PAI-EXT",
> + "EventCode": "6171",
> + "EventName": "NNPA_ACCESSEXCEPT",
> + "BriefDescription": "NNPA ACCESSEXCEPT",
> + "PublicDescription": "NNPA function with conditions as described in Common Operation"
> + }
> +]
> diff --git a/tools/perf/pmu-events/jevents.py b/tools/perf/pmu-events/jevents.py
> index 0daa3e007528..da630aab948b 100755
> --- a/tools/perf/pmu-events/jevents.py
> +++ b/tools/perf/pmu-events/jevents.py
> @@ -225,6 +225,7 @@ class JsonEvent:
> 'CPU-M-CF': 'cpum_cf',
> 'CPU-M-SF': 'cpum_sf',
> 'PAI-CRYPTO' : 'pai_crypto',
> + 'PAI-EXT' : 'pai_ext',
> 'UPI LL': 'uncore_upi',
> 'hisi_sicl,cpa': 'hisi_sicl,cpa',
> 'hisi_sccl,ddrc': 'hisi_sccl,ddrc',
> --
> 2.37.3

--

- Arnaldo

2022-11-15 09:21:24

by Thomas Richter

[permalink] [raw]
Subject: Re: [PATCH v2] perf list: Add PMU pai_ext event description for IBM z16

On 11/14/22 17:06, Arnaldo Carvalho de Melo wrote:
> Em Fri, Nov 11, 2022 at 02:54:02PM +0100, Thomas Richter escreveu:
>> Add the event description for the IBM z16 pai_ext PMU released with
>> commit c432fefe8e62 ("s390/pai: Add support for PAI Extension 1 NNPA counters")
>>
>> The document SA22-7832-13 "z/Architecture Principles of Operation",
>> published May, 2022, contains the description of the
>> Processor Activity Instrumentation Facility and the NNPA counter
>> set., See Pages 5-113 to 5-116.
>>
>> Signed-off-by: Thomas Richter <[email protected]>
>> ---
>> .../pmu-events/arch/s390/cf_z16/pai_ext.json | 198 ++++++++++++++++++
>> tools/perf/pmu-events/jevents.py | 1 +
>> 2 files changed, 199 insertions(+)
>> create mode 100644 tools/perf/pmu-events/arch/s390/cf_z16/pai_ext.json
>>
>> diff --git a/tools/perf/pmu-events/arch/s390/cf_z16/pai_ext.json b/tools/perf/pmu-events/arch/s390/cf_z16/pai_ext.json
>> new file mode 100644
>> index 000000000000..8bee481f05d5
>> --- /dev/null
>> +++ b/tools/perf/pmu-events/arch/s390/cf_z16/pai_ext.json
>> @@ -0,0 +1,198 @@
>> +[
>> + {
>> + "Unit": "PAI-EXT",
>> + "EventCode": "6144",
>> + "EventName": "NNPA_ALL",
>> + "BriefDescription": "NNPA ALL",
>> + "PublicDescription": "Sum of all non zero NNPA counters"
>> + },
>
> Since the Brief description mentions NNPA, shouldn't the Public
> Description expand on this "NNPA" acronym?, something like:
>
> Oops, can't expand on that since there isn't a link to that SA22-7832-13
> document.
>
> Googling for it...
>
> https://www-40.ibm.com/servers/resourcelink/svc03100.nsf/pages/zResourceLinkUrl?OpenDocument&url=http://www.ibm.com/servers/resourcelink/lib03010.nsf/0/B9DE5F05A9D57819852571C500428F9A/$file/SA22-7832-13.pdf
>
> Ok, requires registration.
>
> I wonder what is the value of these descriptions then :-\
>
> I miss Ingo jumping into these discussions :-)
>
> - Arnaldo

I added Andreas Krebbel to the discussion, he knows more than I on this counters.

NNPA stands for Neural Networks Processing Assist. This is a new feature in
the IBM z16. Here is a quote from Document SG2489-51 IBM z16 (3931) Technical Guide:

<START-OF-QUOTE>
"The new IBM z16 microprocessor chip, also called the IBM Telum processor, integrates a
new AI accelerator. This innovation brings incredible value to applications and workloads that
are running on IBM Z platform.
Customers can benefit from the integrated AI accelerator by adding AI operations that are
used to perform fraud prevention and fraud detection, customer behavior predictions, and
supply chain operations. All of these operations are done in real time and fully integrated in
transactional workloads. As a result, valuable insights are gained from their data instantly.

...
The AI accelerator is driven by the new Neural Networks Processing Assist (NNPA)
instruction.
NNPA is a new nonprivileged Complex Instruction Set Computer (CISC) memory-to-memory
instruction that operates on tensor objects that are in user program’s memory. AI functions
and macros are abstracted by NNPA."
<END-OF-QUOTE>

This intension of this patch is to give a small hint on what these NNPA counters are
supposed to count and operate on. A full explanation is given in the document
SA22-7832-13 "z/Architecture Principles of Operation", Chapter 26, pp 26-1 to 26-115.

If you think this small description is not worth it, then we can drop the patch.

Thanks for you help and directions.

--
Thomas Richter, Dept 3303, IBM s390 Linux Development, Boeblingen, Germany
--
Vorsitzender des Aufsichtsrats: Gregor Pillen
Geschäftsführung: David Faller
Sitz der Gesellschaft: Böblingen / Registergericht: Amtsgericht Stuttgart, HRB 243294


2022-11-15 13:30:16

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH v2] perf list: Add PMU pai_ext event description for IBM z16

Em Tue, Nov 15, 2022 at 09:58:22AM +0100, Thomas Richter escreveu:
> On 11/14/22 17:06, Arnaldo Carvalho de Melo wrote:
> > Em Fri, Nov 11, 2022 at 02:54:02PM +0100, Thomas Richter escreveu:
> >> Add the event description for the IBM z16 pai_ext PMU released with
> >> commit c432fefe8e62 ("s390/pai: Add support for PAI Extension 1 NNPA counters")

> >> The document SA22-7832-13 "z/Architecture Principles of Operation",
> >> published May, 2022, contains the description of the Processor
> >> Activity Instrumentation Facility and the NNPA counter set., See
> >> Pages 5-113 to 5-116.

> >> Signed-off-by: Thomas Richter <[email protected]>

> >> --- /dev/null
> >> +++ b/tools/perf/pmu-events/arch/s390/cf_z16/pai_ext.json
> >> @@ -0,0 +1,198 @@
> >> +[
> >> + {
> >> + "Unit": "PAI-EXT",
> >> + "EventCode": "6144",
> >> + "EventName": "NNPA_ALL",
> >> + "BriefDescription": "NNPA ALL",
> >> + "PublicDescription": "Sum of all non zero NNPA counters"
> >> + },

> > Since the Brief description mentions NNPA, shouldn't the Public
> > Description expand on this "NNPA" acronym?, something like:

> > Oops, can't expand on that since there isn't a link to that SA22-7832-13
> > document.

> > Googling for it...

> > https://www-40.ibm.com/servers/resourcelink/svc03100.nsf/pages/zResourceLinkUrl?OpenDocument&url=http://www.ibm.com/servers/resourcelink/lib03010.nsf/0/B9DE5F05A9D57819852571C500428F9A/$file/SA22-7832-13.pdf

> > Ok, requires registration.

> > I wonder what is the value of these descriptions then :-\

> > I miss Ingo jumping into these discussions :-)

> I added Andreas Krebbel to the discussion, he knows more than I on this counters.

> NNPA stands for Neural Networks Processing Assist. This is a new feature in
> the IBM z16. Here is a quote from Document SG2489-51 IBM z16 (3931) Technical Guide:

> <START-OF-QUOTE>
> "The new IBM z16 microprocessor chip, also called the IBM Telum processor, integrates a
> new AI accelerator. This innovation brings incredible value to applications and workloads that
> are running on IBM Z platform.
> Customers can benefit from the integrated AI accelerator by adding AI operations that are
> used to perform fraud prevention and fraud detection, customer behavior predictions, and
> supply chain operations. All of these operations are done in real time and fully integrated in
> transactional workloads. As a result, valuable insights are gained from their data instantly.
>
> ...
> The AI accelerator is driven by the new Neural Networks Processing Assist (NNPA)
> instruction.
> NNPA is a new nonprivileged Complex Instruction Set Computer (CISC) memory-to-memory
> instruction that operates on tensor objects that are in user program’s memory. AI functions
> and macros are abstracted by NNPA."
> <END-OF-QUOTE>
>
> This intension of this patch is to give a small hint on what these NNPA counters are
> supposed to count and operate on. A full explanation is given in the document
> SA22-7832-13 "z/Architecture Principles of Operation", Chapter 26, pp 26-1 to 26-115.
>
> If you think this small description is not worth it, then we can drop the patch.

So perhaps:

+ {
+ "Unit": "PAI-EXT",
+ "EventCode": "6144",
+ "EventName": "NNPA_ALL",
+ "BriefDescription": "NNPA ALL",
+ "PublicDescription": "Sum of all non zero NNPA (Neural Networks Processing Assist) counters"
+ },

?

- Arnaldo

2022-11-15 17:54:04

by Thomas Richter

[permalink] [raw]
Subject: Re: [PATCH v2] perf list: Add PMU pai_ext event description for IBM z16

On 11/15/22 14:10, Arnaldo Carvalho de Melo wrote:
> Em Tue, Nov 15, 2022 at 09:58:22AM +0100, Thomas Richter escreveu:
>> On 11/14/22 17:06, Arnaldo Carvalho de Melo wrote:
>>> Em Fri, Nov 11, 2022 at 02:54:02PM +0100, Thomas Richter escreveu:
>>>> Add the event description for the IBM z16 pai_ext PMU released with
>>>> commit c432fefe8e62 ("s390/pai: Add support for PAI Extension 1 NNPA counters")
>
>>>> The document SA22-7832-13 "z/Architecture Principles of Operation",
>>>> published May, 2022, contains the description of the Processor
>>>> Activity Instrumentation Facility and the NNPA counter set., See
>>>> Pages 5-113 to 5-116.
>
>>>> Signed-off-by: Thomas Richter <[email protected]>
>
>>>> --- /dev/null
>>>> +++ b/tools/perf/pmu-events/arch/s390/cf_z16/pai_ext.json
>>>> @@ -0,0 +1,198 @@
>>>> +[
>>>> + {
>>>> + "Unit": "PAI-EXT",
>>>> + "EventCode": "6144",
>>>> + "EventName": "NNPA_ALL",
>>>> + "BriefDescription": "NNPA ALL",
>>>> + "PublicDescription": "Sum of all non zero NNPA counters"
>>>> + },
>
>>> Since the Brief description mentions NNPA, shouldn't the Public
>>> Description expand on this "NNPA" acronym?, something like:
>
>>> Oops, can't expand on that since there isn't a link to that SA22-7832-13
>>> document.
>
>>> Googling for it...
>
>>> https://www-40.ibm.com/servers/resourcelink/svc03100.nsf/pages/zResourceLinkUrl?OpenDocument&url=http://www.ibm.com/servers/resourcelink/lib03010.nsf/0/B9DE5F05A9D57819852571C500428F9A/$file/SA22-7832-13.pdf
>
>>> Ok, requires registration.
>
>>> I wonder what is the value of these descriptions then :-\
>
>>> I miss Ingo jumping into these discussions :-)
>
>> I added Andreas Krebbel to the discussion, he knows more than I on this counters.
>
>> NNPA stands for Neural Networks Processing Assist. This is a new feature in
>> the IBM z16. Here is a quote from Document SG2489-51 IBM z16 (3931) Technical Guide:
>
>> <START-OF-QUOTE>
>> "The new IBM z16 microprocessor chip, also called the IBM Telum processor, integrates a
>> new AI accelerator. This innovation brings incredible value to applications and workloads that
>> are running on IBM Z platform.
>> Customers can benefit from the integrated AI accelerator by adding AI operations that are
>> used to perform fraud prevention and fraud detection, customer behavior predictions, and
>> supply chain operations. All of these operations are done in real time and fully integrated in
>> transactional workloads. As a result, valuable insights are gained from their data instantly.
>>
>> ...
>> The AI accelerator is driven by the new Neural Networks Processing Assist (NNPA)
>> instruction.
>> NNPA is a new nonprivileged Complex Instruction Set Computer (CISC) memory-to-memory
>> instruction that operates on tensor objects that are in user program’s memory. AI functions
>> and macros are abstracted by NNPA."
>> <END-OF-QUOTE>
>>
>> This intension of this patch is to give a small hint on what these NNPA counters are
>> supposed to count and operate on. A full explanation is given in the document
>> SA22-7832-13 "z/Architecture Principles of Operation", Chapter 26, pp 26-1 to 26-115.
>>
>> If you think this small description is not worth it, then we can drop the patch.
>
> So perhaps:
>
> + {
> + "Unit": "PAI-EXT",
> + "EventCode": "6144",
> + "EventName": "NNPA_ALL",
> + "BriefDescription": "NNPA ALL",
> + "PublicDescription": "Sum of all non zero NNPA (Neural Networks Processing Assist) counters"
> + },
>
> ?
>
> - Arnaldo

Ahhh, now I get it.

Yes I will provide a patch with the first mention of NNPA have
the abbreviation explained, as you pointed out.

Thanks.

--
Thomas Richter, Dept 3303, IBM s390 Linux Development, Boeblingen, Germany
--
Vorsitzender des Aufsichtsrats: Gregor Pillen
Geschäftsführung: David Faller
Sitz der Gesellschaft: Böblingen / Registergericht: Amtsgericht Stuttgart, HRB 243294