Boost logo

Boost :

Subject: Re: [boost] Going forward with Boost.SIMD
From: dag_at_[hidden]
Date: 2013-04-24 12:16:34


Mathias Gaunard <mathias.gaunard_at_[hidden]> writes:

> This week I presented a proposal to the C++ standards committee to
> provide a standard library component for SIMD computation based on the
> library in development Boost.SIMD (not yet a Boost library).
>
> Unfortunately the concurrency/parallelism group has decided that they
> do not want C++ to provide types representing SIMD registers.
> I'm afraid I don't quite understand the rationale for such a refusal;

It's pretty clear to me. A better approach is to add language
constructs to help the compiler do the vectorization. It's 2013. We
should be finished with requiring people to hand-vectorize code. Adding
things like "restrict" and/or keywords like "concurrent," ways to
disambiguate possible aliases, describe unknown loop dependences,
etc. are going to be much more flexible and fruitful long-term than
providing a library that is tied to a particular model of parallelism
(and a narrow model of vectorization, BTW).

Please look at what compilers from PGI, Intel, CAPS and yes, Cray, do to
help users parallelize code. A reading of the pragma descriptions in
the various compiler manuals would be informative.

                                -David


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk