Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AArch64 Neon float16x4 #799

Open
dmikushin opened this issue Aug 7, 2022 · 2 comments
Open

AArch64 Neon float16x4 #799

dmikushin opened this issue Aug 7, 2022 · 2 comments

Comments

@dmikushin
Copy link

As I understand, currently xsimd does not support vectors of 16-bit floats. Their support has been recently added by AVX512-FP16, but I'm particularly interested in float16x4 of ARM Neon. What would be the best way to implement it, I appreciate your recommendations!

@serge-sans-paille
Copy link
Contributor

Let get the ball rolling. And please correct me when I'm wrong / inaccurante.

From my (quick) bibliography, _Float16 is the defacto standard for generic half floats, so we could use that as batch parametric type. It's supported on arm and AVX512-FP16. Looks like SVE also has (some) support for it.

Most of our math routines are generic, so once we implement the trivial operations (arithmetic etc) we should already have part of the job done.

Looks like there's not much we can do for avx2 and before.

Is this correct?

@serge-sans-paille
Copy link
Contributor

Alternatively, we could provide xsimd::float16 as a scalar type that maps to the appropriate type when available.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants