Mailing List picongpu-users@hzdr.de Message #250
From: Axel Huebl <a.huebl@hzdr.de>
Subject: Re: Julia language
Date: Thu, 6 Jul 2017 13:22:40 +0200
To: <picongpu-users@hzdr.de>
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 <picongpu-users@hzdr.de>.
> To unsubscribe, E-mail to: <picongpu-users-off@hzdr.de>
> To switch to the DIGEST mode, E-mail to <picongpu-users-digest@hzdr.de>
> To switch to the INDEX mode, E-mail to <picongpu-users-index@hzdr.de>
> Send administrative queries to  <picongpu-users-request@hzdr.de>
>

--

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
Subscribe (FEED) Subscribe (DIGEST) Subscribe (INDEX) Unsubscribe Mail to Listmaster