Microsoft outlines plans to make C++ more suited for massively parallel systems

Microsoft outlines plans to make C++ more suited for massively parallel systems

Summary: Microsoft announced on June 15 plans to add new parallel-computing technologies to the next version of its C++ compiler.

SHARE:

Microsoft announced on June 15 plans to add new massively parallel-computing capabilities to the next version of its C++ compiler.

The C++ Accelerated Massive Parallelism (C++ AMP) technology builds on Microsoft's DirectX platform in Windows, according to a new blog post from Microsoft Developer Division Senior Vice President Soma Somasegar. Microsoft's plan is to make the technology part of the next Visual C++ compiler and to fully integrate it into the next version of Visual Studio, codenamed Visual Studio vNext (and expected ultimately to be called Visual Studio 2012).

Microsoft made the C++ AMP announcement at the AMD Fusion Developer Summit today. At that conference, Microsoft Software Architect and C++ standards champion Herb Sutter told attendees that Microsoft is working on bringing C++ programming capabilities to GPUs. The goal is to allow developers to recompile programs so that processing can be spread over both CPUs and GPUs. Microsoft's ultimate goal is to help C++ developers to extend the same model to multicore and cloud computing systems, Sutter said.

Microsoft is planning to submit the C++ AMP specification to an unnamed standards body so that it will become an "open specification" that any compiler can implement, Somasegar blogged. The plan is to make the technology available in compilers on both Windows and non-Windows platforms, officials said.

Microsoft also announced today that it has made enhancements to the next version of its Parallel Patterns Library (PPL) and the C++ Concurrency Runtime. Among those enhancements are new C++ templates and runtime support for expressing algorithms for domain expertise.

"With C++ AMP and PPL, we aim to make the next version of Visual Studio the most productive environment for targeting heterogeneous hardware available," Somasegar blogged.

Earlier this spring, as part of a Server and Tools unit reorg, Microsoft  moved its Parallel Computing and Tools team to a combined WinC++, PCP, and UX organization under Technical Fellow Mohsen Agsen.

Microsoft is stepping up its C++ focus, as of late. Company officials are on tap to discuss the role of C++ in gaming at its upcoming Gamefest 2011 conference.

By the way, Microsoft officials also finally clarified today what WinC++ is. I asked Microsoft officials today about WinC++ and received this explanation from a spokesperson:

"References to Windows C++ or to WinC++ simply reflect the name of the internal team that is delivering C++ technology to Windows & Visual Studio.  Previously we have referred to this team as the Visual C++ team but we believe that this name better reflects what the team has been delivering for the last 15 years. It does not reflect either a change in the name of Visual C++, Visual Studio or anything about the Windows platform. "

Update: More specifics on C++ AMP are available on Daniel Moth's blog.

Topics: Software Development, Microsoft

About

Mary Jo has covered the tech industry for 30 years for a variety of publications and Web sites, and is a frequent guest on radio, TV and podcasts, speaking about all things Microsoft-related. She is the author of Microsoft 2.0: How Microsoft plans to stay relevant in the post-Gates era (John Wiley & Sons, 2008).

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

