Release D 2.077.0
Mike Parker
aldacron at gmail.com
Fri Nov 3 10:07:25 UTC 2017
On Friday, 3 November 2017 at 10:02:18 UTC, Mike Parker wrote:
> On Friday, 3 November 2017 at 09:33:31 UTC, Walter Bright wrote:
>> On 11/3/2017 2:28 AM, Daniel Kozak wrote:
>>> How should I compile my program to enable array vectorization?
>>
>> dmd doesn't do what is known as "auto-vectorization".
>>
>> https://en.wikipedia.org/wiki/Automatic_vectorization
>>
>> What D does is have vector data types, and when those are used
>> vector instructions are generated for them.
>>
>> https://dlang.org/spec/simd.html
>
> For clarity, where the changeling says that GDC & LDC use
> auto-vectorization, that's actually happening with the array
> operations and core.simd is not required, correct?
OK, I'm a bit confused here. This gives the impression that the
vectorization happens automatically with array operations:
"Array operations have been converted from dedicated assembly
routines for some array operations to a generic template
implementation for all array operations. This provides huge
performance increases (2-4x higher throughput) for array
operations that were not previously vectorized. Furthermore the
implementation makes better use of vectorization even for short
arrays to heavily reduce latency for some operations (up to 4x)."
Where does core.simd fit in?
More information about the Digitalmars-d-announce
mailing list