-
Notifications
You must be signed in to change notification settings - Fork 4.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Set names to various CMSSW threads #44912
Comments
assign core |
New categories assigned: core @Dr15Jones,@makortel,@smuzaffar you have been requested to review this Pull request/Issue and eventually sign? Thanks |
cms-bot internal usage |
A new Issue was created by @makortel. @rappoccio, @antoniovilela, @smuzaffar, @sextonkennedy, @makortel, @Dr15Jones can you please review it and eventually sign/assign? Thanks. cms-bot commands are listed here |
@fwyzard I have a vague recollection you would have brought this up at some point in the past. |
Tagging @dan131riley too |
For TBB threads, based on oneapi-src/oneTBB#831 and oneapi-src/oneTBB#896 the recommendation from TBB developers for this kind of "do something upon thread creation" seems to be the use of The stack trace helper thread in The master thread and worker thread pool that we use to run Geant4 work would be easy to handle too. I'd like to set the names of the Eigen thread pool Tensorflow creates, but I don't know on the top of my head how to do that. Out of the box I'd expect those threads to inherit the name of the TBB threads. |
Yes - for example, we see the CUDA threads in a GDB dump, and it would be nice to see explicitly
|
Do we know when/how they are created ? If we do, a non-invasive way could be
|
Or, at least for Eigen, we can hack it and set the names there :-) |
I'd guess the first use of Tensorflow would create the threads, I don't really know. |
Setting names like
TBB pool
orcrash monitor
to the various threads (withpthread_setname_np()
, as suggested in #44901 (comment)) created bycmsRun
could be useful for interpreting stack traces on a process with many thread.One detail that I noticed in #44901 (comment) is that the name of a thread gets forwarded to all threads created by that thread. This detail may be mostly relevant for the case where
edm::WaitingTaskWithArenaHolder
is used on a job that was configured to use 1 TBB thread. In that case theonetbb::task_arena::enqueue()
call inedm::WaitingTaskWithArenaHolder::doneWaiting()
creates a new TBB thread, that inherits the name from the (non-)TBB thread, and so on.The text was updated successfully, but these errors were encountered: