I thought this would be the month we'd finally get to post results on the 1st. Unfortunately, a last minute week-long trip to Portland at the end of January stymied me.
As before, scoring for Intel Technology used was 25 for TBB and 10 for each other tool (compiler, MKL, IPP). There was a 5 point bonus given to one entrant that used the PGO feature of the Intel compiler in a build script. This script built the application, ran it with some data files provided, and then recompiled with the PGO data.
Other points were based on number of forum post (5 per post) up to the maximum of 50. The Elegance score was 10 points for documentation (5 were awarded if there wasn't much more than the documentation that was given in the serial code version provided) and 25 points for following the algorithmic restrictions (grid size, use of four traversal functions, output format, etc.)
The Execution time score was based on the sum of the time it took to run 2 different data sets. A limit of 900 seconds (15 minutes) was imposed and codes taking longer were assigned 900 seconds. (This was about twice as long as the serial code took for the data sets.) To test correctness of the codes that did not execute within the time limit, a smaller version of the data sets was used and the results were noted. The sums of the times were ranked and the final Execution score was awarded on a relative scale between 100 and 50, i.e., smallest total execution time got 100, largest execution time got 50 and everything in between was scored on how close they fell to the smallest score. Entries that got a 1800 in the combined score were given 25 points. Incorrect output would impose a 50% penalty for each data set.
The first data set (guns30A.dat) was an arrangement of 30 glider guns. Most of these are arranged across the "top" of the grid with the rest down the "left" side. The work in this data set increases each 30 generation cycle by 30 gliders. The second data set (makepulsarA.dat) is about 120 "Pulsar CP 48-56-72" patterns. This is an oscillating cycle that goes from 48 cells to 56 cells to 72 cells and then back to the original 48 cell pattern. Thus, this a changing, but steady workload. (Oddly enough, this pattern results from a heptomino of 5 cells in a row with one more cell directly below each end of that row in 32 generations. This heptomino was used in the data file.) There were 100 in the "upper left" quadrant of the grid, 10 in each of the "upper right" and "lower left" quadrants, and 1 in the "lower right" quadrant.
The "B" versions of the files were used only to check correct output in entries that went beyond the time limit. They were the same as the "A" files, but with fewer generations.
--clay
"It's all very complicated and would take a scientist to explain it." -- MST3K