One of the oldest uses of High Performance Computing systems is for Finite Element Analysis (FEA). Starting with early mainframes in the 1960’s FEA was a critical technology that was used to design and simulate the behavior of mechanical systems. By breaking up a solid object into smaller elements, applying loads and forces, as well as constraints, the behavior as well as the deformation can be simulated. This is extremely important for almost any object that is being designed. It is critical to understand how much deformation there is for the object or assembly, as well as how much stress and/or strain there will be.
For example, designing a lighter but just as strong assembly is important for systems in the transportation industry. Lighter vehicles mean better gas mileage, but an automobile must also be designed to withstand certain impacts but keeping the occupants safe. Using FEA technologies, more optimized parts and assemblies can be designed.
In the past, running a commercial FEA application was time consuming. With modern systems, the mesh can be more detailed and more physics can be simulated. As the number of cores in a server grew over the past two decades, solvers were re-written to take advantage of the increase in the number of cores that were present. With the introduction of the Intel Scalable System Framework, the Intel Xeon Phi processor can speed up FEA significantly.
Using highly tuned math libraries such as the Intel Math Kernel Library (Intel MKL), FEA applications can rely on these libraries to execute math routines in parallel and on the Intel Xeon Phi processor. There are a number of ways to take advantage of this tremendous computing power.
- Use Intel ML threaded kernels
- Use parallelization across the socket and the sockets within a system or cluster using MPI
- Offload parallelized kernels to the Intel Xeon Phi processor
It is important to understand the algorithms in an application in order to take advantage of this new computing power. In addition to being able to take advantage of highly parallel processing power available today, the ability to write applications that can use these accelerators if present, but can still execute on the main CPU if not present is important for all designers and engineers who use FEA and might be using different systems over the course of a project.