intel-intrinsics v1.0.0
Crayo List
crayolist at gmail.com
Wed Feb 13 23:26:48 UTC 2019
On Wednesday, 13 February 2019 at 19:55:05 UTC, Guillaume Piolat
wrote:
> On Wednesday, 13 February 2019 at 04:57:29 UTC, Crayo List
> wrote:
>> On Wednesday, 6 February 2019 at 01:05:29 UTC, Guillaume
>> Piolat wrote:
>>> "intel-intrinsics" is a DUB package for people interested in
>>> x86 performance that want neither to write assembly, nor a
>>> LDC-specific snippet... and still have fastest possible code.
>>>
>> This is really cool and I appreciate your efforts!
>>
>> However (for those who are unaware) there is an alternative
>> way that is (arguably) better;
>> https://ispc.github.io/index.html
>>
>> You can write portable vectorized code that can be trivially
>> invoked from D.
>
> ispc is another compiler in your build, and you'd write in
> another language, so it's not really the same thing.
That's mostly what I said, except that I did not say it's the
same thing.
It's an alternative way to produce vectorized code in a
deterministic and portable way.
This is NOT an auto-vectorizing compiler!
> I haven't used it (nor do I know anyone who do) so don't really
> know why it would be any better
And that's precisely why I posted here; for those people that
have interest in vectorizing their code in a portable way to be
aware that there is another (arguably) better way.
I highly recommend browsing through the walkthrough example;
https://ispc.github.io/example.html
For example, I have code that I can run on my Xeon Phi 7250
Knights Landing CPU by compiling with --target=avx512knl-i32x16,
then I can run the exact same code with no change at all on my
i7-5820k by compiling with --target=avx2-i32x8. Each time I get
optimal code. This is not something you can easily do with
intrinsics!
More information about the Digitalmars-d-announce
mailing list