C++ AMP to target Khronos SPIR and HSAIL

C++ AMP to target Khronos SPIR and HSAIL

  • Comments 4

The Parallel Programming in Native Code blog recently announced Clang support for C++ AMP via LLVM backend. This is a key milestone in our commitment (as mentioned in Somasegar's blog) to share the C++ AMP specification to all C++ developers, regardless of whether they're using Visual C++ or not. Portability across hardware and platforms is one of the cornerstones for C++ AMP and we are happy to see that with this project, C++ AMP will become the high level language with multiple underlying implementations including DirectCompute, Khronos SPIR 1.2 for OpenCL and HSAIL.

AMD is planning to release this project in March 2014 as open source under NCSA license to allow the community to participate in the development of C++ AMP technology. We view this project as the seed that would allow others to implement support for C++ AMP in additional compilers. For more details please visit HSA foundation blog. If you like to contribute to the project or play with preview bits (mind you these are early bits) please head to https://bitbucket.org/multicoreware/cppamp-driver-ng/wiki/Home. Additionally some samples targeting OpenCL are available at https://bitbucket.org/multicoreware/cxxamp_sandbox.

Check it out!

  • Great!

    ...

    I know that you will not give me a "yes" but I'll try:

    Is Microsoft thinking to join the HSA Foundation? :O

  • Thanks. Few suggestions on a very different topic:

    Can you guys please help IE team guy who is writing (Khronos) WebGL? I don't know his name, but I heard somewhere that he wrote WebGL in C89/C99 instead of C++ and he worked on this alone. Microsoft get tons of bad rep due to Internet Explorer issues (performance, conformance, optimization, crashes..) over the past two decades. Please help your fellow colleagues and bring WebGL 1.0/1.1 to IE11 via update (current supported version in IE11 is 0.9.2 while other browsers are at 1.0/1.1 mark).

    Also C/C++ compiler teams, talk some sense into JS compiler (aka Chakra).  Identify the common constructs, such as Try/Catch, and bring the super cool magical optimizations to JS compiler too. Here is a test bed:

    www.newilk.com/.../SpeedTest1

    If Chrome and Firefox can do all of it under 10ms, I am super certain that Microsoft compiler teams can make it to perform better than that... 1ms!! Billions of people use it daily.. even more than VC compilers.. so yes it is highly imperative in that regard. And for the compiler optimizer fanatic, how can you let it happen on your watch... 8-)

    Then there is this known basic DOM manipulation operation test, written by Ian Hickson back in 2003 www.newilk.com/.../DomManipulation. Unfortunately, Windows'/IE's JS engine till date is performing (super well compared to the predeceasing versions but) worse when compared to the edge versions of other browsers.

    Guys please put bureaucracy/politics aside and do this for the love of technology! As you guys are (hopefully)moving forward for branch-prediction optimizations (stackoverflow.com/a/11227902/863980) and some others in VC compilers, please spare some love to JavaScript too. Optimize it to the utmost of your abilities once forever. See how Clang and V8 guys together reinvigorated bridges/relationship between two languages at Google..

    "Many of the great achievements of the world were accomplished by tired and discouraged men who kept on working."

    Thank you!

  • This is very good news, however I get the feeling that C++AMP is burdened by the inability of DirectCompute. Are there any plans to getting a major overhaul of Direct3D that levels it's capabilities with other compute APIs? Is there a chance that MS will change the back-end of DirectCompute to some exisiting, portable compute intermediate (such as SPIR, HSAIL)?

  • @Meteorhead

    What's missing?

    Note: DirectCompute is already backend, so I don't think there is anything to change.

Page 1 of 1 (4 items)