CT_00_019 -- Vectorize fotonik benchmark from spec2017

CT_00_019 -- Vectorize fotonik benchmark from spec2017

About

The fotonik3d benchmark in spec2017 is reasonably friendly for vectorization, performance gains relative to a single FPU scalar implementation should be on the order of 12%.   Verify the benchmark vectorizes and sees a comparable performance improvement on RISC-V.

 

Much like we've seen with cam4, fotonik seems to be vectorizing well and shows a 64% reduction in instruction counts on the k1, but the performance with vector is terrible at a 74% regression in cycle counts.  We believe this is due to a weak vector unit, possibly combined with additional weaknesses elsewhere in the design.  

 

 

 

Stakeholders/Partners

RISE:

Ventana: Robin Dapp – lead developer

Ventana: Jeff Law

 

External:

 

 

Dependencies

 

Status

Development

COMPLETE

 

Development Timeline

1H2024

 

Upstreaming

COMPLETE

 

Upstream Version

gcc-14

Spring 2024

 

 

Contacts

Robin Dapp (Ventana)

Jeff Law (Ventana)

 

Dependencies

Closure needs

performance testing

 

 

Updates

May 29, 2024 

  • Update with icount/cycle data from the k1.  

Mar 14, 2024 

  • We're seeing roughly a 46% reduction in dynamic instruction counts.  This is far higher than the performance improvements seen on other targets

    • x86_64 sees a 17% performance improvement from vector

    • aarch64 sees a 10% performance improvement from vector

    • Conclusion: We're doing well on this benchmark with RVV 

Dec 29, 2023 

  • Project reported as a priority for 1H2024