How about implementing SPMD on SIMD for D?

Guillaume Piolat first.last at gmail.com
Sat Jul 7 13:20:53 UTC 2018


On Saturday, 7 July 2018 at 02:00:14 UTC, solidstate1991 wrote:
> I think fixing the SIMD support would be also great.
>
> 1) Make it compatible with Intel intrinsics.
>

Working on this, https://github.com/AuburnSounds/intel-intrinsics
With LDC I'm getting the best performance out of vector 
intrinsics (wrapped or not with that library).
But this is a layer that will change less that LDC intrinsics, 
and can .

> 2) Update it to work with AVX-512.

The nice thing about LLVM intrinsics is that _semantics is 
deccorelated from codegen_. You can generate AVX instructions (if 
you really think it helps you) while writing the more common SSE 
intrinsics.

> 3) Add some preliminary support for ARM Neon.

I think it will already work of you use LDC intrinsics (or 
intel-intrinsics) and build for ARM.


> 4) Optional: Make SIMD to compile for all 32 bit targets, so I 
> don't have to write long-ass assembly code for stuff. Once I 
> even broke LDC with my code (see CPUblit).

Oh yes, so much this. It would be very nice to have D_SIMD on DMD 
32-bit.




More information about the Digitalmars-d mailing list