Return-Path: Received: from [149.220.60.110] (account huebl@hzdr.de [149.220.60.110] verified) by hzdr.de (CommuniGate Pro SMTP 6.1.16) with ESMTPSA id 17609348 for picongpu-users@hzdr.de; Thu, 06 Jul 2017 13:22:41 +0200 Subject: Re: Julia language To: picongpu-users@hzdr.de References: From: Axel Huebl X-Enigmail-Draft-Status: N1110 Organization: HZDR Message-ID: Date: Thu, 6 Jul 2017 13:22:40 +0200 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Hi Andrei, awesome question! We are currently aiming for an all-python framework for pre-, main- and post-processing due to the large community around it which heavily intersects with our user-base. One could in principle try to get a similar "PIC framework" up and running using Julia, designing even a JIT-capable base DSL for PIC. This is probably way more comfortable than trying to do the same in modern C++ (with a C++ JIT) or directly as an LLVM frontend. Have we tried this or concrete plans? No, not yet and I would estimate the scope being a fantastic research topic of its own which we currently don't have the resources nor community at hand for. Post-Processing: even today, you can already use the whole Julia environment to post-process our simulation output. We generate fully-documented output in either text [1], HDF5 or ADIOS files [2] which all have language bindings in Julia. We have not yet written domain-specific Julia modules that can assist you on a high-level with, e.g. phase space selections, particle tracking or similar in Julia. If you or the community in general are interested in using Julia as a post-processing language with PIConGPU we will definitely encourage that effort! One thing of particular interest for JIT-ed languages (such as Julia & Python) in the future could be so called "staged" simulations in which one does not create conventional "file output" anymore but streams the complete data from one app over another over another over ... If Julia is of particular interest for the community, the ADIOS2 project [3] would be a good candidate to ask for Julia bindings (just open an issue). Afaik, their current scope is C, C++, Fortran and Python. From the PIConGPU side, we will continue enhancing ADIOS in the openPMD environment as our major HPC I/O strategy. Cheers, Axel [1] https://github.com/ComputationalRadiationPhysics/picongpu/wiki/PIConGPU-Plugins [2] http://openPMD.org https://github.com/openPMD [3] https://github.com/ornladios/ADIOS2 On 06.07.2017 09:48, Andrei Berceanu wrote: > Hi Axel, > > I was wondering, what do you guys think of the Julia language [1]? Are there any plans to use it for the PIC code in the future (or at least for the post-processing part)? > > Thanks, > Andrei > > [1] https://julialang.org > ############################################################# > 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