{'fraction_non_alphanumeric': 0.012263099219620958, 'fraction_numerical': 0.0, 'mean_word_length': 5.507246376811594, '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}}
Extracting parallelism in nested loops

Parallelization of sequential programs primarily focuses on loop structures since the array index variables in a loop usually exhibit data dependency among them. When the data dependency relation is constant in terms of distance, several compile time parallelization methods were introduced. On the other hand, when the data dependency relation varies in distance, the compile time extraction of parallelism is more complicated. We propose a generalized parallelism extraction scheme for nested loops. This method automatically converts a sequential loop into a nested parallel DOALL loop at compile time. Moreover, this algorithm can be applicable where the dependency relation is both constant and varying in distance. Our test results show the proposed scheme is superior to conventional methods when sufficiently large number of processors are provided.