Вы находитесь на странице: 1из 1

Electrostatic Finite Element Matrix Population

On Graphics Processing Units


David Abraham, under the supervision of Prof. Dennis D. Giannacopoulos
Department of Electrical and Computer Engineering, McGill University, Montréal, Québec, Canada

INTRODUCTION MATERIALS AND METHODS

Finite element analysis is a method by which approximate solutions to differential equations, To begin, a base simulation utilizing both Matlab R2011a and C was
such as Maxwell’s equations, can be obtained through numerical methods. Traditionally, these written. Matlab was made to handle discretization, triangulation and
simulations have been run on conventional single core processors (CPUs). However, as the matrix solving while the C code handled the matrix population.
complexity and size of computations grow, so do execution times. In order to combat this, focus Simulations were constructed of 4 different sizes, and data was
is now being placed on using graphics processing units (GPUs) and their massive parallel collected in the form of execution times. Control trials were run
architecture to accelerate computations. serially on an Intel i7 Q740 processor running at 1.734 GHz. The
same code in C was then ported to NVIDIA’s CUDA GPU
programming language to be executed in parallel on an NVIDIA
GeForce 310M running at 1.530 GHz.

The above charts demonstrate the breakdown of time spent in the simulation according to the
task being executed for both CPU and GPU simulations.

RESULTS CONCLUSION

The following results were obtained by running 10 simulations and averaging the execution In conclusion, it has been demonstrated that parallelization of electrostatic finite element
times. The plots demonstrate execution times as a function of number of variables, (31 721, 126 analysis matrix population offers significant improvement over its serially executed counterpart.
008, 502 286, 2 005 658) the left plot as an XY scatter and right plot as a bar graph. By utilizing the 16 CUDA cores available in the GPU, a minimum speed up of 3.31 times and a
maximum speed up of 6.07 times for an average of 4.11 times as fast were achieved. GPU use
in these types of computations therefore constitutes a viable option for reduction in
computation times. In order to further explore this topic, the above research may be repeated
using a more sophisticated version of the finite element method. This more sophisticated
version could include 3D computations, sources and higher order element interpolation as
opposed to the simple 1st order triangular homogeneous Laplace solutions obtained here.

ACKNOWLEDGEMENTS
BACKGROUND AND OBJECTIVE
I would like to thank Prof. D. Giannacopoulos for all his help and insight during the course of
When performing a finite element analysis, there are three main steps. The first is to discretize this project, the Faculty of Engineering at McGill for giving me the opportunity to participate
the simulation region into pieces called elements, over which the numerical approximation is and the National Science and Engineering Research Council of Canada for providing funding.
applied. The following step is to compute coupling coefficients on a per element basis and Background image and logos:
populate the problem matrix. The last step is solving the resulting system of equations for the • Intel. (2009, April 1). Intel unveils new badge design. Retrieved August 7, 2012, from Technology@Intel:
unknown potentials. <http://blogs.intel.com/technology/2009/04/intel_unveils_new/>
• Mathworks. (n.d.). EcoCAR2. Retrieved August 7, 2012, from NCSU EcoCAR: <http://ncsuecocar.com/?page_id=64>
• Microsoft. (2008, March 13). Vista Wallpaper. Retrieved August 7, 2012, from CrystalXP: <http://www.crystalxp.net/galerie/en.id.11062-1-vista-
The objective of this project, therefore, is to demonstrate the viability and effectiveness of using wallpaper.html>
• NVIDIA. (2011, December 14). NVIDIA Releases CUDA 4.1. Retrieved August 7, 2012, from AnandTech: <http://www.anandtech.com/show/5238/nvidia-
GPUs in finite element computations by parallelizing the middle step, matrix population. releases-cuda-41-cuda-goes-llvm-and-open-source-kind-of>

Вам также может понравиться