All of lore.kernel.org
 help / color / mirror / Atom feed
* Available Arm CPUs with SPE
@ 2022-11-25 11:17 Marc Jorda
  2022-11-25 12:01 ` James Clark
  2022-11-25 12:26 ` Leo Yan
  0 siblings, 2 replies; 5+ messages in thread
From: Marc Jorda @ 2022-11-25 11:17 UTC (permalink / raw)
  To: linux-perf-users

Hello,

I am trying to know which currently available Arm CPUs implement the 
Statistical Profiling Extension (SPE), does anyone know where can I find 
such information?

As far as I know, it is an optional extension in Armv8.2, but I don't 
know if it is mandatory for newer versions. Is it correct to assume that 
all Arm Neoverse CPUs have this extension?

Thank you very much,
Marc


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Available Arm CPUs with SPE
  2022-11-25 11:17 Available Arm CPUs with SPE Marc Jorda
@ 2022-11-25 12:01 ` James Clark
  2022-11-25 12:26 ` Leo Yan
  1 sibling, 0 replies; 5+ messages in thread
From: James Clark @ 2022-11-25 12:01 UTC (permalink / raw)
  To: Marc Jorda; +Cc: linux-perf-users



On 25/11/2022 11:17, Marc Jorda wrote:
> Hello,
> 
> I am trying to know which currently available Arm CPUs implement the
> Statistical Profiling Extension (SPE), does anyone know where can I find
> such information?

Hi Marc,

Graviton 2s on AWS should have it and N1SDP has it. You will need a
metal instance at the moment so that rules out Graviton 3.

Make sure you read the kernel requirements section here [1]

> 
> As far as I know, it is an optional extension in Armv8.2, but I don't
> know if it is mandatory for newer versions. Is it correct to assume that
> all Arm Neoverse CPUs have this extension?

I'm not sure about this, as you say it's optional, but whether all
current Neoverse CPUs have it or not I don't know.

I found this here [2] if it helps:

   SPE is an optional Armv8-A architecture extension available since
   Armv8.2-A. Examples of infrastructure CPUs supporting SPE are
   Neoverse-E1, Neoverse N1 and Neoverse V1. Graviton 2 and Ampere Altra
   are examples of Neoverse-based processors

> 
> Thank you very much,
> Marc
> 

[1]:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/perf/Documentation/perf-arm-spe.txt

[2]:
https://community.arm.com/arm-community-blogs/b/tools-software-ides-blog/posts/arm-allinea-studio-21-0

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Available Arm CPUs with SPE
  2022-11-25 11:17 Available Arm CPUs with SPE Marc Jorda
  2022-11-25 12:01 ` James Clark
@ 2022-11-25 12:26 ` Leo Yan
  2022-11-25 21:06   ` Al Grant
  1 sibling, 1 reply; 5+ messages in thread
From: Leo Yan @ 2022-11-25 12:26 UTC (permalink / raw)
  To: Marc Jorda, James Clark, Al Grant; +Cc: linux-perf-users

On Fri, Nov 25, 2022 at 12:17:18PM +0100, Marc Jorda wrote:
> Hello,
> 
> I am trying to know which currently available Arm CPUs implement the
> Statistical Profiling Extension (SPE), does anyone know where can I find
> such information?

I don't know we have such kind of info, usually the most safe way is
to check SoC vendor's spec and confirm if Arm SPE is supported or not.

> As far as I know, it is an optional extension in Armv8.2, but I don't know
> if it is mandatory for newer versions. Is it correct to assume that all Arm
> Neoverse CPUs have this extension?

Yes, since SPE is an optional extension, my understanding is we cannot
100% say SPE is implemented in Armv8.2 and upwards CPUs (though it's
unlikely not to implement SPE in Arm standard CPUs).

To avoid to mislead you, I would like loop in James and Al for more
reliable answer.

Thanks,
Leo

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: Available Arm CPUs with SPE
  2022-11-25 12:26 ` Leo Yan
@ 2022-11-25 21:06   ` Al Grant
  2022-11-28 11:02     ` Marc Jorda
  0 siblings, 1 reply; 5+ messages in thread
From: Al Grant @ 2022-11-25 21:06 UTC (permalink / raw)
  To: leo.yan, Marc Jorda, James Clark; +Cc: linux-perf-users

Leo Yan wrote:
> On Fri, Nov 25, 2022 at 12:17:18PM +0100, Marc Jorda wrote:
> > Hello,
> >
> > I am trying to know which currently available Arm CPUs implement the
> > Statistical Profiling Extension (SPE), does anyone know where can I
> > find such information?
>
> I don't know we have such kind of info, usually the most safe way is to check
> SoC vendor's spec and confirm if Arm SPE is supported or not.
>
> > As far as I know, it is an optional extension in Armv8.2, but I don't
> > know if it is mandatory for newer versions. Is it correct to assume
> > that all Arm Neoverse CPUs have this extension?
>
> Yes, since SPE is an optional extension, my understanding is we cannot 100% say
> SPE is implemented in Armv8.2 and upwards CPUs (though it's unlikely not to
> implement SPE in Arm standard CPUs).
>
> To avoid to mislead you, I would like loop in James and Al for more reliable
> answer.

