The development of computer science techniques has significantly enhanced computational electromagnetic methods in recent years. The multi-core CPU computers and multiple CPU work stations are popular today for scientific research and engineering computing. However, how to achieve the best performance on the existing hardware platforms is a major challenge.
In addition to the multi-core computers and multiple CPU workstations, distributed computing has become a primary trend due to the low cost of the hardware and the high performance of network systems.
In VALU, AVX and GPU Acceleration Techniques for Parallel FDTD Methods, highly complex electromagnetics problems are combined with computer science techniques to show how computational time can be accelerated using little known and understood capabilities built into the computer’s microchips.
This book introduces a general hardware acceleration technique that can significantly speed up FDTD simulations and their applications to engineering problems without requiring any additional hardware devices. This acceleration of complex problems can be efficient in saving both time and money and once learned these new techniques can be used repeatedly.
The authors of this book can be regarded as experts in this topic area, as they have built a successful commercial enterprise based on their superior computer performance in electromagnetics simulations and “number-crunching”.
About the authors
Dr. Wenhua Yu has worked on the topic related to FDTD method, software development techniques, parallel processing techniques and engineering applications for many years. He has also published more than 150 technical papers and 6 books on the parallel FDTD methods and simulation techniques. Dr. Wenhua Yu and Mr. Xiaoling Yang are both primary developers of the GEMS software package and Prof. Wenxing Li is an expert in the computational electromagnetic method, antenna design and electromagnetic compatibility.
The ACES series on Computational Electromagnetics and Engineering strives to offer titles on the development and application of numerical techniques, the use of computation for engineering design and optimization, and the application of commercial modeling tools to practical problems. This book is a valuable addition that should help readers meet the challenges provided by modern hardware, and improve the performance of their codes.
This book will appeal to those readers with an interest in computational electromagnetics– the most complex problems and simulations that are run on computers. Computer engineers tasked with programming and designing processing chips will also find this book useful.
1 Introduction to the Parallel FDTD Method
1.1 FDTD Updated Equations
1.2 Stability Analysis
1.3 Boundary Conditions
1.4 Parallel FDTD Method
2 VALU/AVX Acceleration Techniques
2.1 Introduction to SSE Instructions
2.2 SSE in C and C++
2.3 SSE Programming Examples
2.4 Compile and Execute SSE Code
2.5 VALU Implementation in the FDTD Method
2.6 AVX Instruction Set
2.7 VALU Performance Investigation
3 PML Acceleration Techniques
3.1 Field Update Equations in CPML Layers
3.2 CPML SSE Code Implementation
4 Parallel Processing Techniques
4.1 Single Instruction Single Data
4.2 Single Instruction Multiple Data
4.5 Three-Level Parallel Architecture
5 GPU Acceleration Techniques
5.1 Introduction to GPU Architecture
5.2 Introduction to GPU Acceleration Techniques
5.3 CUDA Implementation of FDTD Method
5.4 Engineering Applications
6 Engineering Applications
6.1 Hardware Platform Description
6.2 Performance Investigation of VALU Acceleration Technique
6.3 Surface Current Calculation Technique
6.4 Helix Antenna Array
6.5 Dielectric Lens
6.6 Vehicle Electromagnetic Analysis
6.7 Helicopter Electromagnetic Analysis
6.8 Finite FSS Analysis
6.9 Curved FSS Analysis
6.10 Microwave Filter Analysis
6.11 Planar Power Divider
6.12 Reverberation Chamber
6.13 Airplane WIFI Analysis
6.14 Waveguide Slot Antenna
7 Cloud Computing Techniques
7.1 Basic Terminologies in Cloud Computing
7.2 Electromagnetic Cloud Example
7.3 Scientific Cloud Computing
7.4 Cloud Computing and Grid Computing