{'fraction_non_alphanumeric': 0.026435045317220542, 'fraction_numerical': 0.0015105740181268882, 'mean_word_length': 5.25, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Parallelization of Existing Tuning Strategies in AutoPas using MPI

Molecular Dynamics (MD) simulations are computationally highly involved and there exist many strategies to improve their efficiency. Because those strategies are difficult to select manually, it is desirable to automatically compare and choose them during run-time. This is called auto-tuning. AutoPas is a C++ MD-simulation library designed to do exactly that with custom simulations provided by the user[5]. However, it did not previously feature a way to parallelize the tuning process. Instead, each process used in a highly parallel MD-simulation had to find an optimal solution in isolation. This thesis implements a parallelization scheme, which allows AutoPas processes to communicate during tuning in order to find a solution more quickly. This is done using the MPI-specification[6]. As the solution has to be applicable for all processes, the simulation-domain is assumed to be homogeneous. The implementation is tested in various situations and compared to a non-parallelized execution of those same situations. Overall, it is shown that significant improvements in performance are possible, but also that they are highly situational. Therefore, future optimizations will be necessary to fully exploit the potential of parallelizing the tuning.