Timings first:

Looks like even on 60 cores computation still takes most of the run time.
Speedup:

It seems that 52 cores (13 nodes) provide the best efficiency and it doesn't make sense to use any more processors for this density.
Parallel Efficiency:
cpu_cores: 1 E = 99.2%
cpu_cores: 4 E = 97.5%
cpu_cores: 8 E = 97.3%
cpu_cores: 12 E = 96.7%
cpu_cores: 16 E = 96.5%
cpu_cores: 20 E = 96.0%
cpu_cores: 24 E = 92.9%
cpu_cores: 28 E = 94.7%
cpu_cores: 32 E = 91.0%
cpu_cores: 36 E = 86.9%
cpu_cores: 40 E = 93.3%
cpu_cores: 44 E = 90.2%
cpu_cores: 48 E = 87.8%
cpu_cores: 52 E = 87.4%
cpu_cores: 56 E = 80.5%
cpu_cores: 60 E = 76.4%
Looks like reasonable scaling. It is probably worth you considering cost vs runtime in your analysis as well. Although the parallel efficiency numbers show you what is actually happening with the program's performance ultimately what a user will need to do is balance how much a job costs him compared to how fast it finishes. So if you are using 15 nodes (360 cores) it costs a certain amount (2700 AUs per hour). Even if you parallel efficiency is best under-subscribing (using less cores than are available) a node what you want to know is how much science can you achieve for that cost. Generally you get the most science done by using all the cores (even at the cost of parallel performance) but that may not be true for topographica. You can probably comment on this with the data you already have (as you will have the runtime and the number of cores per node you used).
ReplyDelete