Performance Investigation and Parallelisation of the CosmoNest code

Ignat Tolstov · 2013

High Performance Computing have been widely used in various aspects of scientific studies. Using the computing power of modern machines, it allows researchers to conduct various experiments that would be impossible to carry out in the real world, hence, one might obtain the valuable experimental data. Commonly, it is necessary to make some scientific application, which was initially sequential, to be executable by a number of cores, i.e. to make it parallel. In this case we aim to parallelise “CosmoNest” program that is applied in the field of Cosmology. The given application tackles the issues of locating the region in the cosmological parameter space, which corresponds to the maximum value of the likelihood function. In fact, this program was an implementation of the sequential algorithm called Nested Sampling. The aim of the project was to investigate the various possible methods of parallelisation of the “CosmoNest”. We introduced several parallel strategies that were developed using the original Nested Sampling algorithm as a basis. The given strategies were implemented using OpenMP and, therefore, we conducted series of performance tests. Then, we compare the obtained performance results in order to define the best strategy. As a result, two out of five developed parallel strategies have shown good results since we have achieved the speed-up values of 41.6 and 47.5 on 64 threads, respectively. At the same time, one strategy proved to be completely useless as its best performance result corresponded to the value of speed-up 1.1 using 8 threads. Meanwhile, the obtained results of the remaining strategies have been quite modest in comparison with the best received ones. That is, the corresponding values of speed-up were only 5.2 and 21.5 on 64 threads.

Read the paper · More papers on PaperTik