Discussion
Loading...

Post

  • About
  • Code of conduct
  • Privacy
  • Users
  • Instances
  • About Bonfire
Christos Argyropoulos
@ChristosArgyrop@mast.hpc.social  ·  activity timestamp 2 weeks ago

I am honestly impressed by the SIMDe (SIMD everywhere) library

https://github.com/simd-everywhere/simde

It simplified considerably some #bioinformatics relevant code I am writing since I don't have to reinvent the wheel and use complicated preprocessor directives and macros to figure out where the program compiles. Kudos to the authors and the team!

I have working examples of the #Perl + SIMDe marriage for extreme portability.

See also this paper about ARM NEON and RISCV

https://arxiv.org/abs/2309.16509

arXiv.org

SIMD Everywhere Optimization from ARM NEON to RISC-V Vector Extensions

Many libraries, such as OpenCV, FFmpeg, XNNPACK, and Eigen, utilize Arm or x86 SIMD Intrinsics to optimize programs for performance. With the emergence of RISC-V Vector Extensions (RVV), there is a need to migrate these performance legacy codes for RVV. Currently, the migration of NEON code to RVV code requires manual rewriting, which is a time-consuming and error-prone process. In this work, we use the open source tool, "SIMD Everywhere" (SIMDe), to automate the migration. Our primary task is to enhance SIMDe to enable the conversion of ARM NEON Intrinsics types and functions to their corresponding RVV Intrinsics types and functions. For type conversion, we devise strategies to convert Neon Intrinsics types to RVV Intrinsics by considering the vector length agnostic (vla) architectures. With function conversions, we analyze commonly used conversion methods in SIMDe and develop customized conversions for each function based on the results of RVV code generations. In our experiments with Google XNNPACK library, our enhanced SIMDe achieves speedup ranging from 1.51x to 5.13x compared to the original SIMDe, which does not utilize customized RVV implementations for the conversions.
image/jpeg
image/jpeg
image/jpeg
  • Copy link
  • Flag this post
  • Block
Log in

bonfire.cafe

A space for Bonfire maintainers and contributors to communicate

bonfire.cafe: About · Code of conduct · Privacy · Users · Instances
Bonfire social · 1.0.0 no JS en
Automatic federation enabled
  • Explore
  • About
  • Members
  • Code of Conduct
Home
Login