{'fraction_non_alphanumeric': 0.017371601208459216, 'fraction_numerical': 0.0015105740181268882, 'mean_word_length': 5.400966183574879, '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}}
Performance evaluation of the multi-device OpenCL FDTD solver

We present results of an evaluation of a multi-device OpenCL FDTD solver. Portability between hardware manufactured by different vendors and also between highly specialized and parallel computing architectures available on the market, i.e. GPUs, multi-core CPUs and devices integrating both technologies in a single-die IC, is the main advantage of this solver. For code execution on GPUs, the computational domain is decomposed along the slowest direction, and electromagnetic field boundary data is shared between neighboring subdomains. The communication overhead between GPUs is proportional to the area of the boundary and represents the rate-limiting step of the method. Utilized hardware devices allow the communication overhead to be hidden by computations for sufficiently large simulation domains, giving a scaling efficiency higher than 90%. CPUs placed in different sockets on a motherboard are visible by the OpenCL driver as a single computing device with an aggregated number of cores, thus decomposition of the domain is not necessary for solver execution on multi-core CPUs. The paper subsequently shows results of numerical tests aimed at evaluation of the developed code in realistic simulations of problems in computational electromagnetics.