Using a set of benchmarks described below, different optimization options for the different compilers on Edison are compared. The compilers are also compared against one another on the benchmarks.
Using a set of benchmarks described below, different optimization options for the different compilers on Edison. The compilers are also compared against one another on the benchmarks. NERSC6 Benchmarks We used these benchmarks from the NERSC6 procurement: Nersc 6 procurement mpi benchmarks Benchmark Science Area Algorithms Concurrency Languages GTC Fusion PIC, finite difference 2048 (weak scaling) f90 IMPACT-T Accelerator Physics PIC, FFT 1024 (strong scaling) f90 MILC Lattice Gauge… Read More »
These are the Intel optimization options we compared. The quotations are from the Intel compiler on-line man pages. Intel Compiler Options Tested -fast This "maximizes speed across the entire program". It is a very high level of optimization and includes interprocedural optimization across different source files. It increases compilation time significantly, and occasionally compiles will fail with this option which succeed with the other options, probably due to the greater processor… Read More »
Cray recommends using the default optimization (-O2) which is equivalent to the higher levels of optimization with other compilers. In addition, the -O3 and -Ofp3 options can improve performance on some codes. These are the Cray optimization options we compared. The quotations are from the Cray compiler on-line man pages. Cray compiler options tested default This is the default level of optimization provided by the compiler with no optimization options specified. -O2 The numeric levels of… Read More »
By default, the Gnu compilers do not provide any optimization. These are the Gnu optimization options we compared. The quotations are from the gcc compiler on-line man page. Gnu compiler options tested -O3 -ffast-math In addition to the -O3 optimizations, this performs optimizations at the expense of an exact implementation of IEEE or ISO rules/specifications for math functions. -O3 This is the highest numerical level of optimization. -O3 -funroll-loops This unrolls loops whose number of… Read More »
Three different compilers are available on Edison. In this section we compare them using the benchmarks described above. In the graph below, the elapsed time of the benchmarks is compared normalized to those produced by the Intel compiler. The lower the bar the better the performance of the benchmark. Both the Intel and Cray compilers produce well optimized code with Intel perhaps being somewhat better optimized. on the average. The GNU compiler produces code that is on the average… Read More »