Generally SPE has gone into the server cores but not the mobile cores,
partly for power/area reasons. Neoverse N1 has SPE, but Cortex-A76,
which is the same v8.2 architecture and a similar microarchitecture but
optimized for mobile, does not have SPE. It's not entirely a Neoverse
vs. Cortex thing though. You can use the PMU event repo to get a list,
since all CPUs with SPE, and only those, will implement SAMPLE_POP:

$ git clone https://ARM-software/data
$ grep SAMPLE_POP data/pmu/*
data/pmu/common_armv8.json:            "name": "SAMPLE_POP",
data/pmu/common_armv9.json:            "name": "SAMPLE_POP",
data/pmu/cortex-a715.json:            "name": "SAMPLE_POP",
data/pmu/cortex-x3.json:            "name": "SAMPLE_POP",
data/pmu/neoverse-n1.json:            "name": "SAMPLE_POP",
data/pmu/neoverse-n2.json:            "name": "SAMPLE_POP",
data/pmu/neoverse-v1.json:            "name": "SAMPLE_POP",
data/pmu/neoverse-v2.json:            "name": "SAMPLE_POP",

That is believed to be up to date and correct, but to be absolutely sure
you would need to check the documentation for each core. Third-party
implementations may also feature SPE, again you would need to check
documentation. (We'd be happy to include additional PMU event JSON in
the repo.)

Also, keep in mind that even if SPE is on the CPU, some action is needed
from firmware, hypervisor OS etc. to make it available to the end user.
It might or might not be available to a guest OS for example.

Al



>
> Thanks,
> Leo
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Available Arm CPUs with SPE
  2022-11-25 21:06   ` Al Grant
@ 2022-11-28 11:02     ` Marc Jorda
  0 siblings, 0 replies; 5+ messages in thread
From: Marc Jorda @ 2022-11-28 11:02 UTC (permalink / raw)
  To: Al Grant, leo.yan, James Clark; +Cc: linux-perf-users


On 25/11/22 22:06, Al Grant wrote:
> Leo Yan wrote:
>> On Fri, Nov 25, 2022 at 12:17:18PM +0100, Marc Jorda wrote:
>>> Hello,
>>>
>>> I am trying to know which currently available Arm CPUs implement the
>>> Statistical Profiling Extension (SPE), does anyone know where can I
>>> find such information?
>> I don't know we have such kind of info, usually the most safe way is to check
>> SoC vendor's spec and confirm if Arm SPE is supported or not.
>>
>>> As far as I know, it is an optional extension in Armv8.2, but I don't
>>> know if it is mandatory for newer versions. Is it correct to assume
>>> that all Arm Neoverse CPUs have this extension?
>> Yes, since SPE is an optional extension, my understanding is we cannot 100% say
>> SPE is implemented in Armv8.2 and upwards CPUs (though it's unlikely not to
>> implement SPE in Arm standard CPUs).
>>
>> To avoid to mislead you, I would like loop in James and Al for more reliable
>> answer.
> Generally SPE has gone into the server cores but not the mobile cores,
> partly for power/area reasons. Neoverse N1 has SPE, but Cortex-A76,
> which is the same v8.2 architecture and a similar microarchitecture but
> optimized for mobile, does not have SPE. It's not entirely a Neoverse
> vs. Cortex thing though. You can use the PMU event repo to get a list,
> since all CPUs with SPE, and only those, will implement SAMPLE_POP:
>
> $ git clone https://ARM-software/data
> $ grep SAMPLE_POP data/pmu/*
> data/pmu/common_armv8.json:            "name": "SAMPLE_POP",
> data/pmu/common_armv9.json:            "name": "SAMPLE_POP",
> data/pmu/cortex-a715.json:            "name": "SAMPLE_POP",
> data/pmu/cortex-x3.json:            "name": "SAMPLE_POP",
> data/pmu/neoverse-n1.json:            "name": "SAMPLE_POP",
> data/pmu/neoverse-n2.json:            "name": "SAMPLE_POP",
> data/pmu/neoverse-v1.json:            "name": "SAMPLE_POP",
> data/pmu/neoverse-v2.json:            "name": "SAMPLE_POP",
>
> That is believed to be up to date and correct, but to be absolutely sure
> you would need to check the documentation for each core. Third-party
> implementations may also feature SPE, again you would need to check
> documentation. (We'd be happy to include additional PMU event JSON in
> the repo.)
>
> Also, keep in mind that even if SPE is on the CPU, some action is needed
> from firmware, hypervisor OS etc. to make it available to the end user.
> It might or might not be available to a guest OS for example.
>
> Al

Ok, thank you all for the tips, I will check these references.

Regards,
Marc

>
>> Thanks,
>> Leo
> IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

-- 
Accelerators and Communications for HPC
Computer Sciences Department
Barcelona Supercomputing Center (BSC)


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-11-28 11:03 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-25 11:17 Available Arm CPUs with SPE Marc Jorda
2022-11-25 12:01 ` James Clark
2022-11-25 12:26 ` Leo Yan
2022-11-25 21:06   ` Al Grant
2022-11-28 11:02     ` Marc Jorda

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.