Which Intel product for following parallel problem?
I would like to ask for directions to help in my decision about which Intel product to buy. My problem is following:
1. I have application, that has 60000 lines of code and is currently being rewritten to run in parallel architecture. 2. Despite the fact, that the application has now, after rebuild, multiple threads processing the data, it does not scale.
We are looking for a tool that will help us finding an answer for the question(*): "Why doesn't our application scale?". We generally do not have problems with deadlocks. The problem is rather in locking strategy and overall architecture of the rewritten application.
Which product is worth trying? We are thinking about: 1. Intel Parallel Studio / Intel Parallel Inspector 2. Intel VTune Performance Analyzer 3. Intel Parallel Amplifier 4. Intel Thread Checker
My question is: which of the mentioned tool is best suited to resolving the (*) issue? Maybe there is another Intel product better for this?
Assuming you're asking for opinions, not necessarily based on fact: Parallel Studio might be most appropriate if you have C and C++ code, and wish to make a fresh start on parallelization, using OpenMP. VTune would help you find your opportunities for performance improvement; for example, did you miss the important hot spots in your threading, or fail to gain parallel speedup. Thread Checker ought to tell you about any problems with the logic of your threading. This would bear on performance only if the performance problem is associated with incorrectness. Thread Checker hasn't had much development attention during development of Parallel Studio.
For scalability analysis,I would recommend either VTune Performance Analyzer (which by the way includes Intel Thread Profiler, thetool for analysis of multithreaded apps), or Intel Parallel Amplifier (also part of Intel Parallel Studio). VTune+TP is more oriented on advanced audience, while Parallel Amplifier was designed to be easy to use for everybody.
Thread Checker and Parallel Inspector are the tools for correctness analysis able to find deadlocks, data races, memory related problems, etc.
Also be aware that Intel Parallel Studio (and so Parallel Inspector and Parallel Amplifier) is for Windows only, and integrated into MS Visual Studio (so somewhat hard to use out of it).
Last but not least, you can get free evaluation versions for all these tools, try those, and decide based on your own experience.