Catering to the growing need for parallel programming, Microsoft is implementing capabilities for this functionality in both the existing Visual Studio 2008 development platform and its planned successor, Visual Studio 2010.
With parallel programming, developers must accommodate multiple CPU cores instead of programming for a single core. In a blog post late last Friday evening, S. "Soma" Somasegar, group vice president for the Microsoft Developer Division, outlined capabilities including SOA debugging and an add-in for Visual Studio 2008 for debugging MPI (Message Passing Interface) programs.
[ Check out the Microsoft Visual Studio 2010 highlights. ]
An SOA debugger is planned for Visual Studio 2010, geared to the Cluster SOA capability introduced in Windows HPC (High-Performance Computing) Server 2008. Cluster SOA features a parallel programming model.
"Up until now, debugging Cluster SOA was limited to basic WCF/.Net style debugging with no cluster integration. In Visual Studio 2010, an add-in for Cluster SOA enables the SOA Settings tab, allowing you to choose a head node, debug nodes and services, deploy runtime libraries, and clean up automatically," Somasegar said.
Multiple MPI capabilities are eyed for developers as well.
"Although Visual Studio 2005 had a simple built-in debugger for MPI programs, it did not provide a full 'F5' experience. The new add-in for Visual Studio 2008, which is also integrated into Visual Studio 2010, allows you to select a cluster head node, how many cores you want, and hit F5 to debug your MPI program," Somasegar said. Also available for MPI debugging is an add-in from Allinea offering rank-based context switching and other capabilities.
Visual Studio 2010 also will analyze behavior of a particular MPI rank or node via an MPI profiler. This is done via integration with HPC job-scheduling. The profiler also shows line-level profile information.
Meanwhile, HLRS/ZIH, of Stuttgart, Germany, has ported its Marmot MPI analysis tool for Visual Studio, Somasegar said. "Marmot can be used to check the validity of parameters passed to MPI calls and detect irreproducibility, deadlocks, and incorrect management of resources," Somasegar said.
Microsoft previously has touted its Concurrency Runtime technology for Visual Studio 2010 as a boost for multicore programming. It offers more control over application resources. Language extensions for parallelism also have been eyed. The company has not announced a formal release date for Visual Studio 2010.