دانلود رایگان مقاله پلت فرم برای کد PIC و کاربرد آن در GPU با استفاده از OpenACC

عنوان فارسی
پلت فرم های قابل حمل برای کدهای PIC تسریع شده و کاربرد آن در GPU ها با استفاده از OpenACC
عنوان انگلیسی
A portable platform for accelerated PIC codes and its application to GPUs using OpenACC
صفحات مقاله فارسی
0
صفحات مقاله انگلیسی
14
سال انتشار
2016
نشریه
الزویر - Elsevier
فرمت مقاله انگلیسی
PDF
کد محصول
E3016
رشته های مرتبط با این مقاله
فیزیک
گرایش های مرتبط با این مقاله
فیزیک کاربردی
مجله
ارتباطات کامپیوتر و فیزیک - Computer Physics Communications
دانشگاه
مؤسسه پلیتکنیک فدرال لوزان (EPFL)، مرکز پلاسما سوئیس
کلمات کلیدی
شبیه سازی پلاسما، ذرات در سلول، GPU ،OpenACC Manycore، معماری ترکیبی
چکیده

ABSTRACT


We present a portable platform, called PIC_ENGINE, for accelerating Particle-In-Cell (PIC) codes on heterogeneous many-core architectures such as Graphic Processing Units (GPUs). The aim of this development is efficient simulations on future exascale systems by allowing different parallelization strategies depending on the application problem and the specific architecture. To this end, this platform contains the basic steps of the PIC algorithm and has been designed as a test bed for different algorithmic options and data structures. Among the architectures that this engine can explore, particular attention is given here to systems equipped with GPUs. The study demonstrates that our portable PIC implementation based on the OpenACC programming model can achieve performance closely matching theoretical predictions. Using the Cray XC30 system, Piz Daint, at the Swiss National Supercomputing Centre (CSCS), we show that PIC_ENGINE running on an NVIDIA Kepler K20X GPU can outperform the one on an Intel Sandy bridge 8-core CPU by a factor of 3.4.

نتیجه گیری

7. Conclusions


A hard problem in modern computing is how to deal with legacy codes so that they can benefit from the current and future High Performance Computing (HPC) resources. The challenge became apparent with the advent of hybrid architectures offering massive amounts of multithreading. An integrated programming environment, preferably applicable to both traditional multicore HPC systems as well as to new hybrid CPU/GPU architectures, is therefore key in the quest for exascale computing. The main objective behind our work is the development of a platform, which we refer to as a PIC_ENGINE, for testing the performance of PIC algorithms on hybrid CPU + GPU and many-core platforms CPU + Xeon Phi. This permits a valuable testing ground for the algorithmic choices in a more efficient way than on a full application production code. Of course, depending on the physical application, different algorithms are best suited for different hardware. This paper focuses on CPU/GPU systems. The PIC_ENGINE can be run on the Intel Many Integrated Core architecture (Xeon Phi) as well. Results on the latter architecture are subject to ongoing efforts that will be shown in a separate work. In this paper, we considered a simple Vlasov electrostatic problem in 6D phase space using Cartesian coordinates and linear particle-to-grid interpolations. For the sake of simplicity, the field-solver was not included and particles move into a frozen given electric field. We took the option to rely on the OpenACC programming standard which allows existing HPC applications to be ported to run on one or more GPUs with only modest changes to the original code. It also offers more portability and maintainability for the code base. Most importantly, since the tools for debugging on the CPU are currently better supported, the same code can still be run efficiently on a pure CPU-based system. We focused on single node performance and compared CPU and GPU implementations. An extension to multiple GPUs on a drift-kinetic problem is currently being carried out and will be evaluated in future work.


بدون دیدگاه