Serialize Parallel Regions with Intel(R) Parallel Debugger Extension

Serialize Parallel Regions with Intel(R) Parallel Debugger Extension

The Intel Debugger Extension which is part of the Intel Parallel Composer provides some very useful features to debug OpenMP* parallelized code. With this add-in to the Microsoft Visual Studio* Debugger you can easily detect data sharing events which commonly cause data races, the biggest pitfall in parallel programming.

However, did you know that you can also debug OpenMP code in serial mode which provides the following advantages:

- Switch between serial and parallel execution without leaving the debugger session
- No need to rebuild the application
- Find out if a problem occurs during serial or parallel execution of the same code

See this knowledge base article for more details:
http://software.intel.com/en-us/articles/parallel-debugger-extension/

We would be interested to hear from you if you find this feature useful.

Any other comments or improvement suggestions for the debugger extension are also welcome!

3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Quoting - Hubert Haberstock (Intel)

The Intel Debugger Extension which is part of the Intel Parallel Composer provides some very useful features to debug OpenMP* parallelized code. With this add-in to the Microsoft Visual Studio* Debugger you can easily detect data sharing events which commonly cause data races, the biggest pitfall in parallel programming.

However, did you know that you can also debug OpenMP code in serial mode which provides the following advantages:

- Switch between serial and parallel execution without leaving the debugger session
- No need to rebuild the application
- Find out if a problem occurs during serial or parallel execution of the same code

See this knowledge base article for more details:
http://software.intel.com/en-us/articles/parallel-debugger-extension/

We would be interested to hear from you if you find this feature useful.

Any other comments or improvement suggestions for the debugger extension are also welcome!

Well, here is how I see it:

It's inevitable that threading solutions are going to be the new standard. OpenMP gives you good coverage, maybe so good coverage that Intel's R&D budget for TBB might be a bit of a waste.

OpenMP is very wide spread, and free as in beer, accessible from most platforms.

Intel TBB offers C++ users a higher level abstraction for parallelism, but with native support for paralellism in the native STL, I wouldn't put my money on that horse alone.

Most ISV's will use the STL for maximum conformance/portability, instead of relying on a proprietary solution.
Personally, I like the TBB, and I think it is really an innovative product for the time beeing, but how long will the candle burn? Even now that we have the open-sourced libraries, I still believe that the C++ extentions in C++0x will be the preffered way of coding.

We will ultimately see tools that debugs the native code in the same way, without the abstraction layering.
It's hard to predict the future, but I still feel that doing multi-core routines in Erlang, and calling those from C++ or C might still be a safer way of execution...

The graphical view on thread debugging in the Parallel Debugger Extension is also a real treat, and indeed a useful tool.
My personal point of view is nevertheless that abstraction at a level that really demands low level control, is partially on the way to be "managed" code.

It's kinda like a dashboard on a car. You know when to slow down, fill gas, and change the oil, but if you learn to use the abstracted techniques, without first having used the "real" native methods, you'll be on your way to Developer Fatigue.

But, again, thats just my 2 cents.

"Small chance of success, certainty of death... What are we waiting for?"

Quoting - Baltazaar
Well, here is how I see it:

It seems a lot of your comments are about the long-term benefit (and ultimate success)of Intel's Threading Building Blocks rather than the Parallel Debugger Extension described here. Perhaps you might be willing to submit those comments to the TBB Forum and stimulate a hopefully interesting conversation there?

Leave a Comment

Please sign in to add a comment. Not a member? Join today