+- +-
Say hello if visiting :) by Gecko
11 Jan 2023, 07:43:05 pm

Seti is down again by Mike
09 Aug 2017, 10:02:44 am

Some considerations regarding OpenCL MultiBeam app tuning from algorithm view by Raistmer
11 Dec 2016, 06:30:56 am

Loading APU to the limit: performance considerations by Mike
05 Nov 2016, 06:49:26 am

Better sleep on Windows - new round by Raistmer
26 Aug 2016, 02:02:31 pm

Author Topic: ExtractTimes Perl script for easy performance info collection  (Read 24805 times)

Offline Raistmer

  • Working Code Wizard
  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 14349
I wrote some Perl script that will parse client_info.xml file and extract valuable performance info from it.
Currently supported apps are:
1 - AKv8 MB
2- ATI MB
3- ATI AP
4 -CPU AP
5 - x32f CUDA MB

For AP it will extract blanking % along with elapsed and CPU times, for MB - AR of task.
Script and example of its result in attached file.
« Last Edit: 17 Oct 2010, 05:32:48 pm by Raistmer »

Offline Urs Echternacht

  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 4121
  • ++
Re: ExtractTimes Perl script for easy performance info collection
« Reply #1 on: 09 Oct 2010, 06:11:22 pm »
Debug session of your perl script running on linux. Looks like it hangs somewhen :
main::(ExtractTimes.pl:1):      $path="client_state.xml";
  DB<0> n
main::(ExtractTimes.pl:2):      $results="Times.txt";
  DB<0> n
main::(ExtractTimes.pl:5):      open (IN, $path); 
  DB<0> n
main::(ExtractTimes.pl:6):      open (RES, ">".$results);
  DB<0> n
main::(ExtractTimes.pl:7):      print RES "Task name"."\t"."Parameter"."\t"."Result Type"."\t"."Revision"."\t"."ElapsedTime"."\t"."CPUTime"."\n";
  DB<0> n
main::(ExtractTimes.pl:9):      while (<IN>) {   
  DB<0> n
main::(ExtractTimes.pl:10):                     if( /<result>/ ){
  DB<0> n
main::(ExtractTimes.pl:10):                     if( /<result>/ ){
  DB<0> n
main::(ExtractTimes.pl:10):                     if( /<result>/ ){
  DB<0> n
main::(ExtractTimes.pl:10):                     if( /<result>/ ){
  DB<0> n
main::(ExtractTimes.pl:10):                     if( /<result>/ ){
...
_\|/_
U r s

Offline Raistmer

  • Working Code Wizard
  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 14349
Re: ExtractTimes Perl script for easy performance info collection
« Reply #2 on: 09 Oct 2010, 06:15:52 pm »
hangs ? :)
Well, try to copy client_state.xml in different locaation before running script. If script re-created while it accessed by script some undefined behavior possible.

Offline Urs Echternacht

  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 4121
  • ++
Re: ExtractTimes Perl script for easy performance info collection
« Reply #3 on: 09 Oct 2010, 06:21:51 pm »
hangs ? :)
Well, try to copy client_state.xml in different locaation before running script. If script re-created while it accessed by script some undefined behavior possible.
Ok, done like you suggested, but still same outcome its not getting beyond line 10.
_\|/_
U r s

Offline Raistmer

  • Working Code Wizard
  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 14349
Re: ExtractTimes Perl script for easy performance info collection
« Reply #4 on: 09 Oct 2010, 06:35:00 pm »
And it should? ;)
There are many other lines in client_state.xml before first <result> tag approaches...

Offline Urs Echternacht

  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 4121
  • ++
Re: ExtractTimes Perl script for easy performance info collection
« Reply #5 on: 09 Oct 2010, 06:53:46 pm »
And it should? ;)
There are many other lines in client_state.xml before first <result> tag approaches...
It works after 109  tags with first <result>
Will try to add a section to detect opt CPU AP results also.
« Last Edit: 09 Oct 2010, 06:57:03 pm by Urs Echternacht »
_\|/_
U r s

Offline Urs Echternacht

  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 4121
  • ++
Re: ExtractTimes Perl script for easy performance info collection
« Reply #6 on: 09 Oct 2010, 07:23:52 pm »
   if( /Windows x86 rev (.*), Don't Panic!/ || /Linux 64 bit, rel.  Rev (.*)/ || /Linux 32 bit, rel.  Rev (.*)/){#uje: CPU opt AP detection
          $ResultType=4;
          $Revision=$1;
          next;
        }

Adding this section seems to work at least on Windows and Linux so far. Other OSs can easily be added. New ResultType 4: CPU opt AP

Please test yourself.
_\|/_
U r s

Offline Raistmer

  • Working Code Wizard
  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 14349
Re: ExtractTimes Perl script for easy performance info collection
« Reply #7 on: 09 Oct 2010, 07:49:05 pm »
I have no CPU AP :)

Offline Urs Echternacht

  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 4121
  • ++
Re: ExtractTimes Perl script for easy performance info collection
« Reply #8 on: 09 Oct 2010, 08:11:36 pm »
I have no CPU AP :)

