I have an MPI application that I am attempting to profile using VTune. No one at my company has experience with VTune, so I'm at a loss as to how to proceed, because I can't get it working.
My corporation has a cluster that we use for development purposes. VTune is installed, and has been used by others in the corporation (not my immediate company though) successfully.
When I run the application with any collect type other than hotspots, my application is unable to create threads using the pthreading library. The pthread_create() call returns an error status, which translates to "Resource temporarily unavailable". This vague error message leaves us baffled.
I would appreciate it if anyone has any ideas on what could be going on. Thank you.
could you please describe few things a little more?
1. VTune Amplifier version, MPI version, OS version
2. How do you make a MPI launch with VTune collection?
3. What exact analysis type did you try? (I'm asking that because, for example, in hotspots analysis VTune can use different collectors according to the chosen options).
4. Did you try any common advises relating to this error? (for example, did you check things mentioned in the https://unix.stackexchange.com/questions/253903/creating-threads-fails-with-resource-temporarily-una... ?)
Also it makes sense to run <VTune_install_dir>/bin64/amplxe-self-checker.sh to see diagnostics for different analysis types run on VTune sample app that is also based on pthreads.
Thanks & Regards, Dmitry
Thank you for the responses! The culprit turned out to be the system limit on open file descriptors. Discovered this while reading perf documentation, then eventually found it mentioned somewhere in the VTune documentation as well.
Aha! I had forgotten that we ran into exactly that problem with VTune on our very first (pre-production) 64-core KNL processors! I guess the defaults on our systems were permanently changed after that, because we have not run into this problem again....