The IP 2 L Framework (Independent Parallel Particle Layer) Version 1.0 1 User's Reference Manual

IPL (Independent Parallel Particle Layer) is an object-oriented framework for particle based applications in computational science requiring high-performance parallel computers. One of IPL ’s most attractive features is its high performance on both single-processor and distributed-memory multicomputers machines. As future releases of the library will also support shared-memory multicomputers, IPL ’s authors have had to think very carefully about how to obtain the best possible performance across a wide range of applications on different architectures. IPL is a library of C++ classes designed to represent common abstractions in applications where particles, fields and operators like FFT’s are needed. Application programmers use and derive from these classes, which present a data-parallel programming interface at the highest abstraction layer. Lower, to the user (programmer) hidden implementation layers encapsulate distribution and communication of data among processors. The supported platforms are: Linux based Beowulf clusters, Cray XT5/6, SGI Ultrix and the IBM Blue Gene series. The main goals of the IPL framework includes: 1Release Date: July 3, 2012 V1 .0 Dr aft • Portability across serial, distributed, and parallel architectures with no change to source code • Development of reusable, cross-problem-domain components to enable rapid application development • High efficiency for kernels and components relevant to scientific simulation • Framework design and development driven by applications from a diverse set of scientific problem domains • Shorter time from problem inception to working parallel simulations IPL is currently in development the version here is the first ”developer release”. IPL is inspired and partially based on POOMA r1 designed and implemented by scientists working at the Los Alamos National Laboratory’s Advanced Computing Laboratory. The report is organized as follow: in chapter 1 an introduction based on examples including installation instructions is presented. Chapter 2 and 3 are describing support classes followed by an discussion on 3D parallel FFT’s in IPL . The next two chapters explaining the use of particles and fields. Appendix A F describing design and implementation details of the most important classes in the framework.