Seti@Home optimized science apps and information

Optimized Seti@Home apps => Windows => GPU crunching => Topic started by: efmer (fred) on 20 Dec 2009, 08:26:04 am

Title: Determine what exe is feeding a particular GPU
Post by: efmer (fred) on 20 Dec 2009, 08:26:04 am
I want to know if the running feeder exe is storing its pid or other info on who he is, somewhere in a file?

Need to determine who (exe) is feeding a particular GPU (device).
Title: Re: Determine what exe is feeding a particular GPU
Post by: Raistmer on 20 Dec 2009, 08:34:37 am
I want to know if the running feeder exe is storing its pid or other info on who he is, somewhere in a file?

Need to determine who (exe) is feeding a particular GPU (device).

Hm... if you can link process PID with app slot in BOINC already, then you could parse stderr.txt in particular slot to determine what device was assigned to this particular slot -> process.
But how to link process PID and slot number... no idea.
Title: Re: Determine what exe is feeding a particular GPU
Post by: efmer (fred) on 20 Dec 2009, 08:46:30 am
I want to know if the running feeder exe is storing its pid or other info on who he is, somewhere in a file?

Need to determine who (exe) is feeding a particular GPU (device).

Hm... if you can link process PID with app slot in BOINC already, then you could parse stderr.txt in particular slot to determine what device was assigned to this particular slot -> process.
But how to link process PID and slot number... no idea.

Yes the link device <-> pid. The exe could include it in the stderr.txt, but that would only work for special builds.
I want to see if I can throttle a specific gpu or cpu (a lot harder)

A problem is that the slot in some projects (Seti), only holds a shortcut to the exe and not the actual exe.
Title: Re: Determine what exe is feeding a particular GPU
Post by: Raistmer on 20 Dec 2009, 09:33:11 am
Well, is it possible to extract working directory info from running project?
If yes, then you can
1) list all SETI processes running with their PIDs.
2) determine their working directories - these will be slots numbers
3) look into stderr.txt for particular PID->slot to determine its GPU devide ID.
then you will get whole chain PID->slot number->GPU device ID.
Title: Re: Determine what exe is feeding a particular GPU
Post by: efmer (fred) on 20 Dec 2009, 10:00:14 am
Well, is it possible to extract working directory info from running project?
If yes, then you can
1) list all SETI processes running with their PIDs.
2) determine their working directories - these will be slots numbers
3) look into stderr.txt for particular PID->slot to determine its GPU devide ID.
then you will get whole chain PID->slot number->GPU device ID.

2) tried that one but it's a link not the actual program so.. everyone is pointing to the same file. The directory is the project directory not the slot.
Title: Re: Determine what exe is feeding a particular GPU
Post by: sunu on 31 Dec 2009, 06:52:40 pm
I don't know how much linux functionality cygwin implements in windows but you could try it. For example, in linux the command

ps -felL |grep setiathome-6 |grep -v grep

gives me everything I could wish for: PIDs, TIDs, CPU usage, commands used and much more. An example output:


0 S ek        2613 23219  2613 19    2  80   0 - 42163 -      01:41 pts/3    00:00:48 ../../projects/setiathome.berkeley.edu/setiathome-6.08.CUDA_2.2_x86_64-pc-linux-gnu --device 1
1 S ek        2613 23219  2614  0    2  80   0 - 42163 -      01:41 pts/3    00:00:00 ../../projects/setiathome.berkeley.edu/setiathome-6.08.CUDA_2.2_x86_64-pc-linux-gnu --device 1
0 R ek        3204 23219  3204 21    2  80   0 - 42371 -      01:42 pts/3    00:00:44 ../../projects/setiathome.berkeley.edu/setiathome-6.08.CUDA_2.2_x86_64-pc-linux-gnu --device 2
1 S ek        3204 23219  3205  0    2  80   0 - 42371 -      01:42 pts/3    00:00:00 ../../projects/setiathome.berkeley.edu/setiathome-6.08.CUDA_2.2_x86_64-pc-linux-gnu --device 2
0 S ek       31402 23219 31402 12    2  80   0 - 42538 -      01:36 pts/3    00:01:14 ../../projects/setiathome.berkeley.edu/setiathome-6.08.CUDA_2.2_x86_64-pc-linux-gnu --device 0
1 S ek       31402 23219 31403  0    2  80   0 - 42538 -      01:36 pts/3    00:00:00 ../../projects/setiathome.berkeley.edu/setiathome-6.08.CUDA_2.2_x86_64-pc-linux-gnu --device 0