AMD and Microsoft Visual Studio 2010
AMD would like to congratulate Microsoft on today’s launch of Visual Studio 2010 (VS 2010). Personally, I’m excited about this release. I’ve had an opportunity to work with the RTM of VS 2010, and I’ve detailed some of my thoughts and impressions below.
To begin with, Visual Studio 2010 has a number of enhancements that Microsoft has designed to help improve the developer experience, and which can also benefit the end-user, by making better use of hardware and the computing platform:
- The editor and IDE have been completely rewritten. The new editor and UI now use Windows Presentation Foundation (WPF) under the covers, which enables the developer to zoom in to code and adds features such as code outlining and more comprehensive syntax highlighting. In addition, when running on a DirectX 9 or DirectX 10-capable GPU such as those in the ATI Radeon™ HD 4000 and HD 5000 series, the rendering is hardware accelerated and results in a smoother visual experience over software alone.
- Along with the WPF support, developers can now take better advantage of multiple monitors in VS 2010 with new support for floating documents.
- The C/C++ compiler has been enhanced, both at the front-end (language syntax) and back-end (code generation). On the front-end, there is support for C++0x syntax such as the auto keyword and lambda expressions. The back-end improves x86 and x64 code quality to enhance the speed of compiled code and make it smaller over prior releases of Visual Studio, which can result in more efficient execution of the program on our platforms.
- Cloud computing: VS 2010 supports Microsoft Azure development out of the box, which enables you to prototype and build a service in the cloud. Combined with Microsoft Silverlight 4, this should enable development of some unique and rich applications.
- Concurrency and parallel programming: VS 2010 has both the Concurrency Runtime (ConcRT) for native code, and the Task Parallel Library (TPL) and PLINQ for managed code. Both are work stealing task-based environments that are designed to allow developers to more easily take advantage of all the available cores in a system, and lower code complexity. The AMD Opteron™ 6100 series of processors (with up to 12 true cores in one socket) helps lower cost barriers and is well suited to run ConcRT, TPL, and PLINQ workloads.
- Microsoft is shipping Premium and Ultimate editions of Visual Studio 2010 with improved profiling and debugging tools. For example, Ultimate edition will have the IntelliTrace feature for historical debugging of managed (.NET) applications, which enables solving coding errors that might otherwise be extremely difficult to diagnose. The Premium edition will include some great profiling tools including the Concurrency Visualizer, which can help determine where performance bottlenecks exist and how code is utilizing (or underutilizing) available CPU resources.
- The .NET Framework’s Server Garbage Collector (GC) now supports up to 64 heaps (up from 32), which can allow applications to scale better than before. The GC is also aware of AMD processors, and adjusts its Gen0 size accordingly for new object allocations.
- In the coming weeks AMD plans to release an update to our CodeAnalyst Performance Analyzer, which will support Visual Studio 2010 and integrate as a plug-in.
This is just a snapshot of some of the features available in Visual Studio 2010 that we are quite excited about. Advancements like these that improve developer productivity and more efficiently take advantage of the supporting hardware are always welcome, and we look forward to our continued partnership with Microsoft to improve the developer story.
If you’d like more information on any of the features I’ve discussed in this blog, please check the Microsoft Visual Studio web site at http://www.microsoft.com/visualstudio. In addition, here are some good places to look for more information on this new and exciting release:
- http://www.microsoft.com/visualstudio
- http://blogs.msdn.com/jasonz/archive/2009/02/20/a-new-look-for-visual-studio-2010.aspx
- http://windowsteamblog.com/blogs/developers/archive/2009/11/17/programming-windows-7-using-visual-studio-2010.aspx
- http://blogs.msdn.com/vcblog/default.aspx
- http://blogs.msdn.com/jnak/
- http://blogs.msdn.com/ianhu/archive/2009/05/13/historical-debugging-in-visual-studio-team-system-2010.aspx
Robin Maffeo is a developer on the Redmond Software Engineering team at AMD. His postings are his own opinions and may not represent AMD’s positions, strategies or opinions. Links to third party sites are provided for convenience and unless explicitly stated, AMD is not responsible for the contents of such linked sites and no endorsement is implied.
POSTED IN: Inside Dev Central
TAGS: "Magny-Cours", .NET, ATI Radeon, cloud, CodeAnalyst, compiler, ConcRT, Microsoft, multi-core, Visual Studio 2010, WPF





Thanks for the post!
Could you elaborate a little bit if there are any specific adjustment in the new .Net 4.0 that are specific for AMD processors? I’m wondering if there is any collaboration between AMD’s and Microsoft’s engineers when it comes to .Net? And could you tell a little bit more about “The GC is also aware of AMD processors, and adjusts its Gen0 size accordingly for new object allocations”?
Thank you!
yuriylsh, thanks for the comment. Yes, AMD does collaborate with Microsoft on .NET, and we talk with Microsoft about future products and how .NET can better run on them. Specifically with .NET 4.0, the workstation and server GCs look at our current (and upcoming) processors for L3 cache and cache sharing characteristics, and then adjusts the initial Gen0 allocation (where new objects are allocated) based on that information to better take advantage of the underlying architecture. In addition, the server GC tries to be smart about object allocations by being aware of NUMA characteristics. There are other possible areas of improvement, and we continue to look at new opportunities to improve performance and functionality for future CLR releases. I hope this helps.
Is there any place where we can periodically check if AMD has added new models or families of CPUs? Specifically, we call _cpuid or use WMI’s Win32_Processor to get CPU family and other useful fields. The only CPUID document we can find is dated 2008.