I want to use the SVE2 instruction set. To this end, I have created a VM in a known cloud provider based on armv9 architecture which supports SVE2 instruction set.
I want to ask the following:
1) How can I determine the size of the vectors? The only way that I am aware of is by executing the following asm code:
rdvl x9, #1
cmp x9, #16
And branch based on the VL number. Is there any other command in the operating system level?
2) How can I change the size of the vectors? Currently, I can see that the size in my VM is 128 bits (using the aforementioned asm code). Is there a way to increase this value (provided that the underlying processor supports it)? For example, a command in the operating system level?
3) I want to have vectors whose size is bigger than 128 bits. Is a processor that supports this enough or do I need anything else (for example a specific version of a specific operating system, specific gcc, and so on)?
4) Do you know a cloud provider which supports armv9 VMs with vector size bigger than 128 bits?
Thank you in advance,
thanks for your answer. I am after a real platform on which I can test and benchmark my code. The qemu and ARM emulator approaches seem quite interesting, but as you said, it is only for development purposes. I will try to use them and come back to you if I face any problem.
Is there a commercial platform that I can buy which supports SVE2 with vector sizes greater than 128 bits? It seems that neither raspberry nor macbooks is such a platform.
Sure, let me know if you run into any problems using the tools and I will tryand help if possible!
Unfortunately I am not aware of any platforms currently available that supportSVE2 at vector lengths greater than 128-bits.