ermig1979 / Simd

C++ image processing and machine learning library with using of SIMD: SSE, AVX, AVX-512, AMX for x86/x64, VMX(Altivec) and VSX(Power7) for PowerPC, NEON for ARM.
http://ermig1979.github.io/Simd
MIT License
2.01k stars 407 forks source link

Assessment of the difficulty in porting CPU architecture for Simd #260

Open wangyuliu opened 8 months ago

wangyuliu commented 8 months ago

Hello everyone! I am working on implementing a tool to assess the complexity of CPU architecture porting. It primarily focuses on RISC-V architecture porting. In fact, the tool may have an average estimate of various architecture porting efforts.My focus is on the overall workload and difficulty of transplantation in the past and future,even if a project has already been ported.As part of my dataset, I have collected the Simd project. I would like to gather community opinions to support my assessment. I appreciate your help and response! Based on scanning tools, the porting complexity is determined to be high, with a moderate amount of code related to the CPU architecture in the project. Is this assessment accurate?Do you often have any opinions on personnel allocation and consumption time? I look forward to your help and response.

ermig1979 commented 8 months ago

Hi! I don't have any expirience to port algorithms on RISC-V but I have some expirience to port code to other architectures. And the most difficut thing is a creation of the first SIMD implementation (it doesn't matter NEON, SSE or some else). Porting to the next SIMD architectures is much easier. Another words the difference between scalar and any SIMD code is greater then between different SIMD implementations.