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

Microsoft announced on June 15 plans to add new parallel-computing technologies to the next version of its C++ compiler.
Written by Mary Jo Foley, Senior Contributing Editor

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.

Editorial standards