Benchmarking CYCLIZE
The CPU utilization times for the two C programs generate_chains and analyze_chains are listed below for a variety of computers. The values reported are the average of two runs (the benchmark script runs the calculations twice). These CPU usage values are found in the output files generate_chains.header and analyze_chains.header.

Here is the benchmark script . It calculates 4x10^8 whole chains with the number of independent calculations set to 100 for a 156nt DNA with a Jfactor of ~2500 nM. You can compare your resulting output files to these to insure the calculations are working correctly. Remember, because of the Monte Carlo (random number generated) nature of the calculation, your results may vary slightly from these. It is best to run the benchmark a few times (the script runs it twice) and average the results.

On the chart below, to explain some of the more obtuse columns titles: 'CPU mfg' = CPU manufacturer, 'Comp' = compiler, 'Opts' = optimizations used in the compile, 'OS' = operating system, 'Gener' = benchmark from generate_chains, 'Analy' = benchmark time from analyze_chains, and 'Name' = the common name of the computer.

CPU mfg CPU model   MHz Comp  Opts  OS      Gener Analy Total(s)   Name
------- ---------  ---- ----- ---- -------- ----- ----- -----     -------
Intel    Celeron    550 pgcc    2  lnx 2.2                         maul
Intel    Celeron    550 gcc     1  lnx 2.2    109   314   423      maul
Intel    PII        400 pgcc    2  lnx 2.0    145   287   432      corona
Intel    PII        400 gcc     1  lnx 2.0    155   363   518      corona
Intel    PPro       200 pgcc    2  lnx 2.0    290   500   790      bass
Intel    PPro       200 gcc     1  lnx 2.0    324   645   969      bass
SGI      R5000      200 cc      3  irix 6.3   336   820  1156      ernst
SGI      R4400      150 cc      3  irix 5.3   636  1482  2118      tecate
SGI      R4000      100 cc      3  irix 5.3   960  2322  3283      dosequis

Opt 1: '-O3 -fast-math'
Opt 2: '-fast'
Opt 3: '-O2 -mips2'

Compilers:

  • 'gcc' is the GNU C Compiler (available at http://www.gnu.org/). This compiler is free (of course).
  • 'pgcc' is the Portland Group C compiler (available at http://www.pgroup.com). This compiler is only available commercially, but they have a free 15 day trial license.
  • 'cc' for SGI machines is the standard C compiler that comes with that version of IRIX.

  • Jon Lapham
    Yale University
    Department of Chemistry - Crothers Lab