Talk:Performance: Difference between revisions

From Biowerkzeug Wiki
Jump to navigationJump to search
Kaihsu (talk | contribs)
 
(One intermediate revision by one other user not shown)
Line 3: Line 3:


== Scaling ==
== Scaling ==
How to run scaling tests/testing methodology:
Use [[test_scaling.py]] which in turn uses [[calc_testjobs_linux.sh]].
cd testjobs
test_scaling.py ''NSLOTS''
where ''NSLOTS'' is the maximum number of available cpus/cores. Results are the files
scaling.xvg      # numbers
scaling.png      # graphs
* Only measures ''wall time'', hence must be run on an empty machine.
* Uses <code>date +%s</code> so accuracy is limited to seconds.
* No repeat runs; results may vary slightly.
Manually:
Use updated [[calc_testjobs_linux.sh]]
Use updated [[calc_testjobs_linux.sh]]
<source lang="bash">
  DATA=scaling.xvg
  DATA=scaling.xvg
MAXSLOTS=8
  echo -e "# scaling for Hippo\n# numthreads walltime/s" > $DATA
  echo -e "# scaling for Hippo\n# numthreads walltime/s" > $DATA
  for NSLOTS in `seq 8`; do  
  for NSLOTS in `seq $MAXSLOTS`; do  
   echo "-- NSLOTS = $NSLOTS";  
   echo "-- NSLOTS = $NSLOTS";  
   ../../calc_testjobs_linux.sh -n $NSLOTS  walp_octane_NPT_sp_MD \
   ../../calc_testjobs_linux.sh -n $NSLOTS  walp_octane_NPT_sp_MD \
     | awk '/BENCHMARK/ {print $3, $4}' >> $DATA;  
     | awk '/BENCHMARK/ {print $3, $4}' >> $DATA;  
  done
  done
Note:
</source>
* only run this on an empty machine: we are using ''wall time'' for timing
All the above remarks apply here, too.
 
Slightly more sophisticated: use [[test_scaling.py]].
cd testjobs
test_scaling.py ''NSLOTS''
where ''NSLOTS'' is the maximum number of available cpus/cores. Results are the files
scaling.xvg      # numbers
scaling.png      # graphs

Latest revision as of 15:44, 8 December 2008

Integration with tests

We could write a script that does the benchmark while running the test. It would even be possible to automatically post it (with the user's consent, of course). — Oli 16:03, 14 November 2008 (UTC)

Scaling

How to run scaling tests/testing methodology:

Use test_scaling.py which in turn uses calc_testjobs_linux.sh.

cd testjobs
test_scaling.py NSLOTS

where NSLOTS is the maximum number of available cpus/cores. Results are the files

scaling.xvg      # numbers
scaling.png      # graphs
  • Only measures wall time, hence must be run on an empty machine.
  • Uses date +%s so accuracy is limited to seconds.
  • No repeat runs; results may vary slightly.

Manually: Use updated calc_testjobs_linux.sh

 DATA=scaling.xvg
 MAXSLOTS=8
 echo -e "# scaling for Hippo\n# numthreads walltime/s" > $DATA
 for NSLOTS in `seq $MAXSLOTS`; do 
   echo "-- NSLOTS = $NSLOTS"; 
   ../../calc_testjobs_linux.sh -n $NSLOTS  walp_octane_NPT_sp_MD \
     | awk '/BENCHMARK/ {print $3, $4}' >> $DATA; 
 done

All the above remarks apply here, too.