Visual Studio 2010 Multi-Monitor Support Helps Debugging Parallel Code
Debugging a parallelized application requires more information on the screen than debugging sequential code. Sometimes, even Full HD monitors aren't enough to display all the necessary windows at the same time. Luckily, Visual Studio 2010 Beta 2 offers a very intuitive multi-monitor support.
You already know that Visual Studio 2010 Beta 2 offers many new parallel debugging windows. I've talked about them in my previous post "New Parallel Debugging Windows in Visual Studio 2010 Beta 1". Furthermore, it also introduces new analysis and profiling tools, like the one explained in my post "Visualizing Parallelism and Concurrency in Visual Studio 2010 Beta 2". These new tools bring new windows and palettes to your Visual Studio IDE.
If you work with parallel code for many hours using one monitor, you'll find yourself moving many windows to organize the information on your screen whilst debugging. You'll want to check the information provided by the Parallel Stacks window. However, at the same time, you'll want to see the tasks and their related threads on other windows. I'm talking about debugging parallel code. Therefore, you'll also want to see the code that's being executed. Did I mention locals, call stack, watches, among other windows?
I've been working with dual-monitor workstations for many years now. However, Visual Studio 2010 Beta 2 simplifies the usage of multiple screens to distribute its windows and palettes. This version detects the presence of a dual-monitor configuration and it allows you to simply drag and drop the different windows and palettes to the desired screen. This way, you can drag and drop any window or palette integrated in the development environment. What happens if you disconnect the second monitor? All the windows and palettes that were displayed on that monitor will automatically move to the visible screen area. Simple and intuitive. Great for parallel developers that need dozens of windows at the same time.
It isn't limited to the default windows and palettes provided by the development environment. You will also be able to organize the windows created by extensions like Intel Parallel Studio.
You usually have to switch to multi-monitor mode in many notebooks and laptops using a shortcut. Most modern desktop computers and workstations also include GPUs with support for at least two monitors. Once you activate the dual-monitor mode, Visual Studio 2010 will detect the presence of the new screen. The following picture shows a notebook's dual-monitor activation icon:
Figure 1: Activating a dual-monitor configuration.
The following picture shows a typical parallel debugging scenario, with many windows on a single screen. As you can see, it is necessary to move and resize the windows to be able to see all the necessary information.
Figure 2: Too many windows on a single screen.
The following two pictures show the same windows distributed in two independent screens:
Figure 3: Parallel Stacks, Parallel Tasks, Threads, and Autos windows organized to see all the necessary information on the left screen.
Figure 4: The code, the menu, and the Immediate window organized to see all the necessary information on the right screen.
The following picture shows a notebook and an LCD monitor displaying the two previously explained windows in two screens, taking advantage of the multi-monitor support offered by Visual Studio 2010 Beta 2.
Figure 5: A dual-monitor configuration in action.
It is easier to debug parallel code when you can see all the necessary information without having to move and resize your windows every 5 seconds.
Disclaimer: This post isn't sponsored by a monitor manufacturer. I've found it really useful to work with Visual Studio 2010 Beta 2 new multi-monitor support whilst developing and debugging parallelized applications.
Distributing Work Across Cores Using .NET
A roll-your-own ThreadPool implementation
Looking For The Lost Packets: Part 2
Techniques for debugging multicore packet-processing systemsLooking For The Lost Packets: Part 1
DSP Meets Wireless Communications
- Intel Parallel Studio; Download the free eval today!
- Parallelism Breakthrough Video Series; Watch and learn more about Intel® Parallel Studio
- 2009 Intel Software Webinar Series; View On-Demand webinars
- Coding for Multi-core Processes; Intel® Compiler Pro eBook
- Performance Through Parallelism; Intel® Tuning for Vista eBook
- Intel® Software Network; Connect with developers and Intel engineers
-
February 18, 2010
Lock Contention, Using Intel Parallel Studio to Improve Performance
Speaker: Vasanth Tovinkere, Software Engineer, Intel Corporation (Bio)Vasanth Tovinkere is a software engineer in the Developer Products Division (DPD) at Intel. His current role involves defining novel approaches to understanding and visualizing parallel performance and consulting with strategic customers to help them prepare and deliver code for the multicore world. Vasanth has been involved in the development of automatic semantic event detectors for digital sports technologies in Intel Labs. He also has been awarded three patents and has two patents pending.
Abstract:
Discover how easy it is to use the power of Microsoft Visual Studio and Intel Parallel Studio to find performance issues due to lock contention in threaded applications. This ensures that shipped applications can take better advantage of multicore processors. In this webcast, we provide live demonstrations that show how to identify lock contentions issues with Visual Studio and Intel Parallel Studio, an add-in to Visual Studio that helps developers create fast, reliable code on multicore processors.t.



