Intel® Moderncode for Parallel Architectures
Support for developing parallel programming applications on Intel® Architecture.
1694 Discussions

Suboptimal user experience when trying out Thread Checker

I hope this is the right place to submit this: I've just downloaded an eval copy of Thread Checker 3.1:

Package Contents: Intel Thread Checker 3.1 for Windows*
Update ID: 006
Package ID: w_ITTitc_pu_3.1.032
Build Number: 25184 9/7/2007

and have a few minor gripes about the user experience. On install it tells me that since there's no copy of VTune installed it'll install a copy, but with the VTune functionality disabled. Fair enough, I only want to evaluate the thread checker (for now :-).

Clicking "Next" leads to a second dialog telling me that "The wizard was interrupted before the Thread Checker could be completely installed". The wizard then goes on to install VTune, I assume this is because the Thread Checker install bails out, tries a VTune install, and then restarts, but the feedback it provides to the user while it's doing this is rather confusing, since it implies that at least parts of the install have failed.

Once it's installed, starting Thread Checker loads VTune (acting as Thread Checker), but all the default actions are set to VTune rather than Thread Checker (for example File | New Project has "Analyzer Projects" selected as the Category setting). So running what appears to be Thread Checker and trying to create a new project (or do anything for that matter) produces a dialog saying that a license for VTune wasn't found. This seems to imply that you have to buy a copy of VTune in order to evaluate Thread Checker, and the earlier warning about parts of the install apparently failing doesn't really help things.

I think if the user is evaluating (or using) Thread Checker, it shouldn't default to VTune mode when run since this is rather confusing for first-time users.

(And a minor UI bug, when setting the display options via Configure | Options | Intel Thead Checker, the current view isn't updated, you have to reload the project to update the view).

Suggested fixes:
  • Have the installer check for the presence of VTune, then do a normal VTune install followed by the Thread Checker install, rather than bailing out of the Checker install with an error message and falling back to the VTune install.
  • When VTune is started in Thread Checker mode and no VTune license is present, display this in the spash screen (with the usual "Don't show this message again") option to let the user know. In conjunction with this, grey out VTune-specific options when VTune is run as Thread Checker and no VTune license is present.
  • The most important one: Again when VTune is run as Thread Checker, make the default wizard settings the Thread Checker ones, not the VTune ones.

0 Kudos
3 Replies

Thanks a lot for your valuable feedback!

It will help to improve the next version of the mentioned products.

But please consider that Thread Checker is just a plug-in for VTune, it adds some new functionality into VTune. So it's not completely correct to say about a "Thread Checker mode of VTune".

Anyway, your comments looks essential.

0 Kudos
>So it's not completely correct to say about a "Thread Checker mode of VTune".

Yeah, sorry, I wasn't quite sure how to best express the symbiotic nature of the two... anyway, another small problem, I'm getting false positives for calls to gmtime() in the multithreaded runtime library:
A non-reentrant API function at [abc] conflicts with the API function call at [xyz]
where the function being tagged is gmtime(). The online help says that this, and related functions like localtime(), aren't thread-safe, but in most cases they are. The only two situations in which this would be a legitimate issue is if you're using CreateThread() instead of _beginthreadex() to start the thread, i.e. the CRT's thread local storage management isn't set up correctly, or if you're using the non-MT runtime.

If you need more details, please let me know.
0 Kudos

Yes, the current version of the product marks gmtime, localtime .. as errors

We are aware of this issue and the next verison of the tools will not mark them as errors.

Intel Thread Checker provides filtering mechanism that allow you to filter out these kind of diagnostics. Please refer to the help which explains this in detail.

0 Kudos