Miriad Benchmarks

Jump to: navigation, search


Although we do have the standard miriad benchmark, which you can run via the command

 time $MIR/install/mir.bench
 23.441u 2.364s 0:27.10 95.2% 

where you will need to look at the user space CPU (23.44 sec in this case) and the elapsed time (27.10 sec in this case). Background and a compilation of older results can be found in BIMA memo #xx. The material below will be used in an updated version of this miriad benchmark memo.


A more realistic CPU intensive test is a mosaiced clean. The test takes a 7 field BIMA and 16 field CARMA mosaic of NGC 4736 and cleans one channel to 10,000 components. You can obtain a tar file with a script to run the benchmark from our [1]] and run the benchmark, roughly as follows:

 wget ftp://ftp.astro.umd.edu/pub/bima/mirbench3.tar
 tar xf mirbench3.tar
 cd mirbench3
 Steer Iterations: 10022
 Resid min,max,rms,max sigma:     -1.362     1.271     0.356     2.511
 Total CLEANed flux:    1.710E+00
 41.185u 0.870s 0:42.11 99.8%    0+0k 0+0io 50pf+0w                                <<<----------   41.2 / 42.1 sec
 Maths: version 1.0 17-Oct-00

where the benchmark only counts the CPU spent in mossdi2.

Some numbers to compare with:

 MACH       GHZ/CPU    CPU-SEC      OS        COMMENTS
 akash      3.4 x 2    49"          mdk10     78" when two run in parallel on both CPUs, very odd
 everto     2.2        71"          mdk10
 chara      3.0        52"          mdk10     gcc
 chara      3.0        40"          mdk10     intel 9.0 compiler (about 20% speed increase)
 perseus    2.4 x 2    30"          mdk10     core 2 duo
 chara      2.9        18.3"        centos54  i7, chara was upgraded in 2009/10
 nemo       2.0        36"          fc11      T7300 core 2 duo 
 MacMini    1.66       51"          osx10.4
 mmwave     2.6 x 2 ?  27"          osx10.4
 macbook    2.4 x 2    28"          osx10.5


An example script was written to run mirbench3 in parallel on multi-cpu/core machines. Overall performance scales nearly linear. This is achieved in the most simple way: each cpu/core gets a proportional part of the channels to clean and are catenated after the run. Details will follow. There has also some work been done within MIS.

Personal tools