{'fraction_non_alphanumeric': 0.01964133219470538, 'fraction_numerical': 0.0, 'mean_word_length': 6.417721518987341, '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}}
An algorithmic framework for parallelizing vision computations on distributed-memory machines

With advances in processor and networking technologies, current distributed-memory machines can achieve hundreds of Giga Floating-Point Operations Per Second (GFLOPS) of performance. By using such machines, many application problems having regularly structured computations have been successfully parallelized using the explicit message passing paradigm, However, it is difficult to parallelize vision problems having irregularly structured computations. Parallel solutions to these problems are characterized by uneven distribution of symbolic features among the processors, unbalanced workload, and irregular interprocessor data dependency caused by the input image. It is therefore necessary to develop efficient algorithmic techniques to achieve large speed-ups. In this paper, we propose an algorithmic framework to design efficient and portable parallel algorithms for irregular vision problems on distributed-memory machines. Based on this algorithmic framework, we develop techniques for task scheduling, load balancing, and overlapping communication with computation.