14 comments
Log in or register to join the discussion
  • M$ put the final nail in C

    when they introduced their proprietary extensions.
    It takes a higher power than Herb Sutter to resurrect the dead.
    Linux Geek
    • RE: Microsoft outlines plans to make C more suited for massively parallel systems

      @Linux Geek - Microsoft, like Lattice, Zortech, Watcom, Borland, GCC and many other C/C++ compiler vendors introduced their own proprietary features to their products many decades ago. And yet, some of those vendors still exist.

      As has been pointed out - Microsoft will be releasing the spec for AMP to a standards body so that others can build compatible implementations of this technology for other platforms, in much the same way as they released the specs for CLI, CLR and C# resulting in Project Mono and several other implementations of those specs for a variety of platforms.
      bitcrazed
      • RE: Microsoft outlines plans to make C more suited for massively parallel systems

        @bitcrazed <br>with the exception of GCC all other C++ compilers are dead and nobody updates them.<br>Proprietary M$ standards won't make a difference.
        Linux Geek
      • Didn't we read about this sometime ago?

        Sorry checked my notes, that was c then and it's a product in the market today (see Apple's OpenCL standard). Well done MS;-)
        Richard Flude
      • RE: Microsoft outlines plans to make C more suited for massively parallel systems

        @LG: Once a spec is adopted by an international open standards organization, it is an open standard. This applies to CLI, CLR, C#, Java, PDF and many, MANY other originally proprietary and now open technologies. This will be no different for AMP when it's released to the standards bodies.

        If Microsoft releases AMP to the standards bodies and releases its own implementation of that standard, and tens of thousands of games and app developers adopt that implementation or others' implementation of that standard, creating as yet unseen levels of performance and sophistication, then AMP and thus Microsoft will have made a difference. No?
        bitcrazed
      • C / Cpp are gone for APP development

        You can use them for system level software development where speed is everything. At app level C/C++ tendency to generate crazy bugs makes them a bad choice.
        LBiege
  • RE: Microsoft outlines plans to make C more suited for massively parallel systems

    Since C++0x, which is now before the ISO and a final draft, adds the very same thing, wouldn't supporting that be more useful than adding its own extension to the old thing? I guess that's between them and their developers. I'll be curious how this turns out.
    DannyO_0x98
    • RE: Microsoft outlines plans to make C more suited for massively parallel systems

      @DannyO_0x98,
      I guess. Does it really matter? C++ creates native binaries anyway.
      bmonsterman
    • RE: Microsoft outlines plans to make C more suited for massively parallel systems

      @DannyO_0x98 - really? What features in C++0x provide for the partitioning and compilation of code targetting CPU'S AND GPU's?
      bitcrazed
    • I think you're confusing this with something C 0x adds.

      Just FYI Microsoft fully supports C++0x, in fact MS is largely behind the development of the C++0x standard and deserves thanks for helping write it and working to standardize it. And Herb, aside from being an architect on the MS C++ team, is a long time standards champion. He has been and may still be the chair of the ISO C++0x standards commitee...
      Johnny Vegas
      • RE: Microsoft outlines plans to make C more suited for massively parallel systems

        @Johnny Vegas - now now ... let's not muddy the debate with facts and reason ... you might upset the ABM trolls ;)
        bitcrazed
  • ComputeShader

    ComputeShader
    shellcodes_coder
  • RE: Microsoft outlines plans to make C more suited for massively parallel systems

    sounds like what apple tried with open CL but for the masses and done with far more ambitions and reach. no doubt it will pick up but c++ was already in a questionable position as a feasable language due to the huge costs except in areas where is absolutely needed (similar to assembly in this regard).
    neonspark
  • RE: Microsoft outlines plans to make C more suited for massively parallel systems

    Our organization are grateful for this situation relevant larger-than-life web-site .Since i little doubt liked all greatly marginal slice from it at the same time. You'll find that purchasers book-marked your web website site to purchase planning on presently show essentials buyers attain. [url=http://www.footballfansedge.com/]super bowl jerseys[/url],[url=http://www.footballfansedge.com/tom-brady-jersey-medium-tom-brady-jersey-large]cheap tom brady jersey[/url],[url=http://www.footballfansedge.com/cheap-troy-polamalu-jersey-troy-polamalu-jersey]cheap troy polamalu jersey[/url],[url=http://www.footballfansedge.com/randy-moss-jersey-women-randy-moss-jersey]cheap randy moss jersey[/url],[url=http://www.footballfansedge.com/vikings-randy-moss-jersey-randy-moss-jersey]cheap randy moss jersey[/url], Terribly stunning internet site. Now i'm in return surfing around ahead of that will help you thinking about so much a bit more placement.
    dfwekrdfe84-24353644928315992404876644648292