By: Charlie Burnes (charlie.burnes.delete@this.no-spam.com), May 21, 2022 7:48 am
Room: Moderated Discussions
> We might have a three-way "talking past each other" here :)
I appreciate you and Brett trying to explain what you mean.
The Highway API synopsis/quick reference uses the notation N, D and d:
Could you please explain D, d and Simd in a little more detail? I saw that Lanes(d) is the actual number of SIMD lanes used but I don’t understand how and why d determines that. On a CPU with AVX-512, I expected the actual number of SIMD lanes used to be 512/width of lane type. On a CPU with AVX2, I expected the actual number of SIMD lanes used to be 256/width of lane type.
I appreciate you and Brett trying to explain what you mean.
The Highway API synopsis/quick reference uses the notation N, D and d:
“N is a size_t value that governs (but is not necessarily identical to) the number of lanesWhat do you mean by “governs (but is not necessarily identical to)”?
D is shorthand for a zero-sized tag type Simd ...
d is an lvalue of type D”
Could you please explain D, d and Simd in a little more detail? I saw that Lanes(d) is the actual number of SIMD lanes used but I don’t understand how and why d determines that. On a CPU with AVX-512, I expected the actual number of SIMD lanes used to be 512/width of lane type. On a CPU with AVX2, I expected the actual number of SIMD lanes used to be 256/width of lane type.