Difference between revisions of "Pkit.h"
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
- Program name - currently stat.pl expects this to be in name_parallelization style format.
- 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.