[ADMB Users] ADMB for 64-bit GCC in Windows

Arni Magnusson arnima at hafro.is
Thu Feb 10 13:31:12 PST 2011


> What's your metric of speed? Obvious 1.3 is not SLOWER than 1.0 or the 
> tone of your email would be different.

Hi Ian, that's a good question. Here's one approach:

   Speed = Computations / Time

I have compiled catage.exe using three compilers, called 1, 2, and 3. Then 
I measure the time required to run "catage -mcmc 1e6 -mcsave 1e3" with 
each executable:

   t1: 120 sec
   t2: 90 sec
   t3: 75 sec

Convert to speed:

   v1 = ref / t1
   v2 = ref / t2
   v3 = ref / t3

For example,

   v1 = 3600 / 120 = 30 runs per hour
   v2 = 3600 /  90 = 40 runs per hour
   v3 = 3600 /  75 = 48 runs per hour

In the previous email, I used the slowest model as the reference:

   v1 = 120 / 120 = 1.00
   v2 = 120 /  90 = 1.33
   v3 = 120 /  75 = 1.60

In a big table, it can be easier to compare to the fastest compiler, so 
the results are integers from 0 to 100:

               catage  modelX  modelY
   Compiler 1      62      58      71
   Compiler 2      75      70      77
   Compiler 3     100     100     100

It would be very interesting if someone could benchmark MinGW64, MSVC64, 
and Linux64 using, say 'catage', 'ss3', and maybe some ADMB-RE model. I 
don't really have access to 64-bit Windows, let alone MSVC64, but I guess 
these are the heavyweights that can easily be installed on a single 
dual-boot machine.

To make benchmarking easier, I have created a "Benchmark tools" folder, 
http://admb-project.org/community/benchmarks/benchmark-tools. This is what 
I run:

   [Linux]   time catage -mcmc 1e6 -mcsave 1e3
   [Windows] benchmark catage -mcmc 1e6 -mcsave 1e3

To be honest, I've used 1e5 and 1e2, and then picked the median of three 
replicate runs. Whatever works.

Arni



More information about the Users mailing list