{'fraction_non_alphanumeric': 0.013227513227513227, 'fraction_numerical': 0.0, 'mean_word_length': 5.236263736263736, '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 OpenMP Compiler for Hybrid CPU/GPU Computing Architecture

Hybrid CPU/GPU computing architecture has received great attention from the researchers of high performance computing. This new architecture provides higher computation performance than that uses only CPUs for data computation. However, the programming on this computing architecture is not easy for programmers since they have to learn the programming APIs of GPU and handle data communication between CPU and GPU by themselves. To resolve this problem, we propose an OpenMP compiler for hybrid CPU/GPU computing architecture. With the support of the proposed compiler, users can make use of the same OpenMP directives for developing applications on hybrid CPU/GPU computing architecture, and select CPU or GPU to execute different parallel regions in their applications according to the property of each parallel region. We have evaluated the efficiency of the proposed compiler in this paper. Our experimental results show that the execution performance of the test programs created by the proposed compiler is close to that of the programs handwritten by the CUDA API.