ispc icon indicating copy to clipboard operation
ispc copied to clipboard

[Question] Support for Armv8-A / SVE ?

Open pramodk opened this issue 5 years ago • 7 comments

Hello ISPC Team,

From my understanding currently ISPC supports Arm NEON. Could you comment on the support for Arm V8 SVE? Any ongoing work for this or any possibility to have this in near future?

Thank you in advance!

pramodk avatar Dec 17 '20 19:12 pramodk

I don't have SVE hardware available to me, so it would be difficult to work on it.

Contributions are welcome! I guess we can start with emulation. Brief googling says that emulators are available.

dbabokin avatar Dec 17 '20 19:12 dbabokin

I don't have SVE hardware available to me I guess we can start with emulation. Brief googling says that emulators are available.

Until last year there was no (easy) access to hardware and ArmIE was (and is) widely used for this purpose. Here is material from this year's Hackathon and slides.

Contributions are welcome!

I don't have much LLVM dev experience but can certainly help in testing and benchmarking (emulator or hardware itself).

Just curious - is there some form of documentation about how one can add new target in ISPC? (I assume apart from simple things like adding options, target etc., some llvm internal work is needed to make everything work?)

pramodk avatar Dec 17 '20 20:12 pramodk

Are there any updates here? SVE hardware is becoming increasingly mainstream (at least in cores from ARM).

FreddieWitherden avatar Jul 08 '24 05:07 FreddieWitherden

Are there any updates here? SVE hardware is becoming increasingly mainstream (at least in cores from ARM).

How can I get access to SVE hardware? Is it available somewhere in public cloud or commodity hardware available off the shelf?

dbabokin avatar Jul 09 '24 09:07 dbabokin

Are there any updates here? SVE hardware is becoming increasingly mainstream (at least in cores from ARM).

How can I get access to SVE hardware? Is it available somewhere in public cloud or commodity hardware available off the shelf?

Graviton3 CPUs are available on AWS and are what I used when developing some of the SVE kernels for libxsmm. It is a capable implementation (quad issue NEON or dual issue SVE256) and available pretty inexpensively if you only need a few cores.

FreddieWitherden avatar Jul 09 '24 10:07 FreddieWitherden

There is also NVIDIA Grace that is capable of SVE and SVE2.

If access to hardware is the main blocker, I can help with that. Just ping me privately via LinkedIn ;-)

fspiga avatar Oct 05 '24 20:10 fspiga

We're planning to improve our ARMv8 NEON support and possibly add SVE target (depends on how much it would align with ISPC programming model) in the next couple of months. Now it's good time to let's us know about any big performance gaps on ARM which you'd like to have fixed.

aneshlya avatar Oct 15 '24 18:10 aneshlya

ISPC plans in regards to improve ARM support will be tracked here: https://github.com/ispc/ispc/issues/1947

aneshlya avatar Nov 14 '24 23:11 aneshlya