Difference between revisions of "Pkit.h"

From Earlham CS Department
Jump to navigation Jump to search
 
(3 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
** Allow a variable number of arguments (va_arg and all that jazz) and let the programmer specify what he or she wants to see (for debug purposes)
 
** Allow a variable number of arguments (va_arg and all that jazz) and let the programmer specify what he or she wants to see (for debug purposes)
 
** Arguments that stat.pl expects to see are required:
 
** Arguments that stat.pl expects to see are required:
***Program name - currently in ''name''_''parallelization style'' format
+
***Program name - currently stat.pl expects this to be in ''name''_''parallelization style'' format.
 
**** This is a duplication of information (see architecture), but it may be better than the alternative, which is to try and fit all four styles into the same program with preprocessor commands
 
**** This is a duplication of information (see architecture), but it may be better than the alternative, which is to try and fit all four styles into the same program with preprocessor commands
 
***Program version - I see people updating this once and forgetting to update it again. It can't hurt, though
 
***Program version - I see people updating this once and forgetting to update it again. It can't hurt, though
Line 9: Line 9:
 
***Threads
 
***Threads
 
***cputime - most challenging to implement. With high repetitions Walltime is nearly as accurate. I recommend we cut.
 
***cputime - most challenging to implement. With high repetitions Walltime is nearly as accurate. I recommend we cut.
 +
***walltime
 
***architecture - Parallelization style
 
***architecture - Parallelization style
***problem_size - The main "dial"
+
***problem_size - The main "dial" this should always be measured in integers, and increasing it should increase the work required to complete the problem
 
**** In area this is segments
 
**** In area this is segments
 
**** In GalaxSee this is stars
 
**** In GalaxSee this is stars
 
*Because people may want to equip C or C++ programs, account for the fact that cout and printf do not play nicely together.
 
*Because people may want to equip C or C++ programs, account for the fact that cout and printf do not play nicely together.
 
** The library detects C or C++ in the preprocessor stage and uses printf or cout respectively.
 
** The library detects C or C++ in the preprocessor stage and uses printf or cout respectively.

Latest revision as of 09:53, 13 May 2010

In order to ease the introduction of further programs into PetaKit, a generalized header for data output is under construction.

  • Generalize output
    • Allow a variable number of arguments (va_arg and all that jazz) and let the programmer specify what he or she wants to see (for debug purposes)
    • Arguments that stat.pl expects to see are required:
      • Program name - currently stat.pl expects this to be in name_parallelization style format.
        • This is a duplication of information (see architecture), but it may be better than the alternative, which is to try and fit all four styles into the same program with preprocessor commands
      • Program version - I see people updating this once and forgetting to update it again. It can't hurt, though
      • Hostname - currently goes through a filter to identify it as being from a list of known clusters.
      • Threads
      • cputime - most challenging to implement. With high repetitions Walltime is nearly as accurate. I recommend we cut.
      • walltime
      • architecture - Parallelization style
      • problem_size - The main "dial" this should always be measured in integers, and increasing it should increase the work required to complete the problem
        • In area this is segments
        • In GalaxSee this is stars
  • Because people may want to equip C or C++ programs, account for the fact that cout and printf do not play nicely together.
    • The library detects C or C++ in the preprocessor stage and uses printf or cout respectively.