Skip to content

Tentative support for avx512f extensions to 256 bit registers#1345

Open
serge-sans-paille wants to merge 1 commit into
masterfrom
feature/avx512f_256
Open

Tentative support for avx512f extensions to 256 bit registers#1345
serge-sans-paille wants to merge 1 commit into
masterfrom
feature/avx512f_256

Conversation

@serge-sans-paille
Copy link
Copy Markdown
Contributor

In addition to missing instructions (e.g. bas on int64_t etc) this mostly changes the mask representation from vector register to scalar, thus the big diff.

In addition to missing instructions (e.g. bas on int64_t etc) this
mostly changes the mask representation from vector register to scalar,
thus the big diff.
@DiamonDinoia
Copy link
Copy Markdown
Contributor

Hi @serge-sans-paille,

Are we sure that we only need avx512f for this? It seems to me that instructions like https://diamondinoia.com/simdref/#_mm256_cmp_epi32_mask requires avx512f + VL.

Let me know where I am wrong.

Cheers,
Marco

@serge-sans-paille
Copy link
Copy Markdown
Contributor Author

You're right, all of this requires avx512f+avx512vl. It turns out most build have both (see https://en.wikipedia.org/wiki/AVX-512#CPUs_with_AVX-512) but we currently don't have anything to model avx512vl, which should be the parent of avx512f_256.

@DiamonDinoia
Copy link
Copy Markdown
Contributor

I guess it might be called avx512vl_256 at that point as we will also have avx512vl_128. What do you think?

I agree, most CPU have 512+extensions.

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

Successfully merging this pull request may close these issues.

2 participants