Hacker News new | ask | show | jobs
by pabs3 344 days ago
A response from the SIMD.info folks:

Yeah, the plan is to get all SIMD engines there, RVV is the hardest though (20k intrinsics). Currently we're doing IBM Z, which should be done probably within the month? It still needs some work, and progress is slow because we're just using our own funds. Plan is IBM Z (currently worked on), Loongson LSX/LASX, MIPS MSA, ARM SVE/SVE2 and finally RVV 1.0. LSX/LASX and MSA are very easy. Ideally, I'd like to open source everything, but I can't just now, as I would just hand over all the data to big players like OpenAI. Once I manage to ensure adequate funding, we're going to open source the data (SIMD.info) and probably the model itself (SIMD.ai).

2 comments

> RVV is the hardest though (20k intrinsics)

A bit late to this comment but most of these intrinsics are overloads of different LMUL and SEW on a single instruction. I'm pretty sure the actual number of RVV instructions is way less. So maybe you could consolidate overloads of the same instruction into the same page or something.

Yes, SVE/SVE2 is somehow similar in that way, the same intrinsic has some variants depending on the predicate masks. However, the problem is that we have to make a few changes in the backend in order to do this and we have to do it withouth creating a mess for the other architectures. It will get there, it will just get a bit longer.
Maybe std::simd could be worked into this.
integration with std::simd might be doable, but there are no plans at least on our side to integrate with any particular library.
Maybe more with simd.ai, transpile a function with simd intrinsics into std::simd.