digitalmars.D - Vectorisation Intrinsics for DMD?
- Peter Alexander (12/12) Feb 06 2011 Is there any plan to add vectorisation intrinsics to DMD?
- Iain Buclaw (2/14) Feb 06 2011 I take it you've been lurking in D.gnu then? ;)
- Peter Alexander (5/19) Feb 06 2011 Ha, actually I didn't know there was a D.gnu, but now that I've
- spir (9/19) Feb 06 2011 - They need a sympathetic /data description language/, which D is not fa...
- Walter Bright (3/19) Feb 06 2011 I agree with everything you said. I think D's array op syntax form a sou...
- Brad Roberts (3/21) Feb 06 2011 Also hinted at in the above list.. I'd really like to explore how to get...
- bearophile (4/6) Feb 06 2011 Like the two (or more than two) needed to allocate a class instance.
- Andrei Alexandrescu (3/23) Feb 06 2011 Are those swizzling ops part of the topic?
- Walter Bright (4/5) Feb 06 2011 I'm keeping an open mind on that the moment!
Is there any plan to add vectorisation intrinsics to DMD? I know that DMD generates vectorised instructions for array operations, but last time I checked, these were far from optimal for aligned float[4] objects. In fact, it appears to generate a function call for all vector operations, regardless of size or alignment. I believe that these intrinsics would be very beneficial to D, and this is because I believe that one of D's biggest markets is indie game devs: - They need a really high performance language, but are tired of C++ - They are not held back by legacy code - They are generally risk takers, so are willing to invest in new tech A lack on vector intrinsics in DMD gives them an extra reason to stick with C++.
Feb 06 2011
== Quote from Peter Alexander (peter.alexander.au gmail.com)'s articleIs there any plan to add vectorisation intrinsics to DMD? I know that DMD generates vectorised instructions for array operations, but last time I checked, these were far from optimal for aligned float[4] objects. In fact, it appears to generate a function call for all vector operations, regardless of size or alignment. I believe that these intrinsics would be very beneficial to D, and this is because I believe that one of D's biggest markets is indie game devs: - They need a really high performance language, but are tired of C++ - They are not held back by legacy code - They are generally risk takers, so are willing to invest in new tech A lack on vector intrinsics in DMD gives them an extra reason to stick with C++.I take it you've been lurking in D.gnu then? ;)
Feb 06 2011
On 6/02/11 6:31 PM, Iain Buclaw wrote:== Quote from Peter Alexander (peter.alexander.au gmail.com)'s articleHa, actually I didn't know there was a D.gnu, but now that I've subscribed, I can see what made you say that :) Actually, I'm trying to optimize part of a game I'm writing and it could greatly benefit from vectorisation.Is there any plan to add vectorisation intrinsics to DMD? I know that DMD generates vectorised instructions for array operations, but last time I checked, these were far from optimal for aligned float[4] objects. In fact, it appears to generate a function call for all vector operations, regardless of size or alignment. I believe that these intrinsics would be very beneficial to D, and this is because I believe that one of D's biggest markets is indie game devs: - They need a really high performance language, but are tired of C++ - They are not held back by legacy code - They are generally risk takers, so are willing to invest in new tech A lack on vector intrinsics in DMD gives them an extra reason to stick with C++.I take it you've been lurking in D.gnu then? ;)
Feb 06 2011
On 02/06/2011 05:01 PM, Peter Alexander wrote:Is there any plan to add vectorisation intrinsics to DMD? I know that DMD generates vectorised instructions for array operations, but last time I checked, these were far from optimal for aligned float[4] objects. In fact, it appears to generate a function call for all vector operations, regardless of size or alignment. I believe that these intrinsics would be very beneficial to D, and this is because I believe that one of D's biggest markets is indie game devs: - They need a really high performance language, but are tired of C++ - They are not held back by legacy code - They are generally risk takers, so are willing to invest in new tech- They need a sympathetic /data description language/, which D is not far to B. --> Lua, with the power of compilation and low-level coding, in a single language. What do you think? Denis -- _________________ vita es estrany spir.wikidot.com
Feb 06 2011
Peter Alexander wrote:Is there any plan to add vectorisation intrinsics to DMD? I know that DMD generates vectorised instructions for array operations, but last time I checked, these were far from optimal for aligned float[4] objects. In fact, it appears to generate a function call for all vector operations, regardless of size or alignment. I believe that these intrinsics would be very beneficial to D, and this is because I believe that one of D's biggest markets is indie game devs: - They need a really high performance language, but are tired of C++ - They are not held back by legacy code - They are generally risk takers, so are willing to invest in new tech A lack on vector intrinsics in DMD gives them an extra reason to stick with C++.I agree with everything you said. I think D's array op syntax form a sound basis for doing vector ops, and plan on doing them.
Feb 06 2011
On 2/6/2011 11:48 AM, Walter Bright wrote:Peter Alexander wrote:Also hinted at in the above list.. I'd really like to explore how to get some of the runtime library functions to be inlineable. There's a lot of small functions that ought to be eligible, if exposed to the compiler as a candidate.Is there any plan to add vectorisation intrinsics to DMD? I know that DMD generates vectorised instructions for array operations, but last time I checked, these were far from optimal for aligned float[4] objects. In fact, it appears to generate a function call for all vector operations, regardless of size or alignment. I believe that these intrinsics would be very beneficial to D, and this is because I believe that one of D's biggest markets is indie game devs: - They need a really high performance language, but are tired of C++ - They are not held back by legacy code - They are generally risk takers, so are willing to invest in new tech A lack on vector intrinsics in DMD gives them an extra reason to stick with C++.I agree with everything you said. I think D's array op syntax form a sound basis for doing vector ops, and plan on doing them.
Feb 06 2011
Brad Roberts:Also hinted at in the above list.. I'd really like to explore how to get some of the runtime library functions to be inlineable. There's a lot of small functions that ought to be eligible, if exposed to the compiler as a candidate.Like the two (or more than two) needed to allocate a class instance. Bye, bearophile
Feb 06 2011
On 2/6/11 2:48 PM, Walter Bright wrote:Peter Alexander wrote:Are those swizzling ops part of the topic? AndreiIs there any plan to add vectorisation intrinsics to DMD? I know that DMD generates vectorised instructions for array operations, but last time I checked, these were far from optimal for aligned float[4] objects. In fact, it appears to generate a function call for all vector operations, regardless of size or alignment. I believe that these intrinsics would be very beneficial to D, and this is because I believe that one of D's biggest markets is indie game devs: - They need a really high performance language, but are tired of C++ - They are not held back by legacy code - They are generally risk takers, so are willing to invest in new tech A lack on vector intrinsics in DMD gives them an extra reason to stick with C++.I agree with everything you said. I think D's array op syntax form a sound basis for doing vector ops, and plan on doing them.
Feb 06 2011
Andrei Alexandrescu wrote:Are those swizzling ops part of the topic?I'm keeping an open mind on that the moment! ---- "An open mind is an empty mind" -- Mark Stroberg
Feb 06 2011