Return-Path: Received: from [88.128.80.107] (account huebl@hzdr.de HELO [10.105.151.143]) by hzdr.de (CommuniGate Pro SMTP 6.1.12) with ESMTPSA id 16075123 for picongpu-users@hzdr.de; Sun, 12 Mar 2017 18:16:49 +0100 Subject: Re: comparison to EPOCH To: picongpu-users@hzdr.de References: From: Axel Huebl X-Enigmail-Draft-Status: N1110 Organization: HZDR Message-ID: <2ba899b2-7aba-6fe0-1ea2-e68e7b6c0b8b@hzdr.de> Date: Sun, 12 Mar 2017 16:40:18 +0100 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Dear Andrei, thank you for your question. I will try to give you an overview, since comparing PIC codes can be done on a plethora of aspects, feel free to ask for details anytime. EPOCH and PIConGPU are both open-source (GPL licensed), community driven, explicit particle-in-cell codes. Both approximate/solve the Vlasov equation in via the same particle-mesh algorithm, fields are in both cases discretized in space and time on a regular grid ("cells") and phase space is approximated with discrete (weighted) particles with arbitrary spatial shapes (and discrete momentum). EPOCH is a long standing Fortran Code, with many features such as various boundary conditions, etc. that are useful for certain applications. It is solely CPU parallelized and supports multi-node parallelization with MPI communication. Initially, it was forked from a version of the PSC code. PIConGPU on the other hand is a complete rewrite in modern C++. Our aim is to support arbitrary modern hardware, especially GPUs, with both performance portability between hardware and generic algorithms. We parallelize both multi-node (MPI) and in-node (e.g. CUDA), achieving usually a 10x higher FLOP/s result per node then conventional PIC codes. We are not in all aspects (yet) as feature-rich as EPOCH, but are catching up quickly driven by our main applications: laser-particle acceleration (e-, ions, radiation sources) and general plasma physics/laser-matter modeling. Without going into details of what is implemented already, let me refer you to our README and resources: GitHub README: (please follow the links within) https://github.com/ComputationalRadiationPhysics/picongpu#picongpu---a-many-gpgpu-pic-code Wiki: https://github.com/ComputationalRadiationPhysics/picongpu/wiki New Manual Pages (currently getting started): https://picongpu.readthedocs.io An other aspect is our development circle. We are carrying our full development including new features and project planning out in public on our GitHub page. You don't need to register to get the newest version of the code nor is it locked from your without login. We encourage people to make the code "their own" and add what they need, especially when they are interested to contribute their improvements (models, workflows) back to our "mainline" where we invest time to review and improve your work in an open process. We are also eager to improve not only our small niche of particle-in-cell methods but to think bigger. We are regularly contributing back to other open source projects (CMake, boost, compilers, I/O libraries, post-processing frameworks, ...), develop and establish new methods for PByte-Scale I/O and synthetic (on-the-fly) diagnostics and upcoming hardware generations on the TOP10 of the world. With that, we are reportedly the fastest PIC code in the world since we went open source in 2013. A similar topic are our efforts on driving standardization and exchangeability of data within and accross our community, see openPMD.org for more details. Your question might be: Can I do the same simulation that I did with EPOCH with PIConGPU or vice versa? The answer is a careful "yes" but is in reality always application dependent. If your simulation depends on a technical feature such as "I need thermal boundary conditions" or "I need N lasers from various directions" then PIConGPU might just need to implement it if we have not needed it before. Feel free to ask details! An other question might be: Ok, I like getting simulations done really quick but feature XY is missing. Can I contribute it? You certainly can and we will assist you to get started and guide you where you need support. All the best, Axel On 12.03.2017 14:15, Andrei Ciprian Berceanu wrote: > Hi everyone, > > As a potential new user, I would like to know how PIConGPU compares to > existing PIC codes, in particular to EPOCH > (http://www.ccpp.ac.uk/epoch/epoch_user.pdf). > > Thank you, > > Andrei Berceanu > > > ############################################################# > This message is sent to you because you are subscribed to > the mailing list . > To unsubscribe, E-mail to: > To switch to the DIGEST mode, E-mail to > To switch to the INDEX mode, E-mail to > Send administrative queries to > -- Axel Huebl Phone +49 351 260 3582 https://www.hzdr.de/crp Computational Radiation Physics Laser Particle Acceleration Division Helmholtz-Zentrum Dresden - Rossendorf e.V. Bautzner Landstrasse 400, 01328 Dresden POB 510119, D-01314 Dresden Vorstand: Prof. Dr.Dr.h.c. R. Sauerbrey Prof. Dr.Dr.h.c. P. Joehnk VR 1693 beim Amtsgericht Dresden