For a test you could copy one result section into your local copy of client_state.xml derived from someone elses seti@home account.
_\|/_
U r s

Offline Raistmer

  • Working Code Wizard
  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 14349
Re: ExtractTimes Perl script for easy performance info collection
« Reply #9 on: 10 Oct 2010, 02:52:33 am »
:)
Let "someone else's" be your, post client_state, please, for test.

Offline Jason G

  • Construction Fraggle
  • Knight who says 'Ni!'
  • *****
  • Posts: 8980
Re: ExtractTimes Perl script for easy performance info collection
« Reply #10 on: 10 Oct 2010, 03:21:18 am »
Suggestion, just in case you forgot:  Do it by private means.  There's secret stuff in those files  ;)

Offline Urs Echternacht

  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 4121
  • ++
Re: ExtractTimes Perl script for easy performance info collection
« Reply #11 on: 10 Oct 2010, 01:48:34 pm »
:)
Let "someone else's" be your, post client_state, please, for test.
Where did i say "that"? That is an interpretation of my words!
I said modify "your local copy" of the client_state for a test using some result info.
_\|/_
U r s

Offline Raistmer

  • Working Code Wizard
  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 14349
Re: ExtractTimes Perl script for easy performance info collection
« Reply #12 on: 11 Oct 2010, 09:52:37 am »
Not interpolation, perhaps just wrong reading :)
Ok I understood your idea now.

Ghost0210

  • Guest
Re: ExtractTimes Perl script for easy performance info collection
« Reply #13 on: 11 Oct 2010, 02:43:29 pm »
Or if anyone wants a .Net app I've got one that does the same (except haven't figured out how to get the ATI AP blanking % yet)
But will retrieve all the same info for Cuda MB, ATI MB and ATI AP, that I can make available

Offline Raistmer

  • Working Code Wizard
  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 14349
Re: ExtractTimes Perl script for easy performance info collection
« Reply #14 on: 11 Oct 2010, 02:46:33 pm »
Or if anyone wants a .Net app I've got one that does the same (except haven't figured out how to get the ATI AP blanking % yet)
But will retrieve all the same info for Cuda MB, ATI MB and ATI AP, that I can make available
Then post it here too, if it's not proprietary code ;)
blanking % can be retrieved form app stderr, just as AR value for MB task.

 

Welcome, Guest.
Please login or register.
 
 
 
Forgot your password?
Members
Total Members: 97
Latest: ToeBee
New This Month: 0
New This Week: 0
New Today: 0
Stats
Total Posts: 59559
Total Topics: 1672
Most Online Today: 355
Most Online Ever: 983
(20 Jan 2020, 03:17:55 pm)
Users Online
Members: 0
Guests: 128
Total: 128
Powered by EzPortal