Optimization of an Electromagnetics Code with Multicore Wavefront Diamond Blocking and Multi-dimensional Intra-Tile Parallelization
KAUST DepartmentExtreme Computing Research Center
MetadataShow full item record
AbstractUnderstanding and optimizing the properties of solar cells is becoming a key issue in the search for alternatives to nuclear and fossil energy sources. A theoretical analysis via numerical simulations involves solving Maxwell's Equations in discretized form and typically requires substantial computing effort. We start from a hybrid-parallel (MPI+OpenMP) production code that implements the Time Harmonic Inverse Iteration Method (THIIM) with Finite-Difference Frequency Domain (FDFD) discretization. Although this algorithm has the characteristics of a strongly bandwidth-bound stencil update scheme, it is significantly different from the popular stencil types that have been exhaustively studied in the high performance computing literature to date. We apply a recently developed stencil optimization technique, multicore wavefront diamond tiling with multi-dimensional cache block sharing, and describe in detail the peculiarities that need to be considered due to the special stencil structure. Concurrency in updating the components of the electric and magnetic fields provides an additional level of parallelism. The dependence of the cache size requirement of the optimized code on the blocking parameters is modeled accurately, and an auto-tuner searches for optimal configurations in the remaining parameter space. We were able to completely decouple the execution from the memory bandwidth bottleneck, accelerating the implementation by a factor of three to four compared to an optimal implementation with pure spatial blocking on an 18-core Intel Haswell CPU.
CitationMalas TM, Hornich J, Hager G, Ltaief H, Pflaum C, et al. (2016) Optimization of an Electromagnetics Code with Multicore Wavefront Diamond Blocking and Multi-dimensional Intra-Tile Parallelization. 2016 IEEE International Parallel and Distributed Processing Symposium (IPDPS). Available: http://dx.doi.org/10.1109/IPDPS.2016.87.
SponsorsFor computer time, this research used the resources of the Extreme Computing Research Center (ECRC) at KAUST. The authors thank the ECRC for supporting T. Malas. The authors gratefully acknowledge the support of the Erlangen Graduate School in Advanced Optical Technologies (SAOT) and the Cluster of Excellence “Engineering of Advanced Materials” at the University of Erlangen-Nuremberg, which are both funded by the German Research Foundation (DFG) in the framework of the German excellence initiative. The authors are also grateful for funding provided by the Energy Campus Nuremberg (EnCN, Project “Solarfabrik der Zukunft”).
Conference/Event name30th IEEE International Parallel and Distributed Processing Symposium, IPDPS 2016