Any usable SIMD implementation?

Manu via Digitalmars-d digitalmars-d at puremagic.com
Wed Apr 6 19:25:03 PDT 2016


On 6 April 2016 at 23:26, 9il via Digitalmars-d
<digitalmars-d at puremagic.com> wrote:
> On Wednesday, 6 April 2016 at 12:40:04 UTC, Manu wrote:
>>
>> On 6 April 2016 at 07:41, Johan Engelen via Digitalmars-d
>> <digitalmars-d at puremagic.com> wrote:
>>>
>>> [...]
>>
>>
>> With respect to SIMD, knowing a processor model like 'broadwell' is not
>> helpful, since we really want to know 'sse4'. If we know processor model,
>> then we need to keep a compile-time table in our code somewhere if every
>> possible cpu ever known and it's associated feature set. Knowing the feature
>> we're interested is what we need.
>
>
> Yes, however this can be implemented in a spcial Phobos module. So compilers
> would need less work. --Ilya

Sure, but it's an ongoing maintenance task, constantly requiring
population with metadata for new processors that become available.
Remember, most processors are arm processors, and there are like 20
manufacturers of arm chips, and many of those come in a series of
minor variations with/without sub-features present, and in a lot of
cases, each permutation of features attached to random manufacturers
arm chip 'X' doesn't actually have a name to describe it. It's also
completely impractical to declare a particular arm chip by name when
compiling for arm. It's a sloppy relationship comparing intel and AMD
let alone the myriad of arm chips available.
TL;DR, defining architectures with an intel-centric naming convention
is a very bad idea.


More information about the Digitalmars-d mailing list