The parest benchmark in spec2017 is reasonably friendly for vectorization, performance gains relative to a single FPU scalar implementation should be on the order of 35%. Verify the benchmark vectorizes and sees a comparable performance improvement on RISC-V.
parest when run on the k1 chip (BPI-F3) shows a 51.72% decrease in dynamic instruction counts, but a 1.94% regression in cycle counts. As has been discussed on the cam4 work item, we believe this is an artifact of weaknesses in the k1's vector unit.
Stakeholders/Partners
RISE:
Ventana: Robin Dapp – lead developer
Ventana: Jeff Law
External:
Dependencies
Status
Development
Development Timeline
1H2024
Upstreaming
Upstream Version
gcc-14
Spring 2024
Contacts
Robin Dapp (Ventana)
Jeff Law (Ventana)
Dependencies
None
Updates
Note data from run on the k1 design (BPI-F3 board). The 50+% decrease in instruction counts is in the right ballpark.
Currently seeing a 24% decrease in instruction counts when vector is enabled
Both x86_64 and aarch64 are showing a 35% cycle improvement
Clearly there is still work to do. It is highly unlikely we're going to hit a 35% performance improvement if we're only seeing a 24% improvement in dynamic instruction counts