{'fraction_non_alphanumeric': 0.014913007456503728, 'fraction_numerical': 0.0, 'mean_word_length': 5.259067357512953, '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}}
A configurable parallel iterative tuning framework

Performance tuning is notoriously time consuming and laborious. Although a large number of compiling optimizations have been proposed, due to the complexity of the architecture of the current HPC system, it is still a challenge for people to make decisions which kind of code transforms should be performed. Iterative tuning is a mature method for parameter tuning. It could yield an exciting result with a price of many-times individual evaluation on different sets of compiling optimizations. However, in some scenarios, the price is so high that the iterative method is impracticable. In this paper, a configurable parallel iterative tuning framework is proposed to reduce the time cost of the iterative tuning method. With the help of the multicore parallelization, the pipeline between compilation and execution, programs are evaluated in a more effective way. A prototype system is built based on the TaihuLight supercomputer system. Evaluations on the micro-benchmarks and the real application show that the proposed framework is able to dramatically reduce the time cost of the iterative tuning method without degradation on optimizing